@thatix.io/context-first-agents-cli 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +25 -12
  2. package/dist/commands/create-orchestrator.js +4 -1
  3. package/dist/commands/doctor.js +21 -5
  4. package/dist/commands/init.js +3 -1
  5. package/dist/templates/commands/en/engineer/plan.md +301 -0
  6. package/dist/templates/commands/en/engineer/pr.md +194 -0
  7. package/dist/templates/commands/en/engineer/pre-pr.md +325 -0
  8. package/dist/templates/commands/en/engineer/start.md +285 -0
  9. package/dist/templates/commands/en/engineer/work.md +256 -0
  10. package/dist/templates/commands/en/products/check.md +237 -0
  11. package/dist/templates/commands/en/products/collect.md +170 -0
  12. package/dist/templates/commands/en/products/refine.md +231 -0
  13. package/dist/templates/commands/en/products/spec.md +273 -0
  14. package/dist/templates/commands/en/quality/metrics.md +266 -0
  15. package/dist/templates/commands/en/quality/observe.md +172 -0
  16. package/dist/templates/commands/en/warm-up.md +83 -0
  17. package/dist/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
  18. package/dist/templates/commands/es/agents/implementer.md +27 -0
  19. package/dist/templates/commands/es/agents/integrator.md +24 -0
  20. package/dist/templates/commands/es/agents/reviewer.md +31 -0
  21. package/dist/templates/commands/es/agents/tester.md +22 -0
  22. package/dist/templates/commands/es/engineer/plan.md +335 -0
  23. package/dist/templates/commands/es/engineer/pr.md +228 -0
  24. package/dist/templates/commands/es/engineer/pre-pr.md +359 -0
  25. package/dist/templates/commands/es/engineer/start.md +318 -0
  26. package/dist/templates/commands/es/engineer/work.md +290 -0
  27. package/dist/templates/commands/es/orchestrate.md +125 -0
  28. package/dist/templates/commands/es/products/check.md +271 -0
  29. package/dist/templates/commands/es/products/collect.md +218 -0
  30. package/dist/templates/commands/es/products/refine.md +265 -0
  31. package/dist/templates/commands/es/products/spec.md +306 -0
  32. package/dist/templates/commands/es/quality/metrics.md +300 -0
  33. package/dist/templates/commands/es/quality/observe.md +205 -0
  34. package/dist/templates/commands/es/warm-up.md +83 -0
  35. package/dist/templates/commands/pt-BR/engineer/plan.md +335 -0
  36. package/dist/templates/commands/pt-BR/engineer/pr.md +228 -0
  37. package/dist/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
  38. package/dist/templates/commands/pt-BR/engineer/start.md +319 -0
  39. package/dist/templates/commands/pt-BR/engineer/work.md +290 -0
  40. package/dist/templates/commands/pt-BR/products/check.md +271 -0
  41. package/dist/templates/commands/pt-BR/products/collect.md +219 -0
  42. package/dist/templates/commands/pt-BR/products/refine.md +265 -0
  43. package/dist/templates/commands/pt-BR/products/spec.md +307 -0
  44. package/dist/templates/commands/pt-BR/quality/metrics.md +300 -0
  45. package/dist/templates/commands/pt-BR/quality/observe.md +206 -0
  46. package/dist/templates/commands/pt-BR/warm-up.md +83 -0
  47. package/package.json +1 -1
  48. package/templates/commands/en/engineer/plan.md +301 -0
  49. package/templates/commands/en/engineer/pr.md +194 -0
  50. package/templates/commands/en/engineer/pre-pr.md +325 -0
  51. package/templates/commands/en/engineer/start.md +285 -0
  52. package/templates/commands/en/engineer/work.md +256 -0
  53. package/templates/commands/en/products/check.md +237 -0
  54. package/templates/commands/en/products/collect.md +170 -0
  55. package/templates/commands/en/products/refine.md +231 -0
  56. package/templates/commands/en/products/spec.md +273 -0
  57. package/templates/commands/en/quality/metrics.md +266 -0
  58. package/templates/commands/en/quality/observe.md +172 -0
  59. package/templates/commands/en/warm-up.md +83 -0
  60. package/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
  61. package/templates/commands/es/agents/implementer.md +27 -0
  62. package/templates/commands/es/agents/integrator.md +24 -0
  63. package/templates/commands/es/agents/reviewer.md +31 -0
  64. package/templates/commands/es/agents/tester.md +22 -0
  65. package/templates/commands/es/engineer/plan.md +335 -0
  66. package/templates/commands/es/engineer/pr.md +228 -0
  67. package/templates/commands/es/engineer/pre-pr.md +359 -0
  68. package/templates/commands/es/engineer/start.md +318 -0
  69. package/templates/commands/es/engineer/work.md +290 -0
  70. package/templates/commands/es/orchestrate.md +125 -0
  71. package/templates/commands/es/products/check.md +271 -0
  72. package/templates/commands/es/products/collect.md +218 -0
  73. package/templates/commands/es/products/refine.md +265 -0
  74. package/templates/commands/es/products/spec.md +306 -0
  75. package/templates/commands/es/quality/metrics.md +300 -0
  76. package/templates/commands/es/quality/observe.md +205 -0
  77. package/templates/commands/es/warm-up.md +83 -0
  78. package/templates/commands/pt-BR/engineer/plan.md +335 -0
  79. package/templates/commands/pt-BR/engineer/pr.md +228 -0
  80. package/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
  81. package/templates/commands/pt-BR/engineer/start.md +319 -0
  82. package/templates/commands/pt-BR/engineer/work.md +290 -0
  83. package/templates/commands/pt-BR/products/check.md +271 -0
  84. package/templates/commands/pt-BR/products/collect.md +219 -0
  85. package/templates/commands/pt-BR/products/refine.md +265 -0
  86. package/templates/commands/pt-BR/products/spec.md +307 -0
  87. package/templates/commands/pt-BR/quality/metrics.md +300 -0
  88. package/templates/commands/pt-BR/quality/observe.md +206 -0
  89. package/templates/commands/pt-BR/warm-up.md +83 -0
@@ -0,0 +1,290 @@
1
+ # Ejecución del Trabajo
2
+
3
+ Este comando ejecuta una unidad de trabajo en el workspace actual, implementando parte del plan técnico.
4
+
5
+ ## 📋 Requisitos Previos
6
+
7
+ Antes de ejecutar, asegúrese de que:
8
+ - Ha ejecutado `/start` y `/plan` para obtener el plan técnico
9
+ - Está en el workspace correcto: `<orchestrator>/.sessions/<ISSUE-ID>/`
10
+ - Tiene disponibles los archivos `.sessions/<ISSUE-ID>/`:
11
+ - `context.md` (inmutable)
12
+ - `architecture.md` (inmutable)
13
+ - `plan.md` (mutable)
14
+
15
+ ## 📋 Configuración del Proyecto
16
+
17
+ **⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
18
+
19
+ ### Archivos Obligatorios
20
+
21
+ 1. **`context-manifest.json`** (raíz del orchestrator)
22
+ - Lista de repositorios del proyecto
23
+ - Roles de cada repositorio (metaspecs, application, etc.)
24
+ - URLs y dependencias entre repositorios
25
+
26
+ 2. **`ai.properties.md`** (raíz del orchestrator)
27
+ - Configuraciones del proyecto (`project_name`, `base_path`)
28
+ - Sistema de gestión de tareas (`task_management_system`)
29
+ - Credenciales y configuraciones específicas
30
+
31
+ ### Cómo Leer
32
+
33
+ ```bash
34
+ # 1. Leer context-manifest.json
35
+ cat context-manifest.json
36
+
37
+ # 2. Leer ai.properties.md
38
+ cat ai.properties.md
39
+ ```
40
+
41
+ ### Información Esencial
42
+
43
+ Después de leer los archivos, tendrá:
44
+ - ✅ Lista completa de repositorios del proyecto
45
+ - ✅ Ubicación del repositorio de metaspecs
46
+ - ✅ Base path para localizar repositorios
47
+ - ✅ Sistema de gestión de tareas configurado
48
+ - ✅ Configuraciones específicas del proyecto
49
+
50
+ **🛑 NO continúe sin leer estos archivos!** ¡Contienen información crítica para la correcta ejecución del comando!
51
+
52
+
53
+ ## 📍 IMPORTANTE: Entienda la Estructura
54
+
55
+ **Workspace** (donde trabaja):
56
+ ```
57
+ <orchestrator>/.sessions/<ISSUE-ID>/
58
+ ├── repo-1/ # worktree con branch feature/<ISSUE-ID>
59
+ ├── repo-2/ # worktree con branch feature/<ISSUE-ID>
60
+ ├── context.md # contexto (inmutable)
61
+ ├── architecture.md # arquitectura (inmutable)
62
+ └── plan.md # plan (mutable)
63
+ ```
64
+
65
+ **Repositorios principales** (NO tocar):
66
+ ```
67
+ {base_path}/repo-1/ # repo principal (branch main/master)
68
+ {base_path}/repo-2/ # repo principal (branch main/master)
69
+ ```
70
+
71
+ **REGLA DE ORO**:
72
+ - ✅ Trabaje SOLO dentro de `<orchestrator>/.sessions/<ISSUE-ID>/`
73
+ - ✅ Haga commits en los worktrees dentro del workspace
74
+ - ❌ NUNCA haga checkout en los repositorios principales
75
+ - ❌ NUNCA navegue a `{base_path}/{repo-id}/`
76
+
77
+ ## 🛑 CRÍTICO: DÓNDE CREAR CÓDIGO
78
+
79
+ **⚠️ ATENCIÓN: TODO CÓDIGO DEBE SER CREADO DENTRO DEL WORKTREE DEL REPOSITORIO!**
80
+
81
+ **✅ CORRECTO** - Crear código dentro del worktree:
82
+ ```
83
+ <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/src/file.ts ✅
84
+ <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/tests/test.ts ✅
85
+ <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/package.json ✅
86
+ ```
87
+
88
+ **❌ INCORRECTO** - NUNCA crear código directamente en .sessions:
89
+ ```
90
+ <orchestrator>/.sessions/src/file.ts ❌
91
+ <orchestrator>/.sessions/<ISSUE-ID>/src/file.ts ❌
92
+ <orchestrator>/.sessions/<ISSUE-ID>/file.ts ❌
93
+ ```
94
+
95
+ **REGLA ABSOLUTA**:
96
+ - 🛑 **TODO archivo de código** (`.ts`, `.js`, `.py`, `.java`, etc.) **DEBE estar dentro de** `<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/`
97
+ - 🛑 **NUNCA cree código** directamente en `<orchestrator>/.sessions/` o `<orchestrator>/.sessions/<ISSUE-ID>/`
98
+ - ✅ **Único lugar válido**: Dentro del worktree del repositorio específico
99
+
100
+ ## ⚠️ IMPORTANTE: Archivos Inmutables
101
+
102
+ **Este comando debe LEER pero NO MODIFICAR:**
103
+ - ✅ **LEER** `.sessions/<ISSUE-ID>/context.md` (inmutable)
104
+ - ✅ **LEER** `.sessions/<ISSUE-ID>/architecture.md` (inmutable)
105
+ - ✅ **ACTUALIZAR** `.sessions/<ISSUE-ID>/plan.md` (marcar progreso)
106
+ - ✅ **IMPLEMENTAR** código **DENTRO DEL WORKTREE**: `.sessions/<ISSUE-ID>/<repo-name>/`
107
+ - ✅ **HACER COMMITS** en los worktrees: `.sessions/<ISSUE-ID>/<repo-name>/`
108
+ - ❌ **NO modificar `context.md` o `architecture.md`**
109
+ - ❌ **NO hacer checkout de branches en los repositorios principales (fuera del workspace)**
110
+ - 🛑 **NUNCA crear código en `.sessions/` o `.sessions/<ISSUE-ID>/` directamente**
111
+
112
+ ## 📚 Cargar MetaSpecs
113
+
114
+ **Localizar MetaSpecs automáticamente**:
115
+ 1. Lea `context-manifest.json` del orchestrator
116
+ 2. Encuentre el repositorio con `"role": "metaspecs"`
117
+ 3. Lea `ai.properties.md` para obtener el `base_path`
118
+ 4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
119
+ 5. Lea los archivos `index.md` relevantes durante la implementación para:
120
+ - Seguir patrones de código
121
+ - Respetar arquitectura definida
122
+ - Usar convenciones correctas
123
+
124
+ ## 🎯 Objetivo
125
+
126
+ Implementar una unidad de trabajo específica del plan, que puede involucrar:
127
+ - Crear nuevos archivos/componentes
128
+ - Modificar archivos existentes
129
+ - Añadir pruebas
130
+ - Actualizar documentación
131
+
132
+ ## 📝 Proceso de Trabajo
133
+
134
+ **⚠️ IMPORTANTE: CONTROL DE PROGRESO**
135
+
136
+ Este comando ejecuta el trabajo en **fases incrementales**. Después de completar cada **FASE PRINCIPAL** (ej: Fase 1 → Fase 2):
137
+
138
+ 1. 🛑 **PARE** la ejecución
139
+ 2. 📊 **PRESENTE** un resumen de lo realizado
140
+ 3. ❓ **PREGUNTE** al desarrollador si desea:
141
+ - Revisar el código implementado
142
+ - Hacer ajustes antes de continuar
143
+ - Continuar a la siguiente fase
144
+
145
+ **IMPORTANTE**:
146
+ - ✅ **PAUSE** entre fases principales (Fase 1 → Fase 2 → Fase 3)
147
+ - ❌ **NO pause** entre subfases (Fase 1.1 → Fase 1.2 → Fase 1.3)
148
+
149
+ **NO implemente todo de una vez**. Trabaje fase principal por fase principal, esperando confirmación del desarrollador.
150
+
151
+ ---
152
+
153
+ ### 1. Identificar Unidad de Trabajo
154
+
155
+ Basado en el plan técnico (`./.sessions/<ISSUE-ID>/plan.md`), identifique:
156
+ - Qué tarea específica se implementará ahora
157
+ - En cuál(es) repositorio(s) del workspace
158
+ - Qué archivos serán creados/modificados
159
+ - Dependencias con otras tareas
160
+
161
+ ### 2. Implementación
162
+
163
+
164
+
165
+ **IMPORTANTE**: Trabaje SOLO dentro del workspace en `.sessions/<ISSUE-ID>/`
166
+
167
+ Para cada repositorio en el workspace:
168
+
169
+ ```bash
170
+ # Navegue al worktree dentro del workspace
171
+ cd <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/
172
+
173
+ # Verifique que está en la rama correcta
174
+ git branch # debe mostrar * feature/<ISSUE-ID>
175
+
176
+ # Implemente el código aquí
177
+ ```
178
+
179
+ Ejecute la implementación siguiendo:
180
+ - **Patrones del proyecto**: Consulte guías de estilo y arquitectura
181
+ - **Stack aprobada**: Use solo tecnologías documentadas en metaspecs
182
+ - **Pruebas**: Implemente pruebas conforme a los patrones del proyecto
183
+ - **Documentación**: Actualice comentarios y docs cuando sea necesario
184
+
185
+
186
+
187
+ ### 3. Validación Local
188
+
189
+ Antes de commitear:
190
+ - Ejecute pruebas unitarias/integración
191
+ - Verifique linting y formato
192
+ - Confirme que no rompió funcionalidades existentes
193
+
194
+
195
+
196
+ ### 4. Commit
197
+
198
+ Para cada repositorio modificado **dentro del workspace**:
199
+
200
+ ```bash
201
+ # Navegue al worktree dentro del workspace
202
+ cd <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/
203
+
204
+ # Añada los cambios
205
+ git add .
206
+
207
+ # Commit
208
+ git commit -m "tipo: descripción concisa
209
+
210
+ - Detalle 1
211
+ - Detalle 2
212
+
213
+ Refs: <ISSUE-ID>"
214
+ ```
215
+
216
+ **Tipos de commit**: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
217
+
218
+ **⚠️ PAUSA OBLIGATORIA**: Después de completar TODA la fase principal (identificación + implementación + validación + commit + actualización del plan.md), **PARE** y muestre al desarrollador:
219
+ - Resumen completo de la fase
220
+ - Archivos creados/modificados
221
+ - Commits realizados
222
+ - Pregunte si desea revisar o continuar a la siguiente fase
223
+
224
+ ### 5. Actualización del Plan.md
225
+
226
+ **POR CADA tarea completada**, actualice `./.sessions/<ISSUE-ID>/plan.md`:
227
+
228
+ ```markdown
229
+ #### 1.1 - [Nombre de la Tarea] [Completada ✅]
230
+ - [Detalle 1]
231
+ - [Detalle 2]
232
+ - [Detalle 3]
233
+
234
+ **Archivos**:
235
+ - `path/to/file1.ts` ✅
236
+ - `path/to/file2.vue` ✅
237
+
238
+ **Pruebas**:
239
+ - Unit test: [Descripción] ✅
240
+ - Integration test: [Descripción] ✅
241
+
242
+ **Comentarios**:
243
+ - Decisión: [Explicación de decisión técnica importante]
244
+ - Aprendizaje: [Algo aprendido durante implementación]
245
+ ```
246
+
247
+ **Marque estado de las tareas**:
248
+ - `[No Iniciada ⏳]` - Tarea aún no comenzada
249
+ - `[En Progreso ⏰]` - Tarea en curso
250
+ - `[Completada ✅]` - Tarea finalizada y validada
251
+
252
+ ## 🔍 Checklist de Calidad
253
+
254
+ Antes de considerar la unidad completa:
255
+ - [ ] Código implementado y probado
256
+ - [ ] Pruebas pasando
257
+ - [ ] Linting/formato OK
258
+ - [ ] Documentación actualizada (si es necesario)
259
+ - [ ] Commit realizado en todos los repositorios afectados
260
+ - [ ] `plan.md` actualizado con progreso y comentarios
261
+
262
+ ## ⚠️ Principio Jidoka
263
+
264
+ Si encuentra problemas durante la implementación:
265
+ 1. 🛑 **PARE** la implementación
266
+ 2. 📝 **DOCUMENTE** el problema encontrado
267
+ 3. 💬 **ALERTE** al usuario y discuta soluciones
268
+ 4. 🔄 **AJUSTE** el plan si es necesario
269
+
270
+ ---
271
+
272
+ **Argumentos proporcionados**:
273
+
274
+ ```
275
+ #$ARGUMENTS
276
+ ```
277
+
278
+ ---
279
+
280
+ ## 🎯 Próximos Pasos
281
+
282
+ - **Continuar implementación**: Ejecute `/work` nuevamente para la próxima unidad
283
+ - **Finalizar feature**: Cuando todo esté implementado, ejecute `/pre-pr`
284
+
285
+ ## 💡 Consejos
286
+
287
+ - Trabaje en unidades pequeñas e incrementales
288
+ - Commit frecuente (commits atómicos)
289
+ - Documente decisiones importantes en la sesión
290
+ - Mantenga los repositorios sincronizados entre sí
@@ -0,0 +1,125 @@
1
+ # /orchestrate — Orquestación de Agentes Efímeros Dinámicos
2
+
3
+ Eres el **Orquestador**. Tu tarea es convertir una spec aprobada en el **grafo mínimo de
4
+ agentes efímeros y especializados** y coordinar su ejecución — en vez de correr un único
5
+ agente monolítico sobre un contexto gigante compartido.
6
+
7
+ Este comando REEMPLAZA el flujo lineal `start → plan → work` por un grafo que el runtime
8
+ deriva automáticamente. `/plan` y `/work` pueden seguir existiendo como escape hatches manuales.
9
+
10
+ **Argumento**: `#$ARGUMENTS` (un ISSUE-ID y/o la ruta a un archivo de spec/task).
11
+
12
+ ---
13
+
14
+ ## Reglas de oro
15
+
16
+ - ✅ Lee `context-manifest.json` + `ai.properties.md` del orquestador.
17
+ - ✅ El contexto del propio Orquestador se mantiene LIGERO: coordinas, no implementas.
18
+ - ✅ Cada unidad de trabajo la hace un **subagente (Task tool)** con un **contrato de contexto aislado**.
19
+ - ✅ Nunca crees un catálogo de agentes de dominio (nada de `frontend-agent`, `payments-agent`).
20
+ Un worker se compila al vuelo: `arquetipo + objetivo + repositorio + contrato de contexto + herramientas`.
21
+ - ❌ Nunca vuelques repositorios enteros en un subagente. Selecciona, no vuelques.
22
+ - ❌ Nunca dejes que un subagente modifique specs normativas.
23
+
24
+ ---
25
+
26
+ ## Paso 1 — Cargar configuración
27
+
28
+ 1. Lee `context-manifest.json`. Extrae `repositories[]` (cada uno con `id`, `role`,
29
+ `hints`, opcionalmente `context`, `testCommand`, `mainBranch`) y el bloque
30
+ `orchestration` (`archetypes`, `riskSignals`, `parallelism`, `contextPolicy`,
31
+ `maxFilesPerWorker`, `indexes`).
32
+ 2. Lee `ai.properties.md` para `base_path` y la config del task manager (si existe).
33
+ 3. Localiza el repo de specs: el repositorio con `role: metaspecs` (o `specs-provider`).
34
+
35
+ ## Paso 2 — Cargar la spec
36
+
37
+ - Si hay task manager y el argumento es un ISSUE-ID, lee el issue vía el MCP apropiado.
38
+ Si no, lee el archivo de spec pasado como argumento, o pídeselo al usuario.
39
+ - Lee los `orchestration.indexes` relevantes (los routers de contexto) para ubicarte.
40
+ NO leas todo el codebase — aquí sólo clasificas y ruteas.
41
+
42
+ ## Paso 3 — Clasificar complejidad (reglas determinísticas)
43
+
44
+ Calcula sobre el texto de la spec:
45
+
46
+ - **repoHits** = nº de repositorios cuyo `id` O algún `hint` aparece en la spec.
47
+ - **risks** = nº de `orchestration.riskSignals` que aparecen en la spec.
48
+ - Si el frontmatter de la spec define `complexity: simple|medium|complex`, úsalo tal cual.
49
+
50
+ En caso contrario:
51
+
52
+ | Condición | Nivel |
53
+ |---|---|
54
+ | `repoHits ≥ 3` O `risks ≥ 2` O spec muy grande | **complex** |
55
+ | `repoHits ≥ 2` O `risks ≥ 1` O spec moderadamente grande | **medium** |
56
+ | en caso contrario | **simple** |
57
+
58
+ Declara la clasificación y el motivo explícitamente antes de continuar.
59
+
60
+ ## Paso 4 — Construir el grafo de ejecución (DAG)
61
+
62
+ Instancia workers desde `orchestration.archetypes`. Cada nodo tiene:
63
+ `{ id, archetype, objective, repository, dependsOn[], contextHints[] }`.
64
+
65
+ - **simple**
66
+ - `W1 implementer` en el único repo impactado
67
+ - `W2 reviewer` (dependsOn W1) — verificar contra la spec normativa
68
+
69
+ - **medium**
70
+ - un `implementer` por repo impactado (corren en **paralelo**, sin deps entre sí)
71
+ - `integrator` (dependsOn todos los implementers) — chequear contratos/consistencia cross-repo
72
+ - `tester` (dependsOn integrator) — correr el `testCommand` de cada repo
73
+
74
+ - **complex** = medium, más:
75
+ - `reviewer` (dependsOn integrator) — review **adversarial** de reglas de negocio,
76
+ seguridad, migraciones y premisas ocultas. Prefiere un reviewer especializado si los
77
+ riskSignals lo indican (ej.: datos, integraciones, multi-tenant).
78
+
79
+ Respeta `parallelism.maxWorkers` y `maxPerRepository`. Si los repos impactados exceden el
80
+ límite, hazlos por lotes y avísalo — nunca descartes un repo silenciosamente.
81
+
82
+ Renderiza el grafo como una tabla corta (id, archetype, repo, dependsOn) y **pide
83
+ aprobación del usuario** antes de spawnear cualquier cosa.
84
+
85
+ ## Paso 5 — Compilar un Contrato de Contexto por nodo
86
+
87
+ Para cada worker, arma el contrato que se pegará en el prompt del subagente.
88
+ Ver `agents/CONTEXT-CONTRACT.md` para el formato exacto. En resumen:
89
+
90
+ - **read**: `orchestration.indexes` + el `context[]` de ese repo (sólo archivos que existen)
91
+ - **mayDiscover**: referencias alcanzables desde los índices; archivos del repo que la task exige
92
+ - **mustNotAssume**: reglas de negocio no dichas; contratos externos no indexados; nada fuera de la spec
93
+ - **writeBoundary**: sólo el worktree de ese repo (o artefactos de la sesión para integrator/tester)
94
+ - **limits**: `contextPolicy` (por defecto `select-do-not-dump`), `maxFilesPerWorker`
95
+ - **return**: summary, changes, evidence, tests, unresolved, confidence
96
+
97
+ ## Paso 6 — Spawnear los agentes efímeros (Task tool)
98
+
99
+ Ejecuta el DAG respetando `dependsOn`:
100
+
101
+ 1. **Ola paralela**: spawnea todos los nodos con dependencias satisfechas **en un único
102
+ mensaje con múltiples llamadas Task**, para que corran concurrentemente. Dale a cada
103
+ subagente SÓLO su contrato compilado + objetivo — nunca la conversación entera.
104
+ 2. Espera a que la ola termine. Recolecta el retorno estructurado de cada subagente.
105
+ 3. **Siguiente ola**: spawnea los nodos cuyas dependencias ya están satisfechas. Repite.
106
+
107
+ Usa las plantillas de arquetipo en `agents/` (implementer, reviewer, integrator, tester…)
108
+ como marco de cada subagente, rellenadas con objetivo, repositorio y contrato.
109
+
110
+ Cada subagente es **efímero**: hace su trabajo acotado, retorna el reporte, y su contexto
111
+ se descarta. El Orquestador sólo guarda los reportes.
112
+
113
+ ## Paso 7 — Integrar y reportar
114
+
115
+ - Persiste artefactos en `.sessions/<ISSUE-ID>/`:
116
+ `execution-plan.md` (el DAG) y `workers/<agent-id>.md` (contrato + retorno de cada uno).
117
+ - Resume: qué cambió por repo, evidencias, tests corridos, preguntas abiertas y cualquier
118
+ repo que quedó en lote/diferido.
119
+ - Si un `reviewer` retornó hallazgos bloqueantes, NO sigas a PR — muéstralos y pregunta al
120
+ usuario cómo proceder.
121
+
122
+ ## Escalación
123
+
124
+ Si un subagente llega a un stop Jidoka (ambigüedad, conflicto de spec, contrato faltante),
125
+ debe retornar `unresolved` en vez de adivinar. Súbelo al usuario en vez de empujar.
@@ -0,0 +1,271 @@
1
+ # Validación contra MetaSpecs
2
+
3
+ Este comando valida requisitos, decisiones o implementaciones contra las metaspecs del proyecto.
4
+
5
+ ## ⚠️ IMPORTANTE: Modo de Operación
6
+
7
+ **Este comando es para VALIDACIÓN:**
8
+ - ✅ Validar contra metaspecs
9
+ - ✅ **LEER** archivos de los repositorios (solo lectura)
10
+ - ✅ Generar informe de validación
11
+ - ❌ **NO hacer checkout de branches en los repositorios principales**
12
+ - ❌ **NO modificar código**
13
+ - ❌ **NO modificar `context.md` o `architecture.md`**
14
+
15
+ ## 📋 Configuración del Proyecto
16
+
17
+ **⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
18
+
19
+ ### Archivos Obligatorios
20
+
21
+ 1. **`context-manifest.json`** (raíz del orchestrator)
22
+ - Lista de repositorios del proyecto
23
+ - Roles de cada repositorio (metaspecs, application, etc.)
24
+ - URLs y dependencias entre repositorios
25
+
26
+ 2. **`ai.properties.md`** (raíz del orchestrator)
27
+ - Configuraciones del proyecto (`project_name`, `base_path`)
28
+ - Sistema de gestión de tareas (`task_management_system`)
29
+ - Credenciales y configuraciones específicas
30
+
31
+ ### Cómo Leer
32
+
33
+ ```bash
34
+ # 1. Leer context-manifest.json
35
+ cat context-manifest.json
36
+
37
+ # 2. Leer ai.properties.md
38
+ cat ai.properties.md
39
+ ```
40
+
41
+ ### Información Esencial
42
+
43
+ Después de leer los archivos, tendrá:
44
+ - ✅ Lista completa de repositorios del proyecto
45
+ - ✅ Ubicación del repositorio de metaspecs
46
+ - ✅ Base path para localizar repositorios
47
+ - ✅ Sistema de gestión de tareas configurado
48
+ - ✅ Configuraciones específicas del proyecto
49
+
50
+ **🛑 NO continúe sin leer estos archivos!** Contienen información crítica para la correcta ejecución del comando.
51
+
52
+
53
+ ## 🎯 Objetivo
54
+
55
+ Garantizar alineación con:
56
+ - Estrategia de producto
57
+ - Arquitectura técnica
58
+ - Estándares y convenciones
59
+ - ADRs (Architecture Decision Records)
60
+
61
+ ## 📋 Cuándo Usar
62
+
63
+ Ejecute este comando:
64
+ - Después de `/spec` - validar PRD
65
+ - Después de `/plan` - validar plan técnico
66
+ - Durante `/work` - validar decisiones de implementación
67
+ - Antes de `/pr` - validación final
68
+
69
+ ## 📚 Cargar MetaSpecs
70
+
71
+ **Localizar MetaSpecs automáticamente**:
72
+ 1. Lea `context-manifest.json` del orchestrator
73
+ 2. Encuentre el repositorio con `"role": "metaspecs"`
74
+ 3. Lea `ai.properties.md` para obtener el `base_path`
75
+ 4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
76
+
77
+ ## 🔍 Proceso de Validación
78
+
79
+ ### 1. Identificar MetaSpecs Disponibles
80
+
81
+ Navegue hasta el directorio de metaspecs e identifique qué metaspecs existen:
82
+
83
+ ```bash
84
+ ls -la {base_path}/{metaspecs-repo-id}/
85
+ ```
86
+
87
+ ### 2. Validación de Negocio
88
+
89
+ Si existen metaspecs de negocio (`repositorio de MetaSpecs (sección de negocio)`):
90
+
91
+ ```markdown
92
+ ## Validación de Negocio
93
+
94
+ ### Estrategia de Producto
95
+ - **Archivo**: `repositorio de MetaSpecs (sección de negocio)PRODUCT_STRATEGY.md`
96
+ - **Validación**: [¿Esta feature está alineada con la estrategia?]
97
+ - **Estado**: ✅ Alineado / ⚠️ Parcialmente / ❌ Desalineado
98
+ - **Notas**: [Observaciones]
99
+
100
+ ### Personas
101
+ - **Archivo**: `repositorio de MetaSpecs (sección de negocio)CUSTOMER_PERSONAS.md`
102
+ - **Validación**: [¿Atiende a la persona correcta?]
103
+ - **Estado**: ✅ Alineado / ⚠️ Parcialmente / ❌ Desalineado
104
+ - **Notas**: [Observaciones]
105
+
106
+ ### Métricas
107
+ - **Archivo**: `repositorio de MetaSpecs (sección de negocio)PRODUCT_METRICS.md`
108
+ - **Validación**: [¿Métrica de éxito está documentada?]
109
+ - **Estado**: ✅ Alineado / ⚠️ Parcialmente / ❌ Desalineado
110
+ - **Notas**: [Observaciones]
111
+ ```
112
+
113
+ ### 3. Validación Técnica
114
+
115
+ Si existen metaspecs técnicas (`repositorio de MetaSpecs (sección técnica)`):
116
+
117
+ ```markdown
118
+ ## Validación Técnica
119
+
120
+ ### Stack Tecnológica
121
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)meta/stack.md`
122
+ - **Validación**: [¿Usa solo tecnologías aprobadas?]
123
+ - **Estado**: ✅ Conforme / ⚠️ Excepción justificada / ❌ No conforme
124
+ - **Notas**: [Tecnologías usadas y justificaciones]
125
+
126
+ ### Arquitectura
127
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)ARCHITECTURE.md`
128
+ - **Validación**: [¿Sigue patrones arquitectónicos?]
129
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
130
+ - **Notas**: [Observaciones]
131
+
132
+ ### ADRs (Architecture Decision Records)
133
+ - **Directorio**: `repositorio de MetaSpecs (sección técnica)adr/`
134
+ - **Validación**: [¿Respeta decisiones arquitectónicas documentadas?]
135
+ - **ADRs Relevantes**: [Lista de ADRs verificados]
136
+ - **Estado**: ✅ Conforme / ⚠️ Conflicto menor / ❌ Conflicto crítico
137
+ - **Notas**: [Observaciones]
138
+
139
+ ### Reglas de Negocio
140
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)BUSINESS_LOGIC.md`
141
+ - **Validación**: [¿Implementa reglas de negocio correctamente?]
142
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
143
+ - **Notas**: [Observaciones]
144
+ ```
145
+
146
+ ### 4. Validación de Estándares
147
+
148
+ ```markdown
149
+ ## Validación de Estándares
150
+
151
+ ### Código
152
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)CODE_STANDARDS.md`
153
+ - **Validación**: [¿Sigue estándares de código?]
154
+ - **Estado**: ✅ Conforme / ⚠️ Pequeñas desviaciones / ❌ No conforme
155
+
156
+ ### Pruebas
157
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)TEST_STANDARDS.md`
158
+ - **Validación**: [¿Estrategia de pruebas adecuada?]
159
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
160
+
161
+ ### Documentación
162
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)DOC_STANDARDS.md`
163
+ - **Validación**: [¿Documentación adecuada?]
164
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
165
+ ```
166
+
167
+ ### 5. Identificación de Conflictos
168
+
169
+ Si hay conflictos o desalineamientos:
170
+
171
+ ```markdown
172
+ ## Conflictos Identificados
173
+
174
+ ### Conflicto 1: [Descripción]
175
+ - **Severidad**: Crítico / Alto / Medio / Bajo
176
+ - **Metaspec**: [Archivo que está siendo violado]
177
+ - **Descripción**: [Detalle del conflicto]
178
+ - **Recomendación**: [Cómo resolver]
179
+
180
+ ### Conflicto 2: [Descripción]
181
+ [Mismo formato arriba]
182
+ ```
183
+
184
+ ### 6. Excepciones Justificadas
185
+
186
+ Si hay desviaciones justificadas:
187
+
188
+ ```markdown
189
+ ## Excepciones Justificadas
190
+
191
+ ### Excepción 1: [Descripción]
192
+ - **Metaspec**: [Archivo que está siendo desviado]
193
+ - **Desvío**: [Qué está diferente]
194
+ - **Justificación**: [Por qué es necesario]
195
+ - **Aprobación**: [Quién aprobó]
196
+ - **Documentación**: [Dónde fue documentado]
197
+ ```
198
+
199
+ ## 📄 Guardado del Informe de Validación
200
+
201
+ **PRIORIDAD 1: Usar MCP (Model Context Protocol)**
202
+
203
+ - Lea `ai.properties.md` del orchestrator para identificar el `task_management_system`
204
+ - Use el MCP apropiado para añadir el informe a la issue:
205
+ - Añada como comentario en la issue
206
+ - Actualice labels/tags según resultado (ej: "validated", "needs-adjustment", "blocked")
207
+ - Si hay conflictos críticos, actualice el estado de la issue
208
+ - Informe al usuario: "✅ Informe de validación añadido a la issue [ID]"
209
+
210
+ **FALLBACK: Crear archivo .md solo si MCP falla**
211
+
212
+ Si el MCP no está disponible o falla, cree `./.sessions/<ISSUE-ID>/check-report.md`:
213
+
214
+ ```markdown
215
+ # Informe de Validación - [ISSUE-ID]
216
+
217
+ **Fecha**: [fecha/hora]
218
+ **Fase**: [spec/plan/work/pre-pr]
219
+
220
+ ## Estado General
221
+ ✅ Validado / ⚠️ Validado con reservas / ❌ No validado
222
+
223
+ ## Validaciones Realizadas
224
+ - Negocio: ✅ / ⚠️ / ❌
225
+ - Técnica: ✅ / ⚠️ / ❌
226
+ - Estándares: ✅ / ⚠️ / ❌
227
+
228
+ ## Conflictos
229
+ [Lista de conflictos, si los hay]
230
+
231
+ ## Excepciones
232
+ [Lista de excepciones justificadas, si las hay]
233
+
234
+ ## Recomendaciones
235
+ 1. [Recomendación 1]
236
+ 2. [Recomendación 2]
237
+
238
+ ## Aprobación
239
+ - [ ] Aprobado para continuar
240
+ - [ ] Requiere ajustes
241
+ - [ ] Bloqueado
242
+ ```
243
+
244
+ Informe al usuario: "⚠️ Informe guardado localmente en .sessions/ (gestor de tareas no disponible)"
245
+
246
+ ## 🚨 Acción en Caso de Conflictos
247
+
248
+ Si se encuentran conflictos críticos:
249
+ 1. 🛑 **DETENGA** el proceso actual
250
+ 2. 📝 **DOCUMENTE** todos los conflictos
251
+ 3. 💬 **ALERTE** al usuario y stakeholders
252
+ 4. **Vía MCP**: Actualice el estado de la issue a "Bloqueado" o "Requiere Ajustes"
253
+ 5. 🔄 **AJUSTE** el plan/implementación según sea necesario
254
+ 6. ✅ **REVALIDE** tras los ajustes
255
+
256
+ ---
257
+
258
+ **Argumentos proporcionados**:
259
+
260
+ ```
261
+ #$ARGUMENTS
262
+ ```
263
+
264
+ ---
265
+
266
+ ## 🎯 Resultado
267
+
268
+ Después de la validación:
269
+ - Si ✅: Continúe a la siguiente fase
270
+ - Si ⚠️: Documente reservas y continúe con aprobación
271
+ - Si ❌: Corrija conflictos antes de continuar