@christianmaf80/agentic-workflow 1.33.2-beta.7 → 1.34.1-beta.8

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.
@@ -210,3 +210,31 @@ Se habilita un canal formal de delegación para cambiar el agente activo cuando
210
210
  ### 10.4 Límites
211
211
  - Cada tarea **DEBE** ser ejecutada por el agente determinado tras la delegación aprobada.
212
212
  - Ningún agente puede delegar para evadir restricciones de constitución o gates.
213
+
214
+ ---
215
+
216
+ ## 11. AUTO-DELEGACIÓN CONTROLADA POR ARCHITECT (PERMANENT)
217
+
218
+ Se habilita la **auto-delegación** exclusivamente para el **architect-agent** cuando el agente activo no corresponda a la tarea.
219
+
220
+ ### 11.1 Condición de activación
221
+ - Si el agente activo **no es** el architect-agent y la tarea **no corresponde** a su rol/constitución, el sistema **DEBE** transferir el control al architect-agent.
222
+ - El architect-agent evalúa y decide el agente responsable final.
223
+
224
+ ### 11.2 Aprobación del usuario (OBLIGATORIA)
225
+ - La auto-delegación **requiere confirmación explícita** del usuario.
226
+ - Debe usarse `notify_user` con:
227
+ - `BlockedOnUser: true`
228
+ - `PathsToReview` del artefacto afectado
229
+ - Mensaje claro de cambio de rol
230
+ - Sin aprobación (SI) no hay transferencia efectiva.
231
+
232
+ ### 11.3 Trazabilidad y registro
233
+ - Cada auto-delegación **DEBE** registrarse en `task.md` bajo `task.delegation.history`.
234
+ - Registro mínimo:
235
+ - `from`, `to`, `approved_by`, `approved_at`, `reason`.
236
+ - Debe existir log en runtime (si aplica).
237
+
238
+ ### 11.4 Límites
239
+ - El cambio automático **no** evita gates ni restricciones de constitución.
240
+ - El usuario **no** necesita invocar manualmente al nuevo agente una vez aprobado.
@@ -1,22 +1,24 @@
1
1
  ---
2
- artifact: brief
3
- phase: short-phase-1-brief
2
+ artifact: analisis
3
+ phase: short-phase-1-analisis
4
4
  owner: architect-agent
5
+ implementation_owner: architect-agent
5
6
  status: draft | approved
6
7
  related_task: <taskId>-<taskTitle>
7
8
  ---
8
9
 
9
- # Brief — <taskId>-<taskTitle>
10
+ # Analisis — <taskId>-<taskTitle>
10
11
 
11
12
  ## Identificacion del agente (OBLIGATORIA)
12
13
  Primera linea del documento:
13
14
  `<icono> **<nombre-agente>**: <mensaje>`
14
15
 
15
- ## 1. Identificación de la tarea
16
+ ## 1. Identificacion de la tarea
16
17
 
17
- **Título**: <título de la tarea>
18
+ **Titulo**: <titulo de la tarea>
18
19
  **Objetivo**: <objetivo principal>
19
20
  **Estrategia**: Short
21
+ **Owner de implementacion**: <agent-id> (por defecto: architect-agent)
20
22
 
21
23
  ---
22
24
 
@@ -36,54 +38,42 @@ Primera linea del documento:
36
38
 
37
39
  Derivados de las respuestas anteriores:
38
40
 
39
- 1. **Alcance**:
40
- 2. **Entradas/Datos**:
41
- 3. **Salidas esperadas**:
42
- 4. **Restricciones**:
43
- 5. **Criterio de Done**:
41
+ 1. **Alcance**:
42
+ 2. **Entradas/Datos**:
43
+ 3. **Salidas esperadas**:
44
+ 4. **Restricciones**:
45
+ 5. **Criterio de Done**:
44
46
 
45
47
  ---
46
48
 
47
- ## 4. Análisis simplificado
49
+ ## 4. Analisis simplificado
48
50
 
49
51
  ### Estado actual (As-Is)
50
52
  - Estructura afectada:
51
53
  - Limitaciones conocidas:
52
54
 
53
- ### Evaluación de complejidad
55
+ ### Evaluacion de complejidad
54
56
 
55
57
  | Indicador | Estado | Comentario |
56
58
  |-----------|--------|------------|
57
- | Afecta más de 3 paquetes | ☐ ☐ No | |
58
- | Requiere investigación APIs | ☐ ☐ No | |
59
- | Cambios breaking | ☐ ☐ No | |
60
- | Tests E2E complejos | ☐ ☐ No | |
59
+ | Afecta mas de 3 paquetes | ☐ Si ☐ No | |
60
+ | Requiere investigacion APIs | ☐ Si ☐ No | |
61
+ | Cambios breaking | ☐ Si ☐ No | |
62
+ | Tests E2E complejos | ☐ Si ☐ No | |
61
63
 
62
64
  **Resultado de complejidad**: ☐ BAJA (continuar Short) ☐ ALTA (recomendar abortar a Long)
63
65
 
64
66
  ---
65
67
 
66
- ## 5. Plan de implementación
68
+ ## 5. Evaluacion de agentes
67
69
 
68
- ### Pasos ordenados
69
-
70
- 1. **Paso 1**
71
- - Descripción:
72
- - Entregables:
73
-
74
- 2. **Paso 2**
75
- - Descripción:
76
- - Entregables:
77
-
78
- (Añadir más pasos según necesidad)
79
-
80
- ### Verificación prevista
81
- - Tipo de tests:
82
- - Criterios de éxito:
70
+ | Agente | Desempeno (1-10) | Propuestas de mejora |
71
+ |--------|------------------|----------------------|
72
+ | | | |
83
73
 
84
74
  ---
85
75
 
86
- ## 6. Aprobación del desarrollador (OBLIGATORIA)
76
+ ## 6. Aprobacion del desarrollador (OBLIGATORIA)
87
77
 
88
78
  ```yaml
89
79
  approval:
@@ -93,4 +83,4 @@ approval:
93
83
  comments: <opcional>
94
84
  ```
95
85
 
96
- > Sin aprobación, esta fase NO puede avanzar a Implementation.
86
+ > Sin aprobacion, esta fase NO puede avanzar a Plan.
@@ -33,8 +33,9 @@ templates:
33
33
  supplemental_report: .agent/templates/supplemental-report.md
34
34
 
35
35
  # Templates del ciclo Short
36
- brief: .agent/templates/brief.md
37
- closure: .agent/templates/closure.md
36
+ analisis: .agent/templates/analisis.md
37
+ plan: .agent/templates/plan.md
38
+ qa_results: .agent/templates/qa-results.md
38
39
  ```
39
40
 
40
41
  ## Reglas
@@ -0,0 +1,49 @@
1
+ ---
2
+ artifact: plan
3
+ phase: short-phase-2-plan
4
+ owner: architect-agent
5
+ status: draft | approved
6
+ related_task: <taskId>-<taskTitle>
7
+ ---
8
+
9
+ # Plan — <taskId>-<taskTitle>
10
+
11
+ ## Identificacion del agente (OBLIGATORIA)
12
+ Primera linea del documento:
13
+ `<icono> **<nombre-agente>**: <mensaje>`
14
+
15
+ ## 1. Resumen del plan
16
+ - Objetivo resumido
17
+ - Resultado esperado
18
+
19
+ ---
20
+
21
+ ## 2. Pasos de implementacion
22
+
23
+ ### Paso 1
24
+ - Descripcion:
25
+ - Entregables:
26
+
27
+ ### Paso 2
28
+ - Descripcion:
29
+ - Entregables:
30
+
31
+ ---
32
+
33
+ ## 3. Verificacion prevista
34
+ - Tests / validaciones:
35
+ - Criterios de exito:
36
+
37
+ ---
38
+
39
+ ## 4. Aprobacion del desarrollador (OBLIGATORIA)
40
+
41
+ ```yaml
42
+ approval:
43
+ developer:
44
+ decision: SI | NO
45
+ date: <ISO-8601>
46
+ comments: <opcional>
47
+ ```
48
+
49
+ > Sin aprobacion, esta fase NO puede avanzar a Implementacion.
@@ -1,12 +1,12 @@
1
1
  ---
2
- artifact: closure
3
- phase: short-phase-3-closure
2
+ artifact: qa-results
3
+ phase: short-phase-4-qa-results
4
4
  owner: architect-agent
5
5
  status: draft | approved
6
6
  related_task: <taskId>-<taskTitle>
7
7
  ---
8
8
 
9
- # Closure — <taskId>-<taskTitle>
9
+ # QA Results — <taskId>-<taskTitle>
10
10
 
11
11
  ## Identificacion del agente (OBLIGATORIA)
12
12
  Primera linea del documento:
@@ -14,30 +14,30 @@ Primera linea del documento:
14
14
 
15
15
  ## 1. Resumen de la tarea
16
16
 
17
- **Título**: <título>
17
+ **Titulo**: <titulo>
18
18
  **Estrategia**: Short
19
19
  **Estado final**: ☐ Completada ☐ Abortada
20
20
 
21
21
  ---
22
22
 
23
- ## 2. Verificación
23
+ ## 2. Verificacion
24
24
 
25
25
  ### Tests ejecutados
26
26
 
27
- | Tipo | Comando/Método | Resultado |
27
+ | Tipo | Comando/Metodo | Resultado |
28
28
  |------|----------------|-----------|
29
29
  | Unit | | ☐ Pass ☐ Fail ☐ N/A |
30
30
  | Integration | | ☐ Pass ☐ Fail ☐ N/A |
31
31
  | E2E | | ☐ Pass ☐ Fail ☐ N/A |
32
32
 
33
- ### Justificación (si no hay tests)
34
- <Explicar por qué no aplican tests>
33
+ ### Justificacion (si no hay tests)
34
+ <Explicar por que no aplican tests>
35
35
 
36
36
  ---
37
37
 
38
38
  ## 3. Estado de Acceptance Criteria
39
39
 
40
- | AC | Descripción | Estado |
40
+ | AC | Descripcion | Estado |
41
41
  |----|-------------|--------|
42
42
  | 1 | | ☐ ✅ ☐ ❌ |
43
43
  | 2 | | ☐ ✅ ☐ ❌ |
@@ -51,19 +51,13 @@ Primera linea del documento:
51
51
 
52
52
  ### Ficheros modificados/creados
53
53
 
54
- | Fichero | Acción | Descripción |
54
+ | Fichero | Accion | Descripcion |
55
55
  |---------|--------|-------------|
56
56
  | | Created/Modified/Deleted | |
57
57
 
58
- ### Commits (si aplica)
59
-
60
- ```
61
- <tipo>(<scope>): <descripción>
62
- ```
63
-
64
58
  ---
65
59
 
66
- ## 5. Aceptación final del desarrollador (OBLIGATORIA)
60
+ ## 5. Aceptacion final del desarrollador (OBLIGATORIA)
67
61
 
68
62
  ```yaml
69
63
  approval:
@@ -73,23 +67,4 @@ approval:
73
67
  comments: <opcional>
74
68
  ```
75
69
 
76
- > Sin aceptación, la tarea NO puede marcarse como completada.
77
-
78
- ---
79
-
80
- ## 6. Puntuaciones de agentes (OBLIGATORIO)
81
-
82
- | Agente | Puntuacion (1-10) | Notas |
83
- |--------|-------------------|-------|
84
- | | | |
85
-
86
- ---
87
-
88
- ## 7. Push final (si aplica)
89
-
90
- ```yaml
91
- push:
92
- approved: SI | NO
93
- branch: <rama destino>
94
- date: <ISO-8601>
95
- ```
70
+ > Sin aceptacion, la tarea NO puede marcarse como completada.
@@ -96,15 +96,19 @@ task:
96
96
  completed: false
97
97
  validated_by: null
98
98
  validated_at: null
99
- short-phase-1-brief:
99
+ short-phase-1-analisis:
100
100
  completed: false
101
101
  validated_by: null
102
102
  validated_at: null
103
- short-phase-2-implementation:
103
+ short-phase-2-plan:
104
104
  completed: false
105
105
  validated_by: null
106
106
  validated_at: null
107
- short-phase-3-closure:
107
+ short-phase-3-implementation:
108
+ completed: false
109
+ validated_by: null
110
+ validated_at: null
111
+ short-phase-4-qa-results:
108
112
  completed: false
109
113
  validated_by: null
110
114
  validated_at: null
@@ -70,6 +70,9 @@ blocking: true
70
70
  - Identificar todas las tareas de implementación y sus agentes responsables.
71
71
  - Crear (si no existe) el directorio:
72
72
  - `.agent/artifacts/<taskId>-<taskTitle>/agent-tasks/`
73
+ - Si una tarea no especifica agente responsable:
74
+ - Asignar por defecto `architect-agent`.
75
+ - Registrar el ajuste en `task.delegation.history` (reason: `missing_agent_in_plan`).
73
76
 
74
77
  ### 3. Bucle de delegación (SÍNCRONO)
75
78
 
@@ -81,6 +84,7 @@ Para cada tarea `N` en el plan:
81
84
  - Completar:
82
85
  - **Input**: Objetivo, Alcance, Dependencias (definidos por el arquitecto)
83
86
  - **Output**: Entregables, Evidencia requerida (definidos por el arquitecto)
87
+ - Asegurar que el frontmatter `owner` refleje el agente responsable definido en `plan.md` (o el default).
84
88
 
85
89
  #### 3.2 Asignar al agente
86
90
  - El `architect-agent` **DEBE** activar al agente correspondiente:
@@ -33,14 +33,17 @@ aliases:
33
33
  id: init
34
34
  workflow: .agent/workflows/init.md
35
35
  short_phase_1:
36
- id: short-phase-1-brief
37
- workflow: .agent/workflows/tasklifecycle-short/short-phase-1-brief.md
36
+ id: short-phase-1-analisis
37
+ workflow: .agent/workflows/tasklifecycle-short/short-phase-1-analisis.md
38
38
  short_phase_2:
39
- id: short-phase-2-implementation
40
- workflow: .agent/workflows/tasklifecycle-short/short-phase-2-implementation.md
39
+ id: short-phase-2-plan
40
+ workflow: .agent/workflows/tasklifecycle-short/short-phase-2-plan.md
41
41
  short_phase_3:
42
- id: short-phase-3-closure
43
- workflow: .agent/workflows/tasklifecycle-short/short-phase-3-closure.md
42
+ id: short-phase-3-implementation
43
+ workflow: .agent/workflows/tasklifecycle-short/short-phase-3-implementation.md
44
+ short_phase_4:
45
+ id: short-phase-4-qa-results
46
+ workflow: .agent/workflows/tasklifecycle-short/short-phase-4-qa-results.md
44
47
  ```
45
48
 
46
49
  ## Input (REQUIRED)
@@ -49,19 +52,20 @@ aliases:
49
52
 
50
53
  ## Output (REQUIRED)
51
54
  - Task candidate con `task.strategy: short`.
52
- - Artefactos de cada fase: `brief.md`, `implementation.md`, `closure.md`.
55
+ - Artefactos de cada fase: `analisis.md`, `plan.md`, `implementation.md`, `qa-results.md`.
53
56
 
54
57
  ## Objetivo (ONLY)
55
- - Ejecutar un ciclo simplificado de 3 fases para tareas de baja complejidad.
58
+ - Ejecutar un ciclo simplificado de 4 fases para tareas de baja complejidad.
56
59
  - Mantener la integridad de los gates arquitectónicos.
57
- - Si se detecta complejidad alta en Brief, ofrecer abortar a Long.
60
+ - Si se detecta complejidad alta en Analisis, ofrecer abortar a Long.
58
61
 
59
62
  ## Orden oficial de ejecución de fases
60
63
  Las fases del ciclo Short **DEBEN ejecutarse estrictamente en orden**:
61
64
 
62
- 1. `aliases.tasklifecycle-short.phases.short_phase_1.id` (Brief)
63
- 2. `aliases.tasklifecycle-short.phases.short_phase_2.id` (Implementation)
64
- 3. `aliases.tasklifecycle-short.phases.short_phase_3.id` (Closure)
65
+ 1. `aliases.tasklifecycle-short.phases.short_phase_1.id` (Analisis)
66
+ 2. `aliases.tasklifecycle-short.phases.short_phase_2.id` (Plan)
67
+ 3. `aliases.tasklifecycle-short.phases.short_phase_3.id` (Implementation)
68
+ 4. `aliases.tasklifecycle-short.phases.short_phase_4.id` (QA + Resultados)
65
69
 
66
70
  ## Gate (REQUIRED)
67
71
  Requisitos (todos obligatorios):
@@ -0,0 +1,116 @@
1
+ ---
2
+ id: workflow.tasklifecycle-short.short-phase-1-analisis
3
+ description: Fase 1 del ciclo Short. Ejecuta analisis y define acceptance criteria basados en 5 preguntas obligatorias.
4
+ owner: architect-agent
5
+ version: 1.0.0
6
+ severity: PERMANENT
7
+ trigger:
8
+ commands: ["short-phase-1", "analisis", "analysis"]
9
+ blocking: true
10
+ ---
11
+
12
+ # WORKFLOW: tasklifecycle-short.short-phase-1-analisis
13
+
14
+ ## Input (REQUIRED)
15
+ - Existe task candidate con `task.strategy: short`.
16
+ - El desarrollador ha proporcionado titulo y objetivo.
17
+
18
+ > [!IMPORTANT]
19
+ > **Constitucion activa (OBLIGATORIO)**:
20
+ > - Cargar `constitution.clean_code` antes de iniciar
21
+ > - Cargar `constitution.agents_behavior` (seccion 7: Gates, seccion 8: Constitucion)
22
+ > - **Activar `skill.runtime-governance`** (Para validacion de gate y trazabilidad por el Architect)
23
+
24
+ ## Output (REQUIRED)
25
+ - Artefacto: `.agent/artifacts/<taskId>-<taskTitle>/analisis.md`
26
+ - Artefacto: `.agent/artifacts/<taskId>-<taskTitle>/acceptance.md`
27
+ - Task actualizado con fase actual = `short-phase-1-analisis`
28
+
29
+ ## Objetivo (ONLY)
30
+ - Ejecutar las **5 preguntas obligatorias** para definir acceptance criteria.
31
+ - Documentar el analisis de la tarea (estado actual y riesgos basicos).
32
+ - Si se detecta complejidad alta, **ofrecer abortar** y reiniciar en modo Long.
33
+
34
+ > Esta fase **NO implementa codigo**.
35
+ > Esta fase **REQUIERE aprobacion explicita del desarrollador (SI/NO)**.
36
+
37
+ ---
38
+
39
+ ## Pasos obligatorios
40
+
41
+ 0. Activar `architect-agent` y usar prefijo obligatorio en cada mensaje.
42
+
43
+ ### 1. Verificar inputs
44
+ - Existe task candidate.
45
+ - `task.strategy == "short"`.
46
+ - Si falla -> **FAIL**.
47
+
48
+ ### 2. Ejecutar 5 preguntas obligatorias
49
+ El architect-agent **DEBE** formular 5 preguntas especificas basadas en la tarea:
50
+ - Las preguntas varian segun la tarea concreta.
51
+ - Sin respuestas completas, la fase NO avanza.
52
+
53
+ ### 2.1 Definir owner de implementacion (OBLIGATORIO)
54
+ - El desarrollador **DEBE** indicar el agente responsable de la implementacion.
55
+ - Registrar el valor en `analisis.md` como `implementation_owner`.
56
+ - Si no se define, usar `architect-agent` por defecto y dejar trazado en el analisis.
57
+
58
+ ### 3. Analisis de complejidad
59
+ Evaluar indicadores de complejidad:
60
+ - Afecta mas de 3 paquetes/modulos? -> Alta
61
+ - Requiere investigacion de APIs externas? -> Alta
62
+ - Introduce cambios breaking? -> Alta
63
+ - Necesita tests E2E complejos? -> Alta
64
+
65
+ **Si complejidad es ALTA**:
66
+ - Notificar al desarrollador.
67
+ - Ofrecer opcion de abortar y crear nueva tarea en modo Long.
68
+ - Si decide abortar -> terminar fase con estado "aborted".
69
+
70
+ ### 4. Crear artefactos (analisis.md y acceptance.md)
71
+ - Usar templates `templates.analisis` y `templates.acceptance`.
72
+ - En `acceptance.md` incluir:
73
+ - Acceptance criteria derivados de las 5 preguntas.
74
+ - En `analisis.md` incluir:
75
+ - Estado actual (As-Is) simplificado.
76
+ - Riesgos basicos.
77
+ - Evaluacion de complejidad.
78
+ - `implementation_owner` explicito (agente responsable de implementacion).
79
+ - **Evaluacion de Agentes**: Desempeno y propuestas de mejora.
80
+
81
+ ### 5. Solicitar aprobacion del desarrollador (por consola)
82
+ ```yaml
83
+ approval:
84
+ developer:
85
+ decision: SI | NO
86
+ date: <ISO-8601>
87
+ comments: <opcional>
88
+ ```
89
+ - Si `decision != SI` -> **FAIL**.
90
+
91
+ ### 6. PASS
92
+ - Actualizar task.md:
93
+ - Marcar fase como completada.
94
+ - Establecer `task.lifecycle.phases.short-phase-1-analisis.validated_at = <ISO-8601>`.
95
+ - Actualizar `task.phase.updated_at = <ISO-8601>`.
96
+ - Avanzar a `short-phase-2-plan`.
97
+
98
+ ---
99
+
100
+ ## Gate (REQUIRED)
101
+ Requisitos (todos obligatorios):
102
+ 1. Existen `analisis.md` y `acceptance.md` con templates correctos.
103
+ 2. El `analisis.md` inicia con el prefijo del `architect-agent`.
104
+ 3. Las 5 preguntas estan respondidas.
105
+ 4. La evaluacion de complejidad esta documentada.
106
+ 5. Existe aprobacion explicita del desarrollador.
107
+ 6. task.md refleja fase completada.
108
+ 7. task.md refleja timestamp y estado:
109
+ - `task.lifecycle.phases.short-phase-1-analisis.completed == true`
110
+ - `task.lifecycle.phases.short-phase-1-analisis.validated_at` no nulo
111
+ - `task.phase.updated_at` no nulo
112
+ 8. **Gobernanza verificada**: El historial de logs muestra la secuencia de herramientas MCP definida en `skill.runtime-governance`.
113
+
114
+ Si Gate FAIL:
115
+ - Indicar que requisito falta.
116
+ - Bloquear hasta resolver.
@@ -0,0 +1,81 @@
1
+ ---
2
+ id: workflow.tasklifecycle-short.short-phase-2-plan
3
+ description: Fase 2 del ciclo Short. Define el plan de implementacion basado en el analisis aprobado.
4
+ owner: architect-agent
5
+ version: 1.0.0
6
+ severity: PERMANENT
7
+ trigger:
8
+ commands: ["short-phase-2", "plan", "planning"]
9
+ blocking: true
10
+ ---
11
+
12
+ # WORKFLOW: tasklifecycle-short.short-phase-2-plan
13
+
14
+ ## Input (REQUIRED)
15
+ - Existe analisis aprobado: `.agent/artifacts/<taskId>-<taskTitle>/analisis.md`
16
+ - task.md refleja `task.phase.current == "short-phase-2-plan"`
17
+
18
+ > [!IMPORTANT]
19
+ > **Constitucion activa (OBLIGATORIO)**:
20
+ > - Cargar `constitution.clean_code` antes de iniciar
21
+ > - Cargar `constitution.agents_behavior` (seccion 7: Gates, seccion 8: Constitucion)
22
+
23
+ ## Output (REQUIRED)
24
+ - Plan de implementacion: `.agent/artifacts/<taskId>-<taskTitle>/plan.md`
25
+ - Task actualizado.
26
+
27
+ ## Objetivo (ONLY)
28
+ - Traducir el analisis a un plan ejecutable.
29
+ - Definir pasos, entregables y verificacion.
30
+
31
+ > Esta fase **NO implementa codigo**.
32
+ > Esta fase **REQUIERE aprobacion explicita del desarrollador (SI/NO)**.
33
+
34
+ ---
35
+
36
+ ## Pasos obligatorios
37
+
38
+ 0. Activar `architect-agent` y usar prefijo obligatorio en cada mensaje.
39
+
40
+ ### 1. Verificar inputs
41
+ - Existe `analisis.md` aprobado.
42
+ - `task.phase.current == "short-phase-2-plan"`.
43
+ - Si falla -> **FAIL**.
44
+
45
+ ### 2. Crear artefacto plan.md
46
+ - Usar template `templates.plan`.
47
+ - Incluir pasos ordenados, entregables y estrategia de verificacion.
48
+
49
+ ### 3. Solicitar aprobacion del desarrollador (por consola)
50
+ ```yaml
51
+ approval:
52
+ developer:
53
+ decision: SI | NO
54
+ date: <ISO-8601>
55
+ comments: <opcional>
56
+ ```
57
+ - Si `decision != SI` -> **FAIL**.
58
+
59
+ ### 4. PASS
60
+ - Actualizar task.md:
61
+ - Marcar fase como completada.
62
+ - Establecer `task.lifecycle.phases.short-phase-2-plan.validated_at = <ISO-8601>`.
63
+ - Actualizar `task.phase.updated_at = <ISO-8601>`.
64
+ - Avanzar a `short-phase-3-implementation`.
65
+
66
+ ---
67
+
68
+ ## Gate (REQUIRED)
69
+ Requisitos (todos obligatorios):
70
+ 1. Existe `plan.md` con template correcto.
71
+ 2. El `plan.md` inicia con el prefijo del `architect-agent`.
72
+ 3. Existe aprobacion explicita del desarrollador.
73
+ 4. task.md refleja fase completada.
74
+ 5. task.md refleja timestamp y estado:
75
+ - `task.lifecycle.phases.short-phase-2-plan.completed == true`
76
+ - `task.lifecycle.phases.short-phase-2-plan.validated_at` no nulo
77
+ - `task.phase.updated_at` no nulo
78
+
79
+ Si Gate FAIL:
80
+ - Indicar que requisito falta.
81
+ - Bloquear hasta resolver.