Skip to content

Structural Correction Learning Policy

Cuando se corrige algo porque viola la estructura o convenciones del proyecto — en cualquier contexto (SDD o ad-hoc) — el orchestrador DEBE evaluar si esa regla está capturada en las skills del proyecto.

Trigger

Una corrección se clasifica como "estructural" cuando:

  • El error fue por no seguir una convención de arquitectura (capas, naming, patrones)
  • El error fue por no seguir un patrón establecido del proyecto (multi-tenant, record modes, migrations)
  • El error fue por no seguir estándares de código (PSR-12, ESLint rules, TypeScript strict)
  • El error fue por ignorar una decisión de diseño documentada (ADR, CLAUDE.md de un repo)

NO aplica cuando: El error es lógico (bug funcional), de typo, o de comprensión del requerimiento.

Flujo de evaluación

  1. Identificar la regla violada — ¿Qué convención/patrón/estándar no se respetó?
  2. Buscar skill existente — Consultar el skill-registry (.atl/skill-registry.md) para encontrar la skill más relevante por dominio:
    • Arquitectura backend → bautista-backend-architecture
    • Multi-tenant/schemas → bautista-multi-tenant
    • Migrations → bautista-migrations
    • React/frontend → react-19, code-quality-standards
    • PHP patterns → php-modern, php-slim-framework
    • Testing → phpunit, vitest, tdd-backend-patterns, tdd-frontend-patterns
    • Clean code → clean-code
    • Git/commits → git-conventional-commits, git-workflow
  3. Evaluar si la rule ya existe:
    • Leer el SKILL.md de la skill candidata
    • Revisar su directorio rules/ (si existe)
    • IF la regla ya está documentada → nada que hacer, la corrección fue por no cargar la skill
    • IF la regla NO está documentada → paso 4
  4. Registrar la rule:
    • IF existe skill relevante → Lanzar sub-agente con skill skill-creator para añadir un archivo en rules/ de esa skill y actualizar la referencia en SKILL.md
    • IF no existe skill relevante → Lanzar sub-agente con skill skill-creator para crear una skill nueva con la rule
    • Formato del rule file: H1 título, contexto, código WRONG/CORRECT, checklist
  5. Actualizar skill-registry — Si se creó una skill nueva, lanzar skill-registry para regenerar .atl/skill-registry.md

Regla de delegación: El orchestrador NO escribe rules ni skills directamente — siempre delega a un sub-agente con skill-creator.

En contexto SDD: Si sdd-verify reporta errores estructurales, aplicar este flujo DESPUÉS de las correcciones del Post-Verify Spec Update Gate y ANTES de los documentation gates.