Appearance
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
- Identificar la regla violada — ¿Qué convención/patrón/estándar no se respetó?
- 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
- Arquitectura backend →
- 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
- Registrar la rule:
- IF existe skill relevante → Lanzar sub-agente con skill
skill-creatorpara añadir un archivo enrules/de esa skill y actualizar la referencia en SKILL.md - IF no existe skill relevante → Lanzar sub-agente con skill
skill-creatorpara crear una skill nueva con la rule - Formato del rule file: H1 título, contexto, código WRONG/CORRECT, checklist
- IF existe skill relevante → Lanzar sub-agente con skill
- Actualizar skill-registry — Si se creó una skill nueva, lanzar
skill-registrypara 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.