siesa-agents 2.1.74 → 2.1.76
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/package.json +1 -1
- package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_design_test.md +1 -1
- package/siesa-agents/bmm/workflows/3-solutioning/quality-process/workflow.md +519 -224
- package/siesa-agents/observability/scripts/sa-emit.js +23 -0
- package/siesa-agents/scripts/bmad_to_agiletest.py +1584 -0
- package/siesa-agents/scripts/merge_test_design.py +106 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: quality-process
|
|
3
|
-
description: "QA Quality Process — Phase 1 Planning (BMAD V6.0 test design)
|
|
3
|
+
description: "QA Quality Process — Phase 1 Planning (BMAD V6.0 test design), Phase 2 Design (QA Test Plan & Strategy), or Phase 3 AgileTest Registration (push validated design to Jira/AgileTest). Asks at startup which phase to execute."
|
|
4
4
|
web_bundle: true
|
|
5
5
|
version: 1.0.0
|
|
6
6
|
parameters:
|
|
7
7
|
feature_id:
|
|
8
|
-
description: 'Opcional: Feature ID a procesar (ej: "feature-1"). Solo aplica para la Fase
|
|
8
|
+
description: 'Opcional: Feature ID a procesar (ej: "feature-1"). Solo aplica para la Fase 2 — Diseño.'
|
|
9
9
|
required: false
|
|
10
10
|
type: string
|
|
11
11
|
---
|
|
@@ -14,12 +14,11 @@ parameters:
|
|
|
14
14
|
|
|
15
15
|
**Goal:** Ejecutar el proceso de calidad QA del proyecto en la fase seleccionada. El proceso tiene dos fases complementarias que se ejecutan en secuencia por el QA asignado:
|
|
16
16
|
|
|
17
|
-
- **Fase 1 — Planeación:** Genera el
|
|
18
|
-
- **Fase 2 — Diseño:** Genera el
|
|
17
|
+
- **Fase 1 — Planeación:** Genera el Plan de Pruebas y Estrategia QA (alcance, riesgos R=IxP, Data Buckets, criterios Go/No-Go) a partir de los documentos fuente del proyecto.
|
|
18
|
+
- **Fase 2 — Diseño:** Genera el diseño de pruebas técnico (trazabilidad, Gatekeeper, FAC, Puntos Ciegos, Matriz Integral, TSR) usando BMAD V6.0 sobre los features del proyecto.
|
|
19
19
|
|
|
20
20
|
**Your Role:** Además de tu nombre, communication_style y persona, actúas como **QA Architect Senior** con 10+ años de experiencia en sistemas empresariales complejos (ERP, HCM, CRM, plataformas financieras, compliance regulatorio). Piensas como defensor del negocio, no solo como técnico de pruebas. Trabajas bajo la metodología BMAD v6.0.
|
|
21
21
|
|
|
22
|
-
---
|
|
23
22
|
|
|
24
23
|
## WORKFLOW ARCHITECTURE
|
|
25
24
|
|
|
@@ -52,16 +51,25 @@ Preguntar al usuario qué fase del proceso de calidad desea ejecutar:
|
|
|
52
51
|
```
|
|
53
52
|
🔎 Proceso de Calidad QA — Selección de Fase
|
|
54
53
|
|
|
55
|
-
El proceso de calidad tiene
|
|
54
|
+
El proceso de calidad tiene tres fases:
|
|
55
|
+
|
|
56
|
+
1️⃣ Planeación — Diseño técnico de pruebas: Gatekeeper, FAC en Gherkin,
|
|
57
|
+
Puntos Ciegos, Matriz Integral 360°, TSR y CSV de casos.
|
|
58
|
+
(Requiere: feature-status.yaml + archivos epic_source)
|
|
59
|
+
|
|
60
|
+
2️⃣ Diseño — Plan & Estrategia QA: alcance, tipos de prueba,
|
|
61
|
+
Matriz de Riesgo (R = I×P), Data Buckets y criterios Go/No-Go.
|
|
62
|
+
(Requiere: PRD, Arquitectura, Épicas u otros documentos fuente)
|
|
63
|
+
|
|
64
|
+
3️⃣ Registro AgileTest — Empuja el diseño validado a Jira/AgileTest:
|
|
65
|
+
Requisitos, Test Cases con Steps, Planes de Prueba (PPR),
|
|
66
|
+
Planes de Ejecución (PEP) y links de trazabilidad.
|
|
67
|
+
(Requiere: Fase 1 completada y validada por el equipo QA)
|
|
56
68
|
|
|
57
|
-
|
|
69
|
+
2️⃣ Diseño — Diseño técnico de pruebas: Gatekeeper, FAC en Gherkin,
|
|
58
70
|
Puntos Ciegos, Matriz Integral 360°, TSR y CSV de casos.
|
|
59
71
|
(Requiere: feature-status.yaml + archivos epic_source)
|
|
60
72
|
|
|
61
|
-
2️⃣ Diseño — Plan & Estrategia QA: alcance, tipos de prueba,
|
|
62
|
-
Matriz de Riesgo (R = I×P), Data Buckets y criterios Go/No-Go.
|
|
63
|
-
(Requiere: PRD, Arquitectura, Épicas u otros documentos fuente)
|
|
64
|
-
|
|
65
73
|
¿Qué fase deseas ejecutar?
|
|
66
74
|
```
|
|
67
75
|
|
|
@@ -76,11 +84,15 @@ Usar AskUserQuestion con las opciones:
|
|
|
76
84
|
"options": [
|
|
77
85
|
{
|
|
78
86
|
"label": "Fase 1 — Planeación",
|
|
79
|
-
"description": "
|
|
87
|
+
"description": "Plan & Estrategia QA: alcance, riesgos R=I×P, Data Buckets, criterios Go/No-Go"
|
|
80
88
|
},
|
|
81
89
|
{
|
|
82
90
|
"label": "Fase 2 — Diseño",
|
|
83
91
|
"description": "Plan & Estrategia QA: alcance, riesgos R=I×P, Data Buckets, criterios Go/No-Go"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"label": "Fase 3 — Registro AgileTest",
|
|
95
|
+
"description": "Empujar diseño validado a Jira/AgileTest: Requisitos, TCs con Steps, Planes (PPR), Ejecuciones (PEP) y links de trazabilidad"
|
|
84
96
|
}
|
|
85
97
|
]
|
|
86
98
|
}
|
|
@@ -90,6 +102,7 @@ Usar AskUserQuestion con las opciones:
|
|
|
90
102
|
|
|
91
103
|
- Si selecciona **Fase 1 — Planeación**: continuar con la sección `FASE 1 — PLANEACIÓN`
|
|
92
104
|
- Si selecciona **Fase 2 — Diseño**: continuar con la sección `FASE 2 — DISEÑO`
|
|
105
|
+
- Si selecciona **Fase 3 — Registro AgileTest**: continuar con la sección `FASE 3 — REGISTRO AGILETEST`
|
|
93
106
|
|
|
94
107
|
---
|
|
95
108
|
|
|
@@ -97,11 +110,256 @@ Usar AskUserQuestion con las opciones:
|
|
|
97
110
|
|
|
98
111
|
### Objetivo
|
|
99
112
|
|
|
113
|
+
Generar un Plan de Pruebas y Estrategia QA completo siguiendo la metodología BMAD v3.0 (Spec-Driven Quality). Produce el plan táctico que guía la ejecución de QA durante el sprint: alcance, tipos de prueba, matriz de riesgo predictivo, Data Buckets por feature y criterios de entrada/salida (Go/No-Go).
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
### F1.1: Auto Document Discovery (Zero User Interaction)
|
|
118
|
+
|
|
119
|
+
Buscar y leer automáticamente los documentos fuente desde sus rutas fijas. Notificar:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
🔍 Buscando documentos fuente del proyecto...
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Documento 1 — PRD / Requerimientos
|
|
126
|
+
|
|
127
|
+
Buscar con Glob en este orden:
|
|
128
|
+
1. `{planning_artifacts}/prd.md`
|
|
129
|
+
2. `{planning_artifacts}/PRD.md`
|
|
130
|
+
3. `{planning_artifacts}/*prd*.md`
|
|
131
|
+
4. `{planning_artifacts}/*requirements*.md`
|
|
132
|
+
|
|
133
|
+
Si encontrado: leer contenido completo → almacenar en `doc_prd`
|
|
134
|
+
Si no encontrado: `doc_prd = null`
|
|
135
|
+
|
|
136
|
+
#### Documento 2 — Arquitectura / ADR
|
|
137
|
+
|
|
138
|
+
Buscar con Glob en este orden:
|
|
139
|
+
1. `{planning_artifacts}/architecture.md`
|
|
140
|
+
2. `{planning_artifacts}/architecture-decision.md`
|
|
141
|
+
3. `{planning_artifacts}/*architecture*.md`
|
|
142
|
+
4. `{planning_artifacts}/*adr*.md`
|
|
143
|
+
|
|
144
|
+
Si encontrado: leer contenido completo → almacenar en `doc_architecture`
|
|
145
|
+
Si no encontrado: `doc_architecture = null`
|
|
146
|
+
|
|
147
|
+
#### Documento 3 — User Stories / Épicas
|
|
148
|
+
|
|
149
|
+
Buscar con Glob en este orden:
|
|
150
|
+
1. `{implementation_artifacts}/feature-status.yaml` → leer y para cada feature leer su `epic_source`
|
|
151
|
+
2. `{planning_artifacts}/epics.md`
|
|
152
|
+
3. `{planning_artifacts}/*epic*.md`
|
|
153
|
+
4. `{implementation_artifacts}/*epic*.md`
|
|
154
|
+
|
|
155
|
+
Si encontrado: leer contenido completo de todos los epic_source files y concatenar → almacenar en `doc_epics`
|
|
156
|
+
Si no encontrado: `doc_epics = null`
|
|
157
|
+
|
|
158
|
+
#### Documento 4 — Contexto Normativo / Regulatorio
|
|
159
|
+
|
|
160
|
+
Buscar con Glob en este orden:
|
|
161
|
+
1. `{project-root}/docs/*normativ*.md`
|
|
162
|
+
2. `{project-root}/docs/*regulat*.md`
|
|
163
|
+
3. `{project-root}/docs/*compliance*.md`
|
|
164
|
+
4. `{project-root}/docs/*legal*.md`
|
|
165
|
+
5. `{planning_artifacts}/*normativ*.md`
|
|
166
|
+
|
|
167
|
+
Si encontrado: leer contenido completo → almacenar en `doc_regulatory`
|
|
168
|
+
Si no encontrado: `doc_regulatory = null`
|
|
169
|
+
|
|
170
|
+
#### Documento 5 — Diseño UX / Wireframes
|
|
171
|
+
|
|
172
|
+
Buscar con Glob en este orden:
|
|
173
|
+
1. `{planning_artifacts}/ux-design.md`
|
|
174
|
+
2. `{planning_artifacts}/*ux*.md`
|
|
175
|
+
3. `{planning_artifacts}/*wireframe*.md`
|
|
176
|
+
4. `{planning_artifacts}/*design*.md`
|
|
177
|
+
|
|
178
|
+
Si encontrado: leer contenido completo → almacenar en `doc_ux`
|
|
179
|
+
Si no encontrado: `doc_ux = null`
|
|
180
|
+
|
|
181
|
+
#### Validación mínima
|
|
182
|
+
|
|
183
|
+
Verificar que al menos uno de los documentos fue encontrado. Si **ninguno** fue encontrado:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
⚠️ No se encontraron documentos fuente en las rutas estándar del proyecto.
|
|
187
|
+
|
|
188
|
+
Rutas buscadas:
|
|
189
|
+
• PRD: {planning_artifacts}/prd.md (y variantes)
|
|
190
|
+
• Arquitectura: {planning_artifacts}/architecture.md (y variantes)
|
|
191
|
+
• Épicas: {implementation_artifacts}/feature-status.yaml (y variantes)
|
|
192
|
+
• Normativo: {project-root}/docs/ (y variantes)
|
|
193
|
+
• UX: {planning_artifacts}/ux-design.md (y variantes)
|
|
194
|
+
|
|
195
|
+
¿Deseas continuar de todas formas o cancelar?
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Esperar confirmación del usuario. Si cancela, detener el workflow.
|
|
199
|
+
|
|
200
|
+
#### Reporte y confirmación de documentos encontrados
|
|
201
|
+
|
|
202
|
+
Mostrar al usuario:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
📋 Documentos fuente encontrados:
|
|
206
|
+
|
|
207
|
+
✅ PRD: {ruta relativa o "No encontrado"}
|
|
208
|
+
✅ Arquitectura: {ruta relativa o "No encontrado"}
|
|
209
|
+
✅ Épicas: {ruta(s) relativa(s) o "No encontrado"}
|
|
210
|
+
✅ Normativo: {ruta relativa o "No encontrado"}
|
|
211
|
+
✅ UX Design: {ruta relativa o "No encontrado"}
|
|
212
|
+
|
|
213
|
+
📄 Total documentos cargados: {N de 5}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Solicitar confirmación al usuario antes de continuar** usando AskUserQuestion:
|
|
217
|
+
|
|
218
|
+
```json
|
|
219
|
+
{
|
|
220
|
+
"questions": [
|
|
221
|
+
{
|
|
222
|
+
"question": "¿Los documentos cargados son correctos para continuar?",
|
|
223
|
+
"header": "Confirmación de documentos fuente",
|
|
224
|
+
"multiSelect": false,
|
|
225
|
+
"options": [
|
|
226
|
+
{
|
|
227
|
+
"label": "✅ Continuar con estos documentos",
|
|
228
|
+
"description": "Proceder a generar el Plan de Pruebas con los documentos encontrados"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"label": "➕ Agregar documentos adicionales al contexto",
|
|
232
|
+
"description": "Indicar rutas o pegar contenido de documentos extra antes de continuar"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"label": "❌ Cancelar",
|
|
236
|
+
"description": "Detener el workflow"
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Si "Continuar":**
|
|
245
|
+
- Almacenar todos los contenidos encontrados concatenados en: `input_source_documents`
|
|
246
|
+
- Proceder a F1.2
|
|
247
|
+
|
|
248
|
+
**Si "Agregar documentos adicionales":**
|
|
249
|
+
- Pedir al usuario que indique las rutas o pegue el contenido adicional:
|
|
250
|
+
```
|
|
251
|
+
📎 Indica las rutas de los documentos adicionales (una por línea) o pega
|
|
252
|
+
directamente su contenido. Escribe "listo" cuando hayas terminado.
|
|
253
|
+
```
|
|
254
|
+
- Leer y cargar cada ruta indicada; si el usuario pega contenido directamente, almacenarlo tal cual
|
|
255
|
+
- Agregar el contenido adicional a `input_source_documents`
|
|
256
|
+
- Confirmar: `✅ Documentos adicionales cargados. Procediendo a generar el Plan de Pruebas...`
|
|
257
|
+
- Proceder a F1.2
|
|
258
|
+
|
|
259
|
+
**Si "Cancelar":**
|
|
260
|
+
- Detener el workflow
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
### F1.2: Automatic Megaprompt Execution
|
|
265
|
+
|
|
266
|
+
Proceder automáticamente sin más interacción:
|
|
267
|
+
|
|
268
|
+
**Step F1.2.1: Load Megaprompt**
|
|
269
|
+
|
|
270
|
+
1. Leer el archivo completo: `{workflow_root}/prompts/prompt_test_plan.md`
|
|
271
|
+
2. Este prompt transforma al agente en QA Architect Senior BMAD v3.0
|
|
272
|
+
|
|
273
|
+
**Step F1.2.2: Execute**
|
|
274
|
+
|
|
275
|
+
Notificar al usuario:
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
⚙️ Procesando documentos fuente...
|
|
279
|
+
🔍 Ejecutando análisis interno (Chain-of-Thought):
|
|
280
|
+
• PASO 1: Impact Analysis (Blast Radius)
|
|
281
|
+
• PASO 2: Technical Debt & Compliance Assessment
|
|
282
|
+
• PASO 3: Risk Matrix Calculation (R = I × P)
|
|
283
|
+
• PASO 4: Synergy Mapping (Agentes BMAD)
|
|
284
|
+
|
|
285
|
+
📋 Generando Plan de Pruebas BMAD v3.0...
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Ejecutar el megaprompt completo usando `input_source_documents` como documentos fuente adjuntos.
|
|
289
|
+
|
|
290
|
+
El plan de pruebas generado debe incluir todas las secciones del prompt:
|
|
291
|
+
- Sección 1: Información General
|
|
292
|
+
- Sección 2: Objetivo & DoR / DoD
|
|
293
|
+
- Sección 3: Alcance de Pruebas
|
|
294
|
+
- Sección 4: Estrategia de Pruebas
|
|
295
|
+
- Sección 5: Ambiente & Datos de Prueba (Data Buckets por feature)
|
|
296
|
+
- Sección 6: Matriz de Riesgo Predictivo (R = I × P)
|
|
297
|
+
- Sección 7: Criterios de Entrada / Salida (Go / No-Go)
|
|
298
|
+
|
|
299
|
+
**Step F1.2.3: Save Output**
|
|
300
|
+
|
|
301
|
+
1. Generar timestamp: `YYYY-MM-DD-HHmmss` (ej: `2026-03-25-143052`)
|
|
302
|
+
2. Crear carpeta: `{implementation_artifacts}/quality-process/planeacion/test-plan-YYYY-MM-DD-HHmmss/`
|
|
303
|
+
3. Guardar el plan generado como: `test-plan.md`
|
|
304
|
+
|
|
305
|
+
**Frontmatter del documento generado:**
|
|
306
|
+
```yaml
|
|
307
|
+
---
|
|
308
|
+
workflow: quality-process
|
|
309
|
+
phase: planeacion
|
|
310
|
+
version: 1.0.0
|
|
311
|
+
methodology: BMAD v3.0 Spec-Driven Quality
|
|
312
|
+
generated_date: [ISO 8601 date]
|
|
313
|
+
project_name: {project_name}
|
|
314
|
+
source_documents:
|
|
315
|
+
prd: [ruta relativa o null]
|
|
316
|
+
architecture: [ruta relativa o null]
|
|
317
|
+
epics: [ruta(s) relativa(s) o null]
|
|
318
|
+
regulatory: [ruta relativa o null]
|
|
319
|
+
ux_design: [ruta relativa o null]
|
|
320
|
+
---
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
### F1.3: Completion
|
|
326
|
+
|
|
327
|
+
Presentar al usuario:
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
✅ FASE 1 — PLANEACIÓN COMPLETADA
|
|
331
|
+
|
|
332
|
+
📁 Archivo: {implementation_artifacts}/quality-process/planeacion/test-plan-YYYY-MM-DD-HHmmss/test-plan.md
|
|
333
|
+
|
|
334
|
+
📋 Secciones incluidas:
|
|
335
|
+
1. Información General
|
|
336
|
+
2. Objetivo & DoR / DoD (Checklist de entrada y salida)
|
|
337
|
+
3. Alcance de Pruebas (Features incluidas y excluidas)
|
|
338
|
+
4. Estrategia de Pruebas (Tipos, técnicas, integración Human–AI)
|
|
339
|
+
5. Ambiente & Datos de Prueba (Data Buckets por feature)
|
|
340
|
+
6. Matriz de Riesgo Predictivo (Riesgos identificados por feature)
|
|
341
|
+
7. Criterios de Entrada / Salida (Go / No-Go checklist)
|
|
342
|
+
|
|
343
|
+
⚠️ Riesgos críticos (R > 15): [N detectados — ver Sección 6]
|
|
344
|
+
🎯 Decisión Go/No-Go: [ver Sección 7]
|
|
345
|
+
|
|
346
|
+
🔍 Revisa el plan y completa las secciones marcadas como [PENDIENTE]
|
|
347
|
+
con información específica de tu sprint/equipo.
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
**⚠️ NO sugerir continuar con Fase 2 ni ninguna acción adicional. El workflow termina aquí. El equipo de QA debe revisar y validar los documentos generados antes de ejecutar la Fase 2 — Diseño.**
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## FASE 2 — DISEÑO
|
|
355
|
+
|
|
356
|
+
### Objetivo
|
|
357
|
+
|
|
100
358
|
Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V6.0. Produce trazabilidad funcional, criterios de aceptación en Gherkin, puntos ciegos por arquetipo, Matriz Integral de Pruebas 360° y Test Summary Report.
|
|
101
359
|
|
|
102
360
|
---
|
|
103
361
|
|
|
104
|
-
###
|
|
362
|
+
### F2.1: Feature Selection (Interactivo)
|
|
105
363
|
|
|
106
364
|
**Capture feature_id parameter** si fue provisto en los argumentos del comando.
|
|
107
365
|
|
|
@@ -113,7 +371,7 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
113
371
|
- Validar que existe en el registro; si no, listar IDs disponibles y detener
|
|
114
372
|
- `filtered_features = [ese feature]`
|
|
115
373
|
- Notificar: `✅ Feature seleccionado por parámetro: {feature_id}`
|
|
116
|
-
- Ir a
|
|
374
|
+
- Ir a F2.2
|
|
117
375
|
|
|
118
376
|
3. **Si no se proveyó parámetro, preguntar al usuario:**
|
|
119
377
|
|
|
@@ -132,7 +390,7 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
132
390
|
"questions": [
|
|
133
391
|
{
|
|
134
392
|
"question": "¿Qué features deseas analizar?",
|
|
135
|
-
"header": "Selección de Features — Fase
|
|
393
|
+
"header": "Selección de Features — Fase 2 Diseño",
|
|
136
394
|
"multiSelect": false,
|
|
137
395
|
"options": [
|
|
138
396
|
{
|
|
@@ -170,7 +428,7 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
170
428
|
|
|
171
429
|
---
|
|
172
430
|
|
|
173
|
-
###
|
|
431
|
+
### F2.2: Automatic Data Loading (Zero User Interaction)
|
|
174
432
|
|
|
175
433
|
**CARGAR TODOS LOS INPUTS AUTOMÁTICAMENTE:**
|
|
176
434
|
|
|
@@ -179,7 +437,7 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
179
437
|
- Almacenar como: `input_proyecto`
|
|
180
438
|
|
|
181
439
|
2. **INPUT 2 - FEATURES / HISTORIAS DE USUARIO:**
|
|
182
|
-
- Usar `filtered_features` de
|
|
440
|
+
- Usar `filtered_features` de F2.1
|
|
183
441
|
- Por cada feature, leer su archivo `epic_source` y concatenar contenido
|
|
184
442
|
- Almacenar contenido combinado como: `input_epicas`
|
|
185
443
|
|
|
@@ -192,10 +450,18 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
192
450
|
- Cargar desde: `{project-root}/_siesa-agents/bmm/data/company-standards/technology-stack.md`
|
|
193
451
|
- Almacenar como: `input_stack`
|
|
194
452
|
|
|
453
|
+
5. **INPUT 5 - PLAN DE PRUEBAS (Fase 1 — Planeación):**
|
|
454
|
+
- Buscar la carpeta más reciente en `{implementation_artifacts}/quality-process/planeacion/`:
|
|
455
|
+
- Listar todas las subcarpetas con patrón `test-plan-*`
|
|
456
|
+
- Ordenar por nombre descendente (el timestamp garantiza el orden cronológico)
|
|
457
|
+
- Tomar la primera → es la ejecución más reciente
|
|
458
|
+
- Si encontrada: leer `test-plan.md` → almacenar en `input_test_plan`
|
|
459
|
+
- Si no encontrada: `input_test_plan = null`
|
|
460
|
+
|
|
195
461
|
**Notificar al usuario:**
|
|
196
462
|
|
|
197
463
|
```
|
|
198
|
-
🎯 BMAD V6.0 — Fase
|
|
464
|
+
🎯 BMAD V6.0 — Fase 2: Diseño de Pruebas
|
|
199
465
|
|
|
200
466
|
✅ Iniciando análisis automático...
|
|
201
467
|
|
|
@@ -205,13 +471,14 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
205
471
|
• Features seleccionados: [lista de feature IDs]
|
|
206
472
|
• PRD: [ruta encontrada o "extraído de epic_source files"]
|
|
207
473
|
• Stack Tecnológico: _siesa-agents/bmm/data/company-standards/technology-stack.md
|
|
474
|
+
• Plan de Pruebas (Fase 1): [ruta encontrada o "No encontrado — se continuará sin ese contexto"]
|
|
208
475
|
|
|
209
476
|
🚀 Ejecutando las 4 fases de análisis BMAD V6.0...
|
|
210
477
|
```
|
|
211
478
|
|
|
212
479
|
---
|
|
213
480
|
|
|
214
|
-
###
|
|
481
|
+
### F2.3: Load and Execute Megaprompt
|
|
215
482
|
|
|
216
483
|
1. **Cargar el Megaprompt:**
|
|
217
484
|
- Leer el archivo completo: `{workflow_root}/prompts/prompt_design_test.md`
|
|
@@ -225,6 +492,7 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
225
492
|
- **FEATURES / HISTORIAS DE USUARIO**: {input_epicas}
|
|
226
493
|
- **METAS DE NEGOCIO (PRD)**: {input_metas}
|
|
227
494
|
- **STACK TECNOLÓGICO**: {input_stack}
|
|
495
|
+
- **PLAN DE PRUEBAS (contexto)**: {input_test_plan}
|
|
228
496
|
```
|
|
229
497
|
|
|
230
498
|
3. **Ejecutar las 4 FASES secuencialmente:**
|
|
@@ -243,26 +511,27 @@ Generar el diseño técnico de pruebas completo aplicando la metodología BMAD V
|
|
|
243
511
|
|
|
244
512
|
---
|
|
245
513
|
|
|
246
|
-
###
|
|
514
|
+
### F2.4: Save Output
|
|
247
515
|
|
|
248
516
|
**Crear estructura de carpeta con timestamp:**
|
|
249
517
|
|
|
250
518
|
1. Generar timestamp: `YYYY-MM-DD-HHmmss` (ej: `2026-03-25-143052`)
|
|
251
|
-
2. Crear
|
|
252
|
-
|
|
519
|
+
2. Crear estructura de carpetas:
|
|
520
|
+
- Raíz: `{implementation_artifacts}/quality-process/diseno/test-design-YYYY-MM-DD-HHmmss/`
|
|
521
|
+
- Shards: `{implementation_artifacts}/quality-process/diseno/test-design-YYYY-MM-DD-HHmmss/shards/`
|
|
522
|
+
3. Guardar los 5 documentos dentro de la subcarpeta `shards/`:
|
|
253
523
|
|
|
254
|
-
**Documento 1:** `test-design-
|
|
255
|
-
**Documento 2:** `test-design-
|
|
256
|
-
**Documento 3:** `test-design-
|
|
257
|
-
**Documento 4:** `test-design-
|
|
258
|
-
**Documento 5:** `test-design-
|
|
259
|
-
**Documento 6:** `test-design-phase5-tsr.md` (Fase 5 — TSR + Trazabilidad)
|
|
524
|
+
**Documento 1:** `shards/test-design-phase1-gatekeeper.md` (Fase 1 — Clasificación Gatekeeper)
|
|
525
|
+
**Documento 2:** `shards/test-design-phase2-fac.md` (Fase 2 — Features y FAC en Gherkin)
|
|
526
|
+
**Documento 3:** `shards/test-design-phase3-blind-spots.md` (Fase 3 — Puntos Ciegos)
|
|
527
|
+
**Documento 4:** `shards/test-design-phase4-test-matrix.md` (Fase 4 — Matriz Integral)
|
|
528
|
+
**Documento 5:** `shards/test-design-phase5-tsr.md` (Fase 5 — TSR + Trazabilidad)
|
|
260
529
|
|
|
261
530
|
**Frontmatter para todos los documentos:**
|
|
262
531
|
```yaml
|
|
263
532
|
---
|
|
264
533
|
workflow: quality-process
|
|
265
|
-
phase:
|
|
534
|
+
phase: diseno
|
|
266
535
|
version: 1.0.0
|
|
267
536
|
methodology: BMAD V6.0 MegaPrompt
|
|
268
537
|
generated_date: [ISO 8601 date]
|
|
@@ -270,13 +539,14 @@ project_name: {input_proyecto}
|
|
|
270
539
|
input_documents:
|
|
271
540
|
epics: [ruta(s) relativa(s)]
|
|
272
541
|
prd: [ruta relativa o null]
|
|
273
|
-
technology_stack: _siesa-agents/bmm/data/company-standards/technology-stack.md
|
|
542
|
+
technology_stack: _siesa-agents/bmm/data/company-standards/technology-stack.md
|
|
543
|
+
test_plan: [ruta relativa o null]
|
|
274
544
|
---
|
|
275
545
|
```
|
|
276
546
|
|
|
277
547
|
**Exportar casos de prueba a CSV (Siesa FT-SD-007 v5.0):**
|
|
278
548
|
|
|
279
|
-
Después de guardar `test-design-phase4-test-matrix.md`:
|
|
549
|
+
Después de guardar `shards/test-design-phase4-test-matrix.md`:
|
|
280
550
|
|
|
281
551
|
1. Leer el contenido completo del archivo generado
|
|
282
552
|
2. Identificar secciones `## F# — [Nombre Feature]` → `ID Épica` formato `EPIC-POS-F{n}`
|
|
@@ -306,186 +576,239 @@ Después de guardar `test-design-phase4-test-matrix.md`:
|
|
|
306
576
|
- ✅ Escapar comillas internas duplicándolas: `"` → `""`
|
|
307
577
|
- ✅ Encoding: UTF-8
|
|
308
578
|
|
|
309
|
-
6. Guardar como: `{implementation_artifacts}/quality-process/
|
|
579
|
+
6. Guardar como: `{implementation_artifacts}/quality-process/diseno/test-design-YYYY-MM-DD-HHmmss/test-cases.csv` (en la raíz, NO en shards/)
|
|
310
580
|
|
|
311
581
|
---
|
|
312
582
|
|
|
313
|
-
###
|
|
583
|
+
### F2.5: Completion
|
|
314
584
|
|
|
315
585
|
Presentar al usuario:
|
|
316
586
|
|
|
317
587
|
```
|
|
318
|
-
✅ FASE
|
|
588
|
+
✅ FASE 2 — DISEÑO COMPLETADA
|
|
589
|
+
|
|
590
|
+
📁 Carpeta: {implementation_artifacts}/quality-process/diseno/test-design-YYYY-MM-DD-HHmmss/
|
|
319
591
|
|
|
320
|
-
|
|
592
|
+
📄 Archivos en raíz:
|
|
593
|
+
• test-design.md — Documento unificado (phases 1–5)
|
|
594
|
+
• test-cases.csv — Casos exportados (Siesa FT-SD-007 v5.0)
|
|
321
595
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
6. test-cases.csv — Casos exportados (Siesa FT-SD-007 v5.0)
|
|
329
|
-
7. test-design-phase5-tsr.md — Fase 5: TSR + Trazabilidad
|
|
596
|
+
📂 shards/ (documentos individuales por fase):
|
|
597
|
+
• test-design-phase1-gatekeeper.md
|
|
598
|
+
• test-design-phase2-fac.md
|
|
599
|
+
• test-design-phase3-blind-spots.md
|
|
600
|
+
• test-design-phase4-test-matrix.md
|
|
601
|
+
• test-design-phase5-tsr.md
|
|
330
602
|
|
|
331
603
|
📊 Métricas:
|
|
332
604
|
• Features identificados: [count]
|
|
333
605
|
• Casos de prueba totales: [count]
|
|
334
606
|
• Casos P0 (Críticos): [count]
|
|
335
607
|
• Cobertura de riesgos críticos: [%]%
|
|
336
|
-
|
|
337
|
-
💡 Siguiente paso recomendado: ejecutar Fase 2 — Diseño para generar
|
|
338
|
-
el Plan & Estrategia QA con criterios Go/No-Go.
|
|
339
608
|
```
|
|
340
609
|
|
|
610
|
+
**⚠️ El workflow termina aquí. El equipo de QA debe revisar y validar los documentos generados.**
|
|
611
|
+
|
|
341
612
|
---
|
|
342
613
|
|
|
343
|
-
|
|
614
|
+
### F2.6: Merge Documents (Automatic)
|
|
344
615
|
|
|
345
|
-
|
|
616
|
+
Inmediatamente después de guardar los documentos en F2.4, ejecutar el script de merge usando la Bash tool:
|
|
346
617
|
|
|
347
|
-
|
|
618
|
+
```bash
|
|
619
|
+
python {project-root}/_siesa-agents/scripts/merge_test_design.py "{carpeta_generada}"
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
Donde `{carpeta_generada}` es la ruta absoluta de la carpeta creada en F2.4 (ej: `{implementation_artifacts}/quality-process/diseno/test-design-YYYY-MM-DD-HHmmss/`).
|
|
623
|
+
|
|
624
|
+
El script lee los 5 documentos desde `{carpeta_generada}/shards/` y genera `test-design.md` en la raíz de `{carpeta_generada}`.
|
|
625
|
+
|
|
626
|
+
**No mostrar output técnico del script al usuario.**
|
|
348
627
|
|
|
349
628
|
---
|
|
350
629
|
|
|
351
|
-
|
|
630
|
+
*(Note: `workflow_root` es `{project-root}/_siesa-agents/bmm/workflows/3-solutioning/quality-process`)*
|
|
352
631
|
|
|
353
|
-
|
|
632
|
+
---
|
|
354
633
|
|
|
355
|
-
|
|
356
|
-
🔍 Buscando documentos fuente del proyecto...
|
|
357
|
-
```
|
|
634
|
+
## FASE 3 — REGISTRO AGILETEST
|
|
358
635
|
|
|
359
|
-
|
|
636
|
+
### Objetivo
|
|
360
637
|
|
|
361
|
-
|
|
362
|
-
1. `{planning_artifacts}/prd.md`
|
|
363
|
-
2. `{planning_artifacts}/PRD.md`
|
|
364
|
-
3. `{planning_artifacts}/*prd*.md`
|
|
365
|
-
4. `{planning_artifacts}/*requirements*.md`
|
|
638
|
+
Empujar el diseño de pruebas validado por el equipo QA a Jira/AgileTest. Crea automáticamente los artefactos de la herramienta: Requisitos (Stories BL → Tareas), Test Cases con Steps (Gherkin → Pasos), Planes de Prueba (PPR), Planes de Ejecución (PEP) y todos los links de trazabilidad. Requiere aprobación humana explícita antes de crear cualquier issue.
|
|
366
639
|
|
|
367
|
-
|
|
368
|
-
Si no encontrado: `doc_prd = null`
|
|
640
|
+
**Principio:** "La IA acelera, el humano dirige y autoriza."
|
|
369
641
|
|
|
370
|
-
|
|
642
|
+
---
|
|
371
643
|
|
|
372
|
-
|
|
373
|
-
1. `{planning_artifacts}/architecture.md`
|
|
374
|
-
2. `{planning_artifacts}/architecture-decision.md`
|
|
375
|
-
3. `{planning_artifacts}/*architecture*.md`
|
|
376
|
-
4. `{planning_artifacts}/*adr*.md`
|
|
644
|
+
### F3.1: Seleccionar Diseño a Registrar
|
|
377
645
|
|
|
378
|
-
|
|
379
|
-
Si no encontrado: `doc_architecture = null`
|
|
646
|
+
**Buscar diseños disponibles:**
|
|
380
647
|
|
|
381
|
-
|
|
648
|
+
1. Listar todas las subcarpetas en `{implementation_artifacts}/quality-process/diseno/` con patrón `test-design-*`
|
|
649
|
+
2. Para cada carpeta encontrada, verificar que existe `test-design.md` en su raíz
|
|
650
|
+
3. Ordenar por nombre descendente (el timestamp garantiza orden cronológico — más reciente primero)
|
|
382
651
|
|
|
383
|
-
|
|
384
|
-
1. `{implementation_artifacts}/feature-status.yaml` → leer y para cada feature leer su `epic_source`
|
|
385
|
-
2. `{planning_artifacts}/epics.md`
|
|
386
|
-
3. `{planning_artifacts}/*epic*.md`
|
|
387
|
-
4. `{implementation_artifacts}/*epic*.md`
|
|
652
|
+
**Mostrar lista al usuario:**
|
|
388
653
|
|
|
389
|
-
|
|
390
|
-
|
|
654
|
+
```
|
|
655
|
+
📁 Diseños de prueba disponibles:
|
|
391
656
|
|
|
392
|
-
|
|
657
|
+
1. test-design-YYYY-MM-DD-HHmmss/ ← más reciente
|
|
658
|
+
• test-design.md ✅
|
|
659
|
+
• test-cases.csv ✅
|
|
393
660
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
3. `{project-root}/docs/*compliance*.md`
|
|
398
|
-
4. `{project-root}/docs/*legal*.md`
|
|
399
|
-
5. `{planning_artifacts}/*normativ*.md`
|
|
661
|
+
2. test-design-YYYY-MM-DD-HHmmss/
|
|
662
|
+
...
|
|
663
|
+
```
|
|
400
664
|
|
|
401
|
-
Si
|
|
402
|
-
|
|
665
|
+
Si solo hay uno, seleccionarlo automáticamente y notificar:
|
|
666
|
+
```
|
|
667
|
+
✅ Diseño seleccionado automáticamente (único disponible):
|
|
668
|
+
{implementation_artifacts}/quality-process/diseno/test-design-YYYY-MM-DD-HHmmss/
|
|
669
|
+
```
|
|
403
670
|
|
|
404
|
-
|
|
671
|
+
Si hay más de uno, preguntar al usuario:
|
|
672
|
+
```json
|
|
673
|
+
{
|
|
674
|
+
"questions": [
|
|
675
|
+
{
|
|
676
|
+
"question": "¿Qué diseño deseas registrar en AgileTest?",
|
|
677
|
+
"header": "Selección de Diseño — Fase 3 Registro AgileTest",
|
|
678
|
+
"multiSelect": false,
|
|
679
|
+
"options": [
|
|
680
|
+
{ "label": "test-design-YYYY-MM-DD-HHmmss (más reciente)", "description": "N TCs — generado el DD/MM/YYYY" },
|
|
681
|
+
{ "label": "test-design-YYYY-MM-DD-HHmmss", "description": "N TCs — generado el DD/MM/YYYY" }
|
|
682
|
+
]
|
|
683
|
+
}
|
|
684
|
+
]
|
|
685
|
+
}
|
|
686
|
+
```
|
|
405
687
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
3. `{planning_artifacts}/*wireframe*.md`
|
|
410
|
-
4. `{planning_artifacts}/*design*.md`
|
|
688
|
+
**Almacenar:**
|
|
689
|
+
- `selected_design_folder` → ruta absoluta a la carpeta seleccionada
|
|
690
|
+
- `selected_test_design_path` → `{selected_design_folder}/test-design.md`
|
|
411
691
|
|
|
412
|
-
|
|
413
|
-
Si no encontrado: `doc_ux = null`
|
|
692
|
+
**Leer `test-design.md` y mostrar resumen rápido:**
|
|
414
693
|
|
|
415
|
-
|
|
694
|
+
```
|
|
695
|
+
📋 Diseño seleccionado:
|
|
696
|
+
• Archivo: {ruta relativa}/test-design.md
|
|
697
|
+
• Features: [extraer conteo de secciones ## F# del documento]
|
|
698
|
+
• Stories BL: [extraer de Sección I — Gatekeeper]
|
|
699
|
+
• Test Cases: [extraer de Sección IV — Matriz 360°]
|
|
700
|
+
• CSV: test-cases.csv — [N filas]
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
---
|
|
416
704
|
|
|
417
|
-
|
|
418
|
-
- Listar todas las subcarpetas con patrón `test-design-*`
|
|
419
|
-
- Ordenar por nombre descendente (el timestamp garantiza el orden cronológico)
|
|
420
|
-
- Tomar la primera → es la ejecución más reciente
|
|
705
|
+
### F3.2: Validar Credenciales (Pre-flight)
|
|
421
706
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
-
|
|
425
|
-
|
|
707
|
+
Antes de ejecutar el dry-run, verificar que las credenciales están disponibles.
|
|
708
|
+
El script las busca en este orden de prioridad:
|
|
709
|
+
1. `_siesa-agents/bmm/config.secrets.yaml` (archivo local gitignoreado — forma recomendada)
|
|
710
|
+
2. Variables de entorno `JIRA_API_TOKEN`, `AGILETEST_CLIENT_ID`, `AGILETEST_CLIENT_SECRET`
|
|
711
|
+
|
|
712
|
+
**Leer `_siesa-agents/bmm/config.secrets.yaml` y verificar que los tokens no estén vacíos:**
|
|
426
713
|
|
|
427
|
-
Si no encontrada: `doc_planeacion = null` — notificar:
|
|
428
714
|
```
|
|
429
|
-
|
|
715
|
+
📋 Estado de credenciales en _siesa-agents/bmm/config.secrets.yaml:
|
|
716
|
+
jira_api_token: [configurado ✅ | vacío ⚠️]
|
|
717
|
+
agiletest_client_id: [configurado ✅ | vacío ⚠️]
|
|
718
|
+
agiletest_client_secret: [configurado ✅ | vacío ⚠️]
|
|
430
719
|
```
|
|
431
720
|
|
|
432
|
-
|
|
721
|
+
**Si todos están configurados:** continuar a F3.3.
|
|
433
722
|
|
|
434
|
-
|
|
723
|
+
**Si alguno está vacío**, mostrar instrucciones y DETENER:
|
|
435
724
|
|
|
436
725
|
```
|
|
437
|
-
⚠️
|
|
726
|
+
⚠️ Faltan credenciales en _siesa-agents/bmm/config.secrets.yaml
|
|
438
727
|
|
|
439
|
-
|
|
440
|
-
• PRD: {planning_artifacts}/prd.md (y variantes)
|
|
441
|
-
• Arquitectura: {planning_artifacts}/architecture.md (y variantes)
|
|
442
|
-
• Épicas: {implementation_artifacts}/feature-status.yaml (y variantes)
|
|
443
|
-
• Normativo: {project-root}/docs/ (y variantes)
|
|
444
|
-
• UX: {planning_artifacts}/ux-design.md (y variantes)
|
|
728
|
+
Abre el archivo y completa los valores:
|
|
445
729
|
|
|
446
|
-
|
|
730
|
+
agiletest:
|
|
731
|
+
jira_api_token: "tu-token-aqui"
|
|
732
|
+
agiletest_client_id: "tu-client-id"
|
|
733
|
+
agiletest_client_secret: "tu-client-secret"
|
|
734
|
+
|
|
735
|
+
Dónde obtenerlos:
|
|
736
|
+
• jira_api_token: Jira → Profile → Security → API tokens → Create
|
|
737
|
+
• agiletest_client_id/secret: AgileTest plugin en Jira → Settings → API Keys
|
|
738
|
+
|
|
739
|
+
El archivo ya está en .gitignore — es seguro guardar los tokens ahí.
|
|
740
|
+
Una vez completados, vuelve a ejecutar la Fase 3.
|
|
447
741
|
```
|
|
448
742
|
|
|
449
|
-
|
|
743
|
+
---
|
|
450
744
|
|
|
451
|
-
|
|
745
|
+
### F3.3: Dry-run — Vista Previa Obligatoria
|
|
452
746
|
|
|
453
|
-
|
|
747
|
+
**Ejecutar dry-run usando Bash tool:**
|
|
454
748
|
|
|
749
|
+
```bash
|
|
750
|
+
python {project-root}/_siesa-agents/scripts/bmad_to_agiletest.py \
|
|
751
|
+
--input "{selected_test_design_path}" \
|
|
752
|
+
--config "{project-root}/_bmad/bmm/config.yaml" \
|
|
753
|
+
--dry-run
|
|
455
754
|
```
|
|
456
|
-
📋 Documentos fuente encontrados:
|
|
457
755
|
|
|
458
|
-
|
|
459
|
-
✅ Arquitectura: {ruta relativa o "No encontrado"}
|
|
460
|
-
✅ Épicas: {ruta(s) relativa(s) o "No encontrado"}
|
|
461
|
-
✅ Normativo: {ruta relativa o "No encontrado"}
|
|
462
|
-
✅ UX Design: {ruta relativa o "No encontrado"}
|
|
463
|
-
✅ Fase 1 — Planeación: {ruta relativa o "No encontrado"}
|
|
756
|
+
**Parsear la salida y presentar al usuario en tabla ordenada:**
|
|
464
757
|
|
|
465
|
-
|
|
758
|
+
```
|
|
759
|
+
📊 Vista previa — Lo que se creará en Jira/AgileTest:
|
|
760
|
+
|
|
761
|
+
┌──────────────────────────┬──────────┐
|
|
762
|
+
│ Artefacto │ Cantidad │
|
|
763
|
+
├──────────────────────────┼──────────┤
|
|
764
|
+
│ Requisitos (Stories BL) │ N │
|
|
765
|
+
│ Test Cases │ N │
|
|
766
|
+
│ • P0 (Muy Alta) │ N │
|
|
767
|
+
│ • P1 (Alta) │ N │
|
|
768
|
+
│ • P2 (Media) │ N │
|
|
769
|
+
│ • P3 (Baja) │ N │
|
|
770
|
+
│ Planes de Prueba (PPR) │ N │
|
|
771
|
+
│ Planes de Ejecución (PEP)│ N │
|
|
772
|
+
│ Links de trazabilidad │ ~N │
|
|
773
|
+
│ Steps de prueba │ ~N │
|
|
774
|
+
└──────────────────────────┴──────────┘
|
|
775
|
+
|
|
776
|
+
📋 Distribución por Feature:
|
|
777
|
+
F1 — [Nombre]: N TCs
|
|
778
|
+
F2 — [Nombre]: N TCs
|
|
779
|
+
...
|
|
780
|
+
|
|
781
|
+
🎯 Proyecto Jira: {jira_project_key}
|
|
782
|
+
⏱️ Tiempo estimado: ~5 minutos
|
|
466
783
|
```
|
|
467
784
|
|
|
468
|
-
|
|
785
|
+
---
|
|
786
|
+
|
|
787
|
+
### F3.4: Gate de Aprobación Humana (OBLIGATORIO)
|
|
788
|
+
|
|
789
|
+
Este paso es **no omisible**. No se crea ningún issue sin aprobación explícita.
|
|
790
|
+
|
|
791
|
+
**Preguntar al usuario usando AskUserQuestion:**
|
|
469
792
|
|
|
470
793
|
```json
|
|
471
794
|
{
|
|
472
795
|
"questions": [
|
|
473
796
|
{
|
|
474
|
-
"question": "¿
|
|
475
|
-
"header": "Confirmación
|
|
797
|
+
"question": "¿Apruebas la creación de estos N issues en Jira/AgileTest?",
|
|
798
|
+
"header": "⚠️ Confirmación Requerida — Creación en AgileTest",
|
|
476
799
|
"multiSelect": false,
|
|
477
800
|
"options": [
|
|
478
801
|
{
|
|
479
|
-
"label": "✅
|
|
480
|
-
"description": "
|
|
802
|
+
"label": "✅ Aprobar y crear en AgileTest",
|
|
803
|
+
"description": "Se crearán los N issues en el proyecto Jira. Esta acción es reversible (el script tiene modo --delete para limpiar)."
|
|
481
804
|
},
|
|
482
805
|
{
|
|
483
|
-
"label": "
|
|
484
|
-
"description": "
|
|
806
|
+
"label": "🔍 Ver detalle de TCs antes de decidir",
|
|
807
|
+
"description": "Mostrar cada TC con sus pasos antes de aprobar"
|
|
485
808
|
},
|
|
486
809
|
{
|
|
487
|
-
"label": "❌ Cancelar",
|
|
488
|
-
"description": "
|
|
810
|
+
"label": "❌ Cancelar — no crear nada",
|
|
811
|
+
"description": "Salir sin crear issues en Jira/AgileTest"
|
|
489
812
|
}
|
|
490
813
|
]
|
|
491
814
|
}
|
|
@@ -493,112 +816,84 @@ Mostrar al usuario:
|
|
|
493
816
|
}
|
|
494
817
|
```
|
|
495
818
|
|
|
496
|
-
**Si "
|
|
497
|
-
- Almacenar todos los contenidos encontrados concatenados en: `input_source_documents` (incluyendo `doc_planeacion` si está disponible — debe ir al final para que el megaprompt lo tenga como contexto de referencia previo)
|
|
498
|
-
- Proceder a F2.2
|
|
499
|
-
|
|
500
|
-
**Si "Agregar documentos adicionales":**
|
|
501
|
-
- Pedir al usuario que indique las rutas o pegue el contenido adicional:
|
|
502
|
-
```
|
|
503
|
-
📎 Indica las rutas de los documentos adicionales (una por línea) o pega
|
|
504
|
-
directamente su contenido. Escribe "listo" cuando hayas terminado.
|
|
505
|
-
```
|
|
506
|
-
- Leer y cargar cada ruta indicada; si el usuario pega contenido directamente, almacenarlo tal cual
|
|
507
|
-
- Agregar el contenido adicional a `input_source_documents`
|
|
508
|
-
- Confirmar: `✅ Documentos adicionales cargados. Procediendo a generar el Plan de Pruebas...`
|
|
509
|
-
- Proceder a F2.2
|
|
510
|
-
|
|
511
|
-
**Si "Cancelar":**
|
|
512
|
-
- Detener el workflow
|
|
819
|
+
**Si "Ver detalle":** Ejecutar con `--detail` y regresar a este mismo gate:
|
|
513
820
|
|
|
514
|
-
|
|
821
|
+
```bash
|
|
822
|
+
python {project-root}/_siesa-agents/scripts/bmad_to_agiletest.py \
|
|
823
|
+
--input "{selected_test_design_path}" \
|
|
824
|
+
--config "{project-root}/_bmad/bmm/config.yaml" \
|
|
825
|
+
--dry-run --detail
|
|
826
|
+
```
|
|
515
827
|
|
|
516
|
-
|
|
828
|
+
Mostrar el detalle y volver a presentar el gate de aprobación.
|
|
517
829
|
|
|
518
|
-
|
|
830
|
+
**Si "Cancelar":** Notificar `❌ Operación cancelada. No se creó ningún issue.` y terminar el workflow.
|
|
519
831
|
|
|
520
|
-
**
|
|
832
|
+
**Si "Aprobar":** Continuar a F3.5.
|
|
521
833
|
|
|
522
|
-
|
|
523
|
-
2. Este prompt transforma al agente en QA Architect Senior BMAD v3.0
|
|
834
|
+
---
|
|
524
835
|
|
|
525
|
-
|
|
836
|
+
### F3.5: Crear en AgileTest
|
|
526
837
|
|
|
527
|
-
Notificar
|
|
528
|
-
|
|
529
|
-
```
|
|
530
|
-
⚙️ Procesando documentos fuente...
|
|
531
|
-
🔍 Ejecutando análisis interno (Chain-of-Thought):
|
|
532
|
-
• PASO 1: Impact Analysis (Blast Radius)
|
|
533
|
-
• PASO 2: Technical Debt & Compliance Assessment
|
|
534
|
-
• PASO 3: Risk Matrix Calculation (R = I × P)
|
|
535
|
-
• PASO 4: Synergy Mapping (Agentes BMAD)
|
|
838
|
+
**Notificar inicio:**
|
|
536
839
|
|
|
537
|
-
📋 Generando Plan de Pruebas BMAD v3.0...
|
|
538
840
|
```
|
|
841
|
+
🚀 Iniciando creación en Jira/AgileTest...
|
|
539
842
|
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
- Sección 1: Información General
|
|
544
|
-
- Sección 2: Objetivo & DoR / DoD
|
|
545
|
-
- Sección 3: Alcance de Pruebas
|
|
546
|
-
- Sección 4: Estrategia de Pruebas
|
|
547
|
-
- Sección 5: Ambiente & Datos de Prueba (Data Buckets por feature)
|
|
548
|
-
- Sección 6: Matriz de Riesgo Predictivo (R = I × P)
|
|
549
|
-
- Sección 7: Criterios de Entrada / Salida (Go / No-Go)
|
|
550
|
-
|
|
551
|
-
**Step F2.2.3: Save Output**
|
|
843
|
+
Proyecto: {jira_project_key}
|
|
844
|
+
Input: {ruta relativa}/test-design.md
|
|
845
|
+
State: {ruta relativa}/bmad_state_{feature_code}.json
|
|
552
846
|
|
|
553
|
-
|
|
554
|
-
2. Crear carpeta: `{implementation_artifacts}/quality-process/diseno/test-plan-YYYY-MM-DD-HHmmss/`
|
|
555
|
-
3. Guardar el plan generado como: `test-plan.md`
|
|
556
|
-
|
|
557
|
-
**Frontmatter del documento generado:**
|
|
558
|
-
```yaml
|
|
559
|
-
---
|
|
560
|
-
workflow: quality-process
|
|
561
|
-
phase: diseno
|
|
562
|
-
version: 1.0.0
|
|
563
|
-
methodology: BMAD v3.0 Spec-Driven Quality
|
|
564
|
-
generated_date: [ISO 8601 date]
|
|
565
|
-
project_name: {project_name}
|
|
566
|
-
source_documents:
|
|
567
|
-
prd: [ruta relativa o null]
|
|
568
|
-
architecture: [ruta relativa o null]
|
|
569
|
-
epics: [ruta(s) relativa(s) o null]
|
|
570
|
-
regulatory: [ruta relativa o null]
|
|
571
|
-
ux_design: [ruta relativa o null]
|
|
572
|
-
---
|
|
847
|
+
Progreso de los 8 pasos:
|
|
573
848
|
```
|
|
574
849
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
### F2.3: Completion
|
|
578
|
-
|
|
579
|
-
Presentar al usuario:
|
|
850
|
+
**Ejecutar el script usando Bash tool:**
|
|
580
851
|
|
|
852
|
+
```bash
|
|
853
|
+
python {project-root}/_siesa-agents/scripts/bmad_to_agiletest.py \
|
|
854
|
+
--input "{selected_test_design_path}" \
|
|
855
|
+
--config "{project-root}/_bmad/bmm/config.yaml" \
|
|
856
|
+
--state-dir "{selected_design_folder}" \
|
|
857
|
+
--create
|
|
581
858
|
```
|
|
582
|
-
✅ FASE 2 — DISEÑO COMPLETADA
|
|
583
859
|
|
|
584
|
-
|
|
860
|
+
**Mostrar el output del script en tiempo real.**
|
|
585
861
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
4. Estrategia de Pruebas (Tipos, técnicas, integración Human–AI)
|
|
591
|
-
5. Ambiente & Datos de Prueba (Data Buckets por feature)
|
|
592
|
-
6. Matriz de Riesgo Predictivo (Riesgos identificados por feature)
|
|
593
|
-
7. Criterios de Entrada / Salida (Go / No-Go checklist)
|
|
862
|
+
Si el script retorna un error:
|
|
863
|
+
- Mostrar el error completo
|
|
864
|
+
- Verificar si el state file fue creado (idempotencia: re-ejecutar es seguro)
|
|
865
|
+
- Sugerir acción correctiva según el tipo de error
|
|
594
866
|
|
|
595
|
-
|
|
596
|
-
🎯 Decisión Go/No-Go: [ver Sección 7]
|
|
867
|
+
---
|
|
597
868
|
|
|
598
|
-
|
|
599
|
-
con información específica de tu sprint/equipo.
|
|
600
|
-
```
|
|
869
|
+
### F3.6: Completion
|
|
601
870
|
|
|
602
|
-
|
|
871
|
+
Parsear la salida final del script y presentar al usuario:
|
|
603
872
|
|
|
604
|
-
|
|
873
|
+
```
|
|
874
|
+
✅ FASE 3 — REGISTRO AGILETEST COMPLETADO
|
|
875
|
+
|
|
876
|
+
┌──────────────────────────────┬──────────┬──────────────────────────┐
|
|
877
|
+
│ Artefacto │ Cantidad │ Rango Jira │
|
|
878
|
+
├──────────────────────────────┼──────────┼──────────────────────────┤
|
|
879
|
+
│ Requisitos (Stories) │ N │ {KEY}-XXXX → {KEY}-YYYY │
|
|
880
|
+
│ Test Cases │ N │ {KEY}-XXXX → {KEY}-YYYY │
|
|
881
|
+
│ Test Plans (PPR) │ N │ {KEY}-XXXX, ... │
|
|
882
|
+
│ Ejecuciones (PEP) │ N │ {KEY}-XXXX, ... │
|
|
883
|
+
│ Links Jira (TC→Req+Plan+Exec)│ N │ — │
|
|
884
|
+
│ Steps de prueba │ N │ — │
|
|
885
|
+
└──────────────────────────────┴──────────┴──────────────────────────┘
|
|
886
|
+
|
|
887
|
+
⏱️ Tiempo total: ~5 minutos
|
|
888
|
+
|
|
889
|
+
📋 Keys para el Dashboard Forge (Confluence):
|
|
890
|
+
planKeys: {lista de keys PPR separados por coma}
|
|
891
|
+
execKeys: {lista de keys PEP separados por coma}
|
|
892
|
+
|
|
893
|
+
🔗 Verificar en AgileTest:
|
|
894
|
+
{jira_base_url}/browse/{primer key PEP}
|
|
895
|
+
|
|
896
|
+
💾 State file guardado en:
|
|
897
|
+
{ruta relativa}/bmad_state_{feature_code}.json
|
|
898
|
+
(Idempotente: re-ejecutar la Fase 3 con el mismo diseño es seguro)
|
|
899
|
+
```
|