elsabro 2.1.0 → 2.2.0
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.
- package/commands/elsabro/add-phase.md +17 -0
- package/commands/elsabro/add-todo.md +111 -53
- package/commands/elsabro/audit-milestone.md +19 -0
- package/commands/elsabro/check-todos.md +210 -31
- package/commands/elsabro/complete-milestone.md +20 -1
- package/commands/elsabro/debug.md +19 -0
- package/commands/elsabro/discuss-phase.md +18 -1
- package/commands/elsabro/execute.md +288 -12
- package/commands/elsabro/insert-phase.md +18 -1
- package/commands/elsabro/list-phase-assumptions.md +17 -0
- package/commands/elsabro/new-milestone.md +19 -0
- package/commands/elsabro/new.md +19 -0
- package/commands/elsabro/pause-work.md +19 -0
- package/commands/elsabro/plan-milestone-gaps.md +20 -1
- package/commands/elsabro/plan.md +264 -36
- package/commands/elsabro/progress.md +203 -79
- package/commands/elsabro/quick.md +19 -0
- package/commands/elsabro/remove-phase.md +17 -0
- package/commands/elsabro/research-phase.md +18 -1
- package/commands/elsabro/resume-work.md +19 -0
- package/commands/elsabro/start.md +365 -98
- package/commands/elsabro/verify-work.md +109 -5
- package/package.json +1 -1
- package/references/SYSTEM_INDEX.md +241 -0
- package/references/command-flow.md +352 -0
- package/references/enforcement-rules.md +331 -0
- package/references/error-handling-instructions.md +26 -12
- package/references/state-sync.md +381 -0
- package/references/task-dispatcher.md +388 -0
- package/references/tasks-integration.md +380 -0
- package/skills/api-microservice.md +765 -0
- package/skills/api-setup.md +76 -3
- package/skills/auth-setup.md +46 -6
- package/skills/chrome-extension.md +584 -0
- package/skills/cicd-setup.md +1206 -0
- package/skills/cli-tool.md +884 -0
- package/skills/database-setup.md +41 -5
- package/skills/desktop-app.md +1351 -0
- package/skills/expo-app.md +35 -2
- package/skills/full-stack-app.md +543 -0
- package/skills/mobile-app.md +813 -0
- package/skills/nextjs-app.md +33 -2
- package/skills/payments-setup.md +76 -1
- package/skills/saas-starter.md +639 -0
- package/skills/sentry-setup.md +41 -7
- package/skills/testing-setup.md +1218 -0
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
# ELSABRO Enforcement Rules
|
|
2
|
+
|
|
3
|
+
## REGLAS NO NEGOCIABLES
|
|
4
|
+
|
|
5
|
+
Estas reglas son **OBLIGATORIAS**. No hay excepciones. No hay "casos especiales". Si no las sigues, estás violando el protocolo ELSABRO.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### 1. TaskCreate ANTES de Acción
|
|
10
|
+
|
|
11
|
+
**PROHIBIDO**: Ejecutar código, modificar archivos, o hacer operaciones sin crear Task primero.
|
|
12
|
+
|
|
13
|
+
**OBLIGATORIO**: Seguir la secuencia completa:
|
|
14
|
+
```
|
|
15
|
+
TaskCreate → TaskUpdate(in_progress) → Task() → TaskUpdate(completed)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Ejemplo correcto:**
|
|
19
|
+
```
|
|
20
|
+
1. TaskCreate("Implementar endpoint de autenticación")
|
|
21
|
+
2. TaskUpdate(id, status: "in_progress")
|
|
22
|
+
3. Task("Implementa el endpoint POST /api/auth/login...")
|
|
23
|
+
4. TaskUpdate(id, status: "completed", result: "...")
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Ejemplo INCORRECTO:**
|
|
27
|
+
```
|
|
28
|
+
# VIOLACIÓN: Ejecutar sin Task
|
|
29
|
+
Edit(file_path: "src/api/auth.ts", ...)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### 2. TaskUpdate(in_progress) ANTES de Task()
|
|
35
|
+
|
|
36
|
+
**PROHIBIDO**: Lanzar `Task()` sin primero marcar la tarea como `in_progress`.
|
|
37
|
+
|
|
38
|
+
**OBLIGATORIO**: Actualizar estado ANTES de ejecutar.
|
|
39
|
+
|
|
40
|
+
**Razón**: El sistema necesita saber qué está en ejecución para coordinación, recuperación de errores, y visibilidad.
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
# CORRECTO
|
|
44
|
+
TaskUpdate(id: "task-001", status: "in_progress")
|
|
45
|
+
Task("prompt...")
|
|
46
|
+
|
|
47
|
+
# INCORRECTO - VIOLACIÓN
|
|
48
|
+
Task("prompt...") # Sin TaskUpdate previo
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### 3. Mínimo de Agentes por Fase
|
|
54
|
+
|
|
55
|
+
**PROHIBIDO**: Lanzar menos agentes del mínimo requerido.
|
|
56
|
+
|
|
57
|
+
**OBLIGATORIO**: Respetar los mínimos según la fase:
|
|
58
|
+
|
|
59
|
+
| Fase | Mínimo Agentes | Modelo | Paralelo |
|
|
60
|
+
|------|----------------|--------|----------|
|
|
61
|
+
| Exploración | 3+ | HAIKU | OBLIGATORIO |
|
|
62
|
+
| Implementación | 2+ | OPUS | OBLIGATORIO |
|
|
63
|
+
| Verificación | 3+ | OPUS | OBLIGATORIO |
|
|
64
|
+
|
|
65
|
+
**Ejemplo exploración:**
|
|
66
|
+
```
|
|
67
|
+
# CORRECTO: 3 agentes haiku en paralelo
|
|
68
|
+
Task("Explora estructura de archivos...") # haiku
|
|
69
|
+
Task("Busca patrones existentes...") # haiku
|
|
70
|
+
Task("Identifica dependencias...") # haiku
|
|
71
|
+
|
|
72
|
+
# INCORRECTO - VIOLACIÓN: Solo 1 agente
|
|
73
|
+
Task("Explora todo el proyecto...")
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### 4. Paralelismo OBLIGATORIO
|
|
79
|
+
|
|
80
|
+
**PROHIBIDO**: Ejecutar secuencialmente cuando se puede paralelizar.
|
|
81
|
+
|
|
82
|
+
**OBLIGATORIO**: Lanzar agentes en paralelo cuando las tareas son independientes.
|
|
83
|
+
|
|
84
|
+
**Regla**: Si las tareas NO dependen del resultado de otra, DEBEN ejecutarse en paralelo.
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
# CORRECTO: Paralelo
|
|
88
|
+
[Task("Analiza módulo A"), Task("Analiza módulo B"), Task("Analiza módulo C")]
|
|
89
|
+
|
|
90
|
+
# INCORRECTO: Secuencial innecesario
|
|
91
|
+
Task("Analiza módulo A")
|
|
92
|
+
# esperar...
|
|
93
|
+
Task("Analiza módulo B")
|
|
94
|
+
# esperar...
|
|
95
|
+
Task("Analiza módulo C")
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### 5. Tasks API como Backend Único
|
|
101
|
+
|
|
102
|
+
**PROHIBIDO**: Usar sistemas de storage duplicados (`.planning/TODOS.md`, archivos custom).
|
|
103
|
+
|
|
104
|
+
**OBLIGATORIO**: Usar Claude Code Tasks API para todo el tracking.
|
|
105
|
+
|
|
106
|
+
**Metadata Schema Estándar:**
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"type": "todo|phase|milestone|work",
|
|
110
|
+
"priority": "critical|high|medium|low",
|
|
111
|
+
"category": "bug|tech-debt|docs|chore|idea|feature",
|
|
112
|
+
"due_date": "ISO-8601 | null",
|
|
113
|
+
"milestone_id": "M001 | null",
|
|
114
|
+
"phase_id": "P001 | null",
|
|
115
|
+
"source_command": "add-todo|plan|execute|etc"
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Ejemplo correcto:**
|
|
120
|
+
```javascript
|
|
121
|
+
// Crear TODO
|
|
122
|
+
TaskCreate({
|
|
123
|
+
subject: "Fix validation bug",
|
|
124
|
+
metadata: { type: "todo", priority: "high", category: "bug" }
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// Consultar TODOs
|
|
128
|
+
TaskList().filter(t => t.metadata?.type === "todo");
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Ejemplo INCORRECTO:**
|
|
132
|
+
```javascript
|
|
133
|
+
// VIOLACIÓN: Sistema duplicado
|
|
134
|
+
fs.appendFile('.planning/TODOS.md', '- [ ] Fix validation bug');
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### 6. Modelo Correcto por Fase
|
|
140
|
+
|
|
141
|
+
**PROHIBIDO**: Usar modelos incorrectos para cada fase.
|
|
142
|
+
|
|
143
|
+
**OBLIGATORIO**: Seguir la asignación de modelos:
|
|
144
|
+
|
|
145
|
+
| Fase | Modelo | Razón |
|
|
146
|
+
|------|--------|-------|
|
|
147
|
+
| Exploración rápida | HAIKU | Velocidad, bajo costo |
|
|
148
|
+
| Análisis profundo | SONNET | Balance velocidad/calidad |
|
|
149
|
+
| Implementación | OPUS | Máxima calidad |
|
|
150
|
+
| Verificación crítica | OPUS | Máxima precisión |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## MATRIZ DE COMANDOS
|
|
155
|
+
|
|
156
|
+
### Comandos Core (Workflow Principal)
|
|
157
|
+
|
|
158
|
+
| Comando | TaskCreate | Min Agents | Paralelo | Modelo | State Sync | Notas |
|
|
159
|
+
|---------|-----------|-----------|----------|--------|------------|-------|
|
|
160
|
+
| `start` | **OBLIGATORIO** | 2 | **SÍ** | haiku | **SÍ** | Orquestador - detectar contexto |
|
|
161
|
+
| `plan` | **OBLIGATORIO** | 3+ | **SÍ** | haiku→opus | **SÍ** | Exploración→Planificación |
|
|
162
|
+
| `execute` | **OBLIGATORIO** | 3+ | **SÍ** | haiku→opus→opus | **SÍ** | Exploración→Impl→Verificación |
|
|
163
|
+
| `verify-work` | **OBLIGATORIO** | 3 | **SÍ** | opus | **SÍ** | Verificación exhaustiva |
|
|
164
|
+
| `debug` | **OBLIGATORIO** | 1+ | OPCIONAL | opus | **SÍ** | Diagnóstico profundo |
|
|
165
|
+
| `quick` | **OBLIGATORIO** | 1 | NO | sonnet | **SÍ** | Tarea simple y rápida |
|
|
166
|
+
| `new` | **OBLIGATORIO** | 2 | **SÍ** | haiku | **SÍ** | Setup inicial |
|
|
167
|
+
|
|
168
|
+
### Comandos de Session Management
|
|
169
|
+
|
|
170
|
+
| Comando | TaskCreate | Min Agents | Paralelo | Modelo | State Sync | Notas |
|
|
171
|
+
|---------|-----------|-----------|----------|--------|------------|-------|
|
|
172
|
+
| `pause-work` | **OBLIGATORIO** | 0 | NO | - | **SÍ** | Guardar contexto para retomar |
|
|
173
|
+
| `resume-work` | **OBLIGATORIO** | 1 | NO | haiku | **SÍ** | Retomar contexto guardado |
|
|
174
|
+
| `progress` | NO | 0 | NO | - | **SÍ** (read) | Ver estado actual |
|
|
175
|
+
|
|
176
|
+
### Comandos de Milestone Management
|
|
177
|
+
|
|
178
|
+
| Comando | TaskCreate | Min Agents | Paralelo | Modelo | State Sync | Notas |
|
|
179
|
+
|---------|-----------|-----------|----------|--------|------------|-------|
|
|
180
|
+
| `new-milestone` | **OBLIGATORIO** | 1 | NO | sonnet | **SÍ** | Crear nuevo milestone |
|
|
181
|
+
| `complete-milestone` | **OBLIGATORIO** | 1 | NO | sonnet | **SÍ** | Cerrar milestone |
|
|
182
|
+
| `audit-milestone` | **OBLIGATORIO** | 2 | **SÍ** | haiku→sonnet | **SÍ** | Auditar estado |
|
|
183
|
+
| `plan-milestone-gaps` | **OBLIGATORIO** | 2 | **SÍ** | haiku→opus | **SÍ** | Identificar gaps |
|
|
184
|
+
|
|
185
|
+
### Comandos de Phase Management
|
|
186
|
+
|
|
187
|
+
| Comando | TaskCreate | Min Agents | Paralelo | Modelo | State Sync | Notas |
|
|
188
|
+
|---------|-----------|-----------|----------|--------|------------|-------|
|
|
189
|
+
| `add-phase` | OPCIONAL | 0 | NO | - | **SÍ** | Agregar fase al final |
|
|
190
|
+
| `insert-phase` | OPCIONAL | 0 | NO | - | **SÍ** | Insertar fase en posición |
|
|
191
|
+
| `remove-phase` | OPCIONAL | 0 | NO | - | **SÍ** | Eliminar fase |
|
|
192
|
+
| `discuss-phase` | **OBLIGATORIO** | 1 | NO | sonnet | NO | Discusión interactiva |
|
|
193
|
+
| `research-phase` | **OBLIGATORIO** | 2 | **SÍ** | haiku | **SÍ** | Investigar tecnologías |
|
|
194
|
+
| `list-phase-assumptions` | NO | 0 | NO | - | NO | Listar supuestos |
|
|
195
|
+
|
|
196
|
+
### Comandos de Todo Management
|
|
197
|
+
|
|
198
|
+
| Comando | TaskCreate | Min Agents | Paralelo | Modelo | State Sync | Notas |
|
|
199
|
+
|---------|-----------|-----------|----------|--------|------------|-------|
|
|
200
|
+
| `add-todo` | OPCIONAL | 0 | NO | - | NO | Agregar item |
|
|
201
|
+
| `check-todos` | NO | 0 | NO | - | NO | Ver lista |
|
|
202
|
+
|
|
203
|
+
### Comandos de Utilidad
|
|
204
|
+
|
|
205
|
+
| Comando | TaskCreate | Min Agents | Paralelo | Modelo | State Sync | Notas |
|
|
206
|
+
|---------|-----------|-----------|----------|--------|------------|-------|
|
|
207
|
+
| `help` | NO | 0 | NO | - | NO | Solo información |
|
|
208
|
+
| `settings` | NO | 0 | NO | - | NO | Solo configuración |
|
|
209
|
+
| `set-profile` | NO | 0 | NO | - | NO | Cambiar perfil |
|
|
210
|
+
| `update` | NO | 0 | NO | - | NO | Actualizar ELSABRO |
|
|
211
|
+
| `map-codebase` | **OBLIGATORIO** | 2 | **SÍ** | haiku | NO | Mapear proyecto |
|
|
212
|
+
| `verify` | **OBLIGATORIO** | 1 | NO | sonnet | NO | Verificar feature |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## SECUENCIA OBLIGATORIA POR COMANDO
|
|
217
|
+
|
|
218
|
+
### /elsabro:execute
|
|
219
|
+
```
|
|
220
|
+
1. TaskCreate("Fase exploración")
|
|
221
|
+
2. TaskUpdate(in_progress)
|
|
222
|
+
3. Task(haiku) x3 [paralelo] - Explorar contexto
|
|
223
|
+
4. TaskUpdate(completed)
|
|
224
|
+
|
|
225
|
+
5. TaskCreate("Fase implementación")
|
|
226
|
+
6. TaskUpdate(in_progress)
|
|
227
|
+
7. Task(opus) x2 [paralelo] - Implementar
|
|
228
|
+
8. TaskUpdate(completed)
|
|
229
|
+
|
|
230
|
+
9. TaskCreate("Fase verificación")
|
|
231
|
+
10. TaskUpdate(in_progress)
|
|
232
|
+
11. Task(opus) x3 [paralelo] - Verificar
|
|
233
|
+
12. TaskUpdate(completed)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### /elsabro:plan
|
|
237
|
+
```
|
|
238
|
+
1. TaskCreate("Explorar requerimientos")
|
|
239
|
+
2. TaskUpdate(in_progress)
|
|
240
|
+
3. Task(haiku) x3 [paralelo] - Explorar codebase
|
|
241
|
+
4. TaskUpdate(completed)
|
|
242
|
+
|
|
243
|
+
5. TaskCreate("Generar plan")
|
|
244
|
+
6. TaskUpdate(in_progress)
|
|
245
|
+
7. Task(opus) x2 [paralelo] - Crear plan detallado
|
|
246
|
+
8. TaskUpdate(completed)
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### /elsabro:verify-work
|
|
250
|
+
```
|
|
251
|
+
1. TaskCreate("Verificación exhaustiva")
|
|
252
|
+
2. TaskUpdate(in_progress)
|
|
253
|
+
3. Task(opus) x3 [paralelo]:
|
|
254
|
+
- Verificar funcionalidad
|
|
255
|
+
- Verificar tests
|
|
256
|
+
- Verificar integración
|
|
257
|
+
4. TaskUpdate(completed)
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### /elsabro:debug
|
|
261
|
+
```
|
|
262
|
+
1. TaskCreate("Diagnóstico")
|
|
263
|
+
2. TaskUpdate(in_progress)
|
|
264
|
+
3. Task(opus) x1+ - Investigar problema
|
|
265
|
+
4. TaskUpdate(completed)
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### /elsabro:quick
|
|
269
|
+
```
|
|
270
|
+
1. TaskCreate("Tarea rápida")
|
|
271
|
+
2. TaskUpdate(in_progress)
|
|
272
|
+
3. Task(sonnet) x1 - Ejecutar tarea simple
|
|
273
|
+
4. TaskUpdate(completed)
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### /elsabro:new
|
|
277
|
+
```
|
|
278
|
+
1. TaskCreate("Setup proyecto")
|
|
279
|
+
2. TaskUpdate(in_progress)
|
|
280
|
+
3. Task(haiku) x2 [paralelo] - Analizar y crear estructura
|
|
281
|
+
4. TaskUpdate(completed)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## VIOLACIONES Y CONSECUENCIAS
|
|
287
|
+
|
|
288
|
+
### Violación Crítica
|
|
289
|
+
- Ejecutar sin TaskCreate
|
|
290
|
+
- Lanzar Task sin TaskUpdate(in_progress)
|
|
291
|
+
- Menos agentes del mínimo
|
|
292
|
+
|
|
293
|
+
**Consecuencia**: Abortar operación. No continuar.
|
|
294
|
+
|
|
295
|
+
### Violación Mayor
|
|
296
|
+
- No paralelizar cuando es posible
|
|
297
|
+
- Modelo incorrecto para la fase
|
|
298
|
+
|
|
299
|
+
**Consecuencia**: Warning. Corregir antes de continuar.
|
|
300
|
+
|
|
301
|
+
### Violación Menor
|
|
302
|
+
- TaskUpdate(completed) sin resultado claro
|
|
303
|
+
|
|
304
|
+
**Consecuencia**: Registrar. Continuar con precaución.
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## CHECKLIST DE AUTO-VERIFICACIÓN
|
|
309
|
+
|
|
310
|
+
Antes de cada operación, verifica:
|
|
311
|
+
|
|
312
|
+
- [ ] TaskCreate ejecutado
|
|
313
|
+
- [ ] TaskUpdate(in_progress) ejecutado
|
|
314
|
+
- [ ] Cantidad de agentes >= mínimo requerido
|
|
315
|
+
- [ ] Agentes lanzados en paralelo (si aplica)
|
|
316
|
+
- [ ] Modelo correcto para la fase
|
|
317
|
+
- [ ] TaskUpdate(completed) al finalizar
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## NOTAS FINALES
|
|
322
|
+
|
|
323
|
+
1. **No hay atajos**: Estas reglas existen por razones de rendimiento, coordinación y calidad.
|
|
324
|
+
|
|
325
|
+
2. **Paralelismo = Velocidad**: 3 agentes en paralelo terminan antes que 3 secuenciales.
|
|
326
|
+
|
|
327
|
+
3. **Tasks = Visibilidad**: Sin Tasks, no hay tracking, no hay recuperación de errores.
|
|
328
|
+
|
|
329
|
+
4. **Modelos = Costo/Beneficio**: Haiku para explorar, Opus para implementar. No al revés.
|
|
330
|
+
|
|
331
|
+
5. **Mínimos son mínimos**: Puedes usar MÁS agentes, nunca MENOS.
|
|
@@ -19,7 +19,7 @@ Cuando encuentres un error, clasifícalo usando esta escala:
|
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
**Ejemplos:**
|
|
22
|
-
-
|
|
22
|
+
- `.elsabro/state.json` corrupto o faltante
|
|
23
23
|
- Archivos de configuración críticos inválidos
|
|
24
24
|
- Dependencias con versiones incompatibles
|
|
25
25
|
- Estado de git inconsistente (detached HEAD, conflictos)
|
|
@@ -102,18 +102,18 @@ Usa este formato visual para errores:
|
|
|
102
102
|
### Error CRITICAL
|
|
103
103
|
```
|
|
104
104
|
╔══════════════════════════════════════════════════╗
|
|
105
|
-
║ 🔴 ERROR:
|
|
105
|
+
║ 🔴 ERROR: STATE_MISSING ║
|
|
106
106
|
║ Severity: CRITICAL ║
|
|
107
107
|
╠══════════════════════════════════════════════════╣
|
|
108
108
|
║ ║
|
|
109
|
-
║ No se encontró el archivo de
|
|
109
|
+
║ No se encontró el archivo de estado ║
|
|
110
110
|
║ ║
|
|
111
|
-
║ El archivo .
|
|
111
|
+
║ El archivo .elsabro/state.json no existe ║
|
|
112
112
|
║ o está corrupto. ║
|
|
113
113
|
║ ║
|
|
114
114
|
╠══════════════════════════════════════════════════╣
|
|
115
115
|
║ ACCIÓN REQUERIDA: ║
|
|
116
|
-
║ → /elsabro:start para
|
|
116
|
+
║ → /elsabro:start para inicializar proyecto ║
|
|
117
117
|
╚══════════════════════════════════════════════════╝
|
|
118
118
|
```
|
|
119
119
|
|
|
@@ -276,17 +276,31 @@ Attempt 3: Esperar 2s, reintentar
|
|
|
276
276
|
|
|
277
277
|
## Actualización de Estado
|
|
278
278
|
|
|
279
|
-
|
|
279
|
+
**IMPORTANTE**: El archivo de estado unificado es `.elsabro/state.json` (ver `/references/state-sync.md`).
|
|
280
|
+
|
|
281
|
+
Después de cada operación significativa, actualiza `.elsabro/state.json`:
|
|
280
282
|
|
|
281
283
|
```json
|
|
282
284
|
{
|
|
283
|
-
"
|
|
285
|
+
"version": "1.0.0",
|
|
286
|
+
"updated_at": "2024-01-20T15:30:00Z",
|
|
287
|
+
"current_flow": {
|
|
288
|
+
"command": "execute",
|
|
289
|
+
"phase": "executing_wave_2",
|
|
290
|
+
"started_at": "2024-01-20T15:00:00Z"
|
|
291
|
+
},
|
|
284
292
|
"context": {
|
|
285
|
-
"
|
|
286
|
-
"
|
|
287
|
-
"
|
|
288
|
-
"currentTask": "Implement user profile"
|
|
293
|
+
"project_type": "brownfield",
|
|
294
|
+
"tech_stack": ["nextjs", "prisma"],
|
|
295
|
+
"current_feature": "user-profile"
|
|
289
296
|
},
|
|
297
|
+
"history": [
|
|
298
|
+
{
|
|
299
|
+
"command": "plan",
|
|
300
|
+
"completed_at": "2024-01-20T14:50:00Z",
|
|
301
|
+
"result": "created"
|
|
302
|
+
}
|
|
303
|
+
],
|
|
290
304
|
"errors": {
|
|
291
305
|
"count": 1,
|
|
292
306
|
"lastError": {
|
|
@@ -307,6 +321,6 @@ Antes de reportar "completado":
|
|
|
307
321
|
|
|
308
322
|
- [ ] ¿Hubo errores? → Clasificados y reportados
|
|
309
323
|
- [ ] ¿Hubo warnings? → Listados al final
|
|
310
|
-
- [ ] ¿Estado actualizado? →
|
|
324
|
+
- [ ] ¿Estado actualizado? → .elsabro/state.json actualizado (ver /references/state-sync.md)
|
|
311
325
|
- [ ] ¿Retry necesario? → Intentado con backoff
|
|
312
326
|
- [ ] ¿Ejecución paralela? → Política aplicada, resultados agregados
|