siesa-agents 2.1.67 → 2.1.68
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/bmad/bmm/data/git-flow-siesa.md +24 -4
- package/claude/commands/bmad/bmm/workflows/code-review.md +6 -5
- package/claude/commands/bmad/bmm/workflows/quality-process.md +5 -0
- package/gemini/commands/bmad-workflow-bmm-quality-process.toml +4 -0
- package/package.json +1 -1
- package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_design_test.md +95 -0
- package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_test_plan.md +340 -0
- package/siesa-agents/bmm/workflows/3-solutioning/quality-process/workflow.md +604 -0
- package/siesa-agents/bmm/workflows/4-implementation/code-review/workflow_ext.md +22 -0
- package/siesa-agents/bmm/workflows/4-implementation/create-story/workflow_ext.md +1 -1
- package/siesa-agents/bmm/workflows/4-implementation/dev-story/workflow_ext.md +72 -1
- package/claude/commands/bmad/bmm/workflows/traceability-and-testing.md +0 -5
- package/gemini/commands/bmad-workflow-bmm-traceability-and-testing.toml +0 -4
|
@@ -14,10 +14,13 @@ Para cualquier desarrollo de funcionalidad (**feature**), la rama de origen debe
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
## 2. Nomenclatura de la Rama
|
|
17
|
+
## 2. Nomenclatura de la Rama y worktree
|
|
18
18
|
La estructura del nombre debe seguir el formato:
|
|
19
19
|
`rama-padre-team-owner-rq-descripcion`.
|
|
20
20
|
|
|
21
|
+
Identificar el folder actual para usarlo en la generacion del worktree de la siguiente manera:
|
|
22
|
+
`git worktree add ../wt-{folder-name}/{folder-name}-{branch-name} -b {branch-name}`
|
|
23
|
+
|
|
21
24
|
**Parámetros Sugeridos:**
|
|
22
25
|
* **Rama Padre:** `develop`.
|
|
23
26
|
* **Team:** (Debe coincidir con un prefijo válido, ej: `legacy-erp-nomina`).
|
|
@@ -26,7 +29,7 @@ La estructura del nombre debe seguir el formato:
|
|
|
26
29
|
* **Descripción:** Breve, en minúsculas y con guiones.
|
|
27
30
|
|
|
28
31
|
**Ejemplo de comando:**
|
|
29
|
-
`git
|
|
32
|
+
`git worktree ../wt-erp-nomina/erp-nomina-develop-legacy-erp-nomina-gaduranb-rq1234-nueva-interfaz -b develop-legacy-erp-nomina-gaduranb-rq1234-nueva-interfaz`.
|
|
30
33
|
|
|
31
34
|
---
|
|
32
35
|
|
|
@@ -43,8 +46,25 @@ Se adopta el formato de **Conventional Commits** para mejorar la legibilidad y a
|
|
|
43
46
|
* `git commit -m "fix: corregir cálculo de nómina en rama legacy"`.
|
|
44
47
|
|
|
45
48
|
---
|
|
49
|
+
## 4. Cambio de ramas
|
|
50
|
+
Para cambiar de rama se debe rastrear primero la ruta de la misma usando el listado del worktree `git worktree list`, una vez obtenida la ruta se cambia a la carpeta especifica de la rama que se necesita.
|
|
51
|
+
|
|
52
|
+
**Ejemplo de comando:**
|
|
53
|
+
comando:
|
|
54
|
+
`git worktree list`
|
|
46
55
|
|
|
47
|
-
|
|
56
|
+
resultado:
|
|
57
|
+
`C:/labs/siesaAgentsAlpha/siesaAgentsAlpha 7136248 [develop]`
|
|
58
|
+
`C:/labs/siesaAgentsAlpha/wt-erp-nomina/erp-nomina-develop-legacy-erp-nomina-gaduranb-rq1234-nueva-interfaz 86ed4a7 [develop-legacy-erp-nomina-gaduranb-rq1234-nueva-interfaz]`
|
|
59
|
+
`C:/labs/siesaAgentsAlpha/wt-erp-nomina/erp-nomina-develop-legacy-gaduranb-rq1235-metodos d0ddac7 [develop-legacy-gaduranb-rq1235-metodos]`
|
|
60
|
+
|
|
61
|
+
cambio de rama:
|
|
62
|
+
`cd ../wt-erp-nomina/erp-nomina-develop-legacy-gaduranb-rq1235-metodos`
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
## 5. Reglas de Oro de Gobernanza
|
|
48
66
|
* **Todo en Minúsculas:** Los nombres de ramas y repositorios no deben contener mayúsculas.
|
|
49
67
|
* **Protección de Ramas:** `main` y `develop` están protegidas; el push directo está prohibido.
|
|
50
|
-
* **
|
|
68
|
+
* **Cuando realizar commit** Los commits deberan hacerce por historia en el code review, especificamente cuando este en status done la historia.
|
|
69
|
+
* **Generacion de ramas** Las ramas se deben generar por epicas o por features nunca por historia.
|
|
70
|
+
* **Nota:** Esta automatización solo podrá crear las ramas como se indica y realizar push a las mismas en caso de ser necesario.
|
|
@@ -5,9 +5,10 @@ description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-1
|
|
|
5
5
|
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
|
|
6
6
|
|
|
7
7
|
<steps CRITICAL="TRUE">
|
|
8
|
-
1.
|
|
9
|
-
2.
|
|
10
|
-
3.
|
|
11
|
-
4.
|
|
12
|
-
5.
|
|
8
|
+
1. FIRST, LOAD and READ the FULL contents of the custom extension file at: `_siesa-agents/bmm/workflows/4-implementation/code-review/workflow_ext.md`. You MUST assimilate these pre-requisites before doing anything else.
|
|
9
|
+
2. Always LOAD the FULL @_bmad/core/tasks/workflow.xml
|
|
10
|
+
3. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.md
|
|
11
|
+
4. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.md as 'workflow-config' parameter to the workflow.xml instructions
|
|
12
|
+
5. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
|
|
13
|
+
6. Save outputs after EACH section when generating any documents from templates
|
|
13
14
|
</steps>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'QA Quality Process — Phase 1 Planning or Phase 2 Design (QA Test Plan & Strategy). Asks at startup which phase to execute.'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_siesa-agents/bmm/workflows/3-solutioning/quality-process/workflow.md, READ its entire contents and follow its directions exactly!
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
description = "BMAD BMM Workflow: quality — QA Quality Process (Phase 1 Planning or Phase 2 Design)"
|
|
2
|
+
prompt = """
|
|
3
|
+
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_siesa-agents/bmm/workflows/3-solutioning/quality-process/workflow.md, READ its entire contents and follow its directions exactly!
|
|
4
|
+
"""
|
package/package.json
CHANGED
package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_design_test.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# 🤖 Mega-Prompt Maestro: Ingeniería Agéntica BMAD V6.0 (Universal)
|
|
2
|
+
|
|
3
|
+
Este prompt transforma a la IA en un **Principal QA Architect**. Su objetivo es procesar requerimientos complejos agrupándolos en funcionalidades estratégicas (**Features**), eliminando el ruido técnico y generando un diseño de pruebas exhaustivo con trazabilidad total y rigor metodológico.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🛠️ Instrucciones de Configuración
|
|
8
|
+
|
|
9
|
+
# ROL: Principal QA Architect (Especialista en Ingeniería de Calidad)
|
|
10
|
+
|
|
11
|
+
# CONTEXTO:
|
|
12
|
+
## CONTEXTO Y FILTROS CRÍTICOS:
|
|
13
|
+
Operas bajo la metodología **BMAD V6.0**. Tu misión es certificar **Features** lógicos y procesar la totalidad de los features referenciados en el archivo de entrada.
|
|
14
|
+
1. **PURGA DE RUIDO**: No considerar en el diseño de pruebas features de "Ruido Técnico" (Infraestructura, Configuración, Boilerplate).
|
|
15
|
+
2. **GENERACIÓN EXHAUSTIVA**: La Matriz Integral DEBE contener todos los campos requeridos en el formato, con descripciones de texto claras y completas, y presentar todos los escenarios de prueba sin establecer limite y que sean resultantes de:
|
|
16
|
+
- **Fase 2 (FAC)**: Criterios de aceptación funcionales y no funcionales.
|
|
17
|
+
- **Fase 3 (Puntos Ciegos)**: Mitigación de riesgos detectados por arquetipos.
|
|
18
|
+
- **Fase 4 (ISO/Edge)**: Valores límite, tablas de decisión, transiciones de estado y la cuota de 5-7 Edge Cases extremos.
|
|
19
|
+
- Todos los casos de prueba complementarios para certificar los **Features** lógicos
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [INPUT]:
|
|
23
|
+
- **PROYECTO**: [Nombre del Proyecto]
|
|
24
|
+
- **FEATURES / HISTORIAS DE USUARIO**: [Lista de features con sus respectivas historias y criterios de aceptación]
|
|
25
|
+
- **METAS DE NEGOCIO (PRD)**: [Metas estratégicas / Objetivos de negocio]
|
|
26
|
+
- **STACK TECNOLÓGICO**: [Tecnologías involucradas]
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# FASE 1: GATEKEEPER GRANULAR Y LIMPIEZA DE BACKLOG
|
|
31
|
+
1. **Definir el "Feature" (Funcionalidad)**: Agrupa obligatoriamente los features e historias de usuario por capacidades de negocio lógicas (ej. "Ciclo de Ventas", "Gestión de Resiliencia").
|
|
32
|
+
2. **Filtrado por Ítem (Granular)**: Analiza cada historia individualmente dentro de su feature agrupado.
|
|
33
|
+
- **Clasificación**: Separa "Lógica de Negocio" (Funcional) de "Ruido Técnico" (Infraestructura/Configuración).
|
|
34
|
+
3. **Visualización**: Genera la tabla "I. REPORTE DEL GATEKEEPER (GRANULAR)". Incluye una columna específica para justificar la clasificación de "Ruido Técnico".
|
|
35
|
+
|
|
36
|
+
# FASE 2: EL ESCALÓN DE CRITERIOS (FAC)
|
|
37
|
+
1. **Análisis de ACs Originales**: Analiza los criterios de aceptación de cada feature e historia dentro del Feature agrupado.
|
|
38
|
+
2. **Redactar FAC (Feature Acceptance Criteria)**: Producto del análisis anterior, genera criterios de aceptación **Funcionales** y **No Funcionales** para el grupo completo utilizando estrictamente el **formato GHERKIN** (Given/When/Then).
|
|
39
|
+
3. **Trazabilidad**: Todo el diseño de pruebas se basará en estos Features, relacionando siempre los features e historias que los contienen.
|
|
40
|
+
|
|
41
|
+
# FASE 3: DETECCIÓN DE PUNTOS CIEGOS (SIMULACIÓN UNIVERSAL)
|
|
42
|
+
Analiza cada **Feature** simulando arquetipos universales para encontrar riesgos no escritos:
|
|
43
|
+
- **Usuario Inexperto (Naive User)** | **Usuario Malintencionado** | **Perfil de Integración (APIs)** | **Entorno Hostil (Infraestructura)** | **Usuario de Consulta/Reportería** | **Auditor de Procesos**.
|
|
44
|
+
- **Instrucción Especial**: Identifica y extrae arquetipos adicionales específicos de negocio directamente de la información suministrada en los features e historias de usuario analizados.
|
|
45
|
+
|
|
46
|
+
# FASE 4: INGENIERÍA DE DISEÑO (ISO 29119-4) Y CALCULADORA DE RIESGO BMAD
|
|
47
|
+
1. **Aplicación de Técnicas**: Por cada funcionalidad, deriva casos de prueba aplicando obligatoriamente:
|
|
48
|
+
- **Valores Límite**: Para campos numéricos, fechas y rangos.
|
|
49
|
+
- **Tablas de Decisión**: Para reglas de negocio y condiciones lógicas complejas.
|
|
50
|
+
- **Transición de Estados**: Para flujos de proceso y ciclos de vida de documentos.
|
|
51
|
+
**Cuota de Casos de Borde (Edge Cases)**: Genera obligatoriamente entre **5 a 7 escenarios extremos** por Feature. Estos deben enfocarse en romper el sistema (ej: valores nulos, desbordamiento de campos, caracteres especiales no soportados, concurrencia extrema o acciones fuera de secuencia).
|
|
52
|
+
2. **Rigor en el Detalle**: Genera descripciones **extensas, claras y detalladas** en los campos: Escenario, Precondiciones, Pasos y Resultado Esperado. Evita generalidades; cada paso debe ser una instrucción técnica o funcional precisa.
|
|
53
|
+
3. **Calculadora de Riesgo**: $Riesgo = Impacto (1-5) \times Probabilidad (1-5)$.
|
|
54
|
+
- **P0 (16-25)**: Crítico | **P1 (10-15)**: Alto | **P2/P3 (<10)**: Bajo.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
# FORMATO DE SALIDA (ESTRICTO):
|
|
59
|
+
|
|
60
|
+
### I. REPORTE DEL GATEKEEPER (GRANULAR)
|
|
61
|
+
| ID Historia | Nombre / Feature | Clasificación | Justificación / Explicación de Ruido Técnico |
|
|
62
|
+
| :--- | :--- | :--- | :--- |
|
|
63
|
+
|
|
64
|
+
### II. DEFINICIÓN DE FEATURES Y CRITERIOS MAESTROS (FAC) EN GHERKIN
|
|
65
|
+
*(Repetir este bloque por cada Funcionalidad/Feature identificado)*
|
|
66
|
+
- **Feature**: [Nombre de la Funcionalidad]
|
|
67
|
+
- **Features/Historias Asociadas**: [Lista de IDs]
|
|
68
|
+
- **FAC Funcionales (Gherkin)**: [Escenarios Given/When/Then derivados]
|
|
69
|
+
- **FAC No Funcionales (Gherkin)**: [Escenarios de Rendimiento, Seguridad, etc., en Given/When/Then]
|
|
70
|
+
- **Dependencias**: [Componentes técnicos requeridos]
|
|
71
|
+
|
|
72
|
+
### III. PUNTOS CIEGOS DETECTADOS POR FEATURE
|
|
73
|
+
- **Feature**: [Nombre]
|
|
74
|
+
- [Arquetipo]: [Riesgo Detectado] -> [Consecuencia para el Negocio]
|
|
75
|
+
|
|
76
|
+
### IV. MATRIZ INTEGRAL DE PRUEBAS (DISEÑO 360°)
|
|
77
|
+
*(Presentar la totalidad de los casos: Críticos y No Críticos)*
|
|
78
|
+
|
|
79
|
+
| ID | Funcionalidad | Features asociados | Nivel (BE/FE) | Técnica | Escenario | Precondiciones | Pasos | Resultado Esperado | Riesgo (IxP) | Prioridad | Estrategia |
|
|
80
|
+
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
|
81
|
+
|
|
82
|
+
### V. INFORME TSR (TEST SUMMARY REPORT)
|
|
83
|
+
1. **Métricas de Diseño**: [Features Identificados, Features Totales, Historias de Ruido].
|
|
84
|
+
2. **Prioridad Crítica (P0)**: [Total de casos P0 generados].
|
|
85
|
+
3. **Riesgos CRÍTICOS**: [Lista detallada de los riesgos con mayor puntaje (16-25) detectados].
|
|
86
|
+
4. **Cobertura P0**: [% de aseguramiento de riesgos críticos].
|
|
87
|
+
5. **Tablas de Cobertura Específicas**: Genera tablas de cobertura detalladas para:
|
|
88
|
+
- Cobertura por Feature.
|
|
89
|
+
- Cobertura de Seguridad.
|
|
90
|
+
- Cobertura de Performance.
|
|
91
|
+
- Cobertura de Integraciones.
|
|
92
|
+
- [Otras tablas de cobertura técnica relevantes].
|
|
93
|
+
|
|
94
|
+
### APÉNDICE: MATRIZ DE TRAZABILIDAD
|
|
95
|
+
- **Funcionalidad → Features → Casos**: [Listado jerárquico que conecte el Feature con sus historias de origen y los IDs de los casos de prueba generados].
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
# 🧠 PROMPT: GENERADOR DE PLAN & ESTRATEGIA DE PRUEBAS QA — BMAD Human–AI (v3.0)
|
|
2
|
+
# METODOLOGÍA: BMAD v6.0 | Zero-Bureaucracy | Spec-Driven Quality
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## ROL Y PERSPECTIVA
|
|
7
|
+
|
|
8
|
+
Eres un **QA Architect Senior** con 10+ años de experiencia en sistemas empresariales
|
|
9
|
+
complejos (ERP, HCM, CRM, plataformas financieras, compliance regulatorio).
|
|
10
|
+
Tu criterio de priorización combina **riesgo técnico**, **impacto de negocio** y
|
|
11
|
+
**exposición regulatoria/legal** según el dominio del producto.
|
|
12
|
+
Piensas como **defensor del negocio**, no solo como técnico de pruebas.
|
|
13
|
+
Trabajas bajo la metodología **BMAD v6.0 (Spec-Driven Quality)**.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 📥 FUENTES DE VERDAD
|
|
18
|
+
|
|
19
|
+
> Adjunta uno o más documentos fuente. El agente detecta automáticamente el dominio
|
|
20
|
+
> e infiere riesgos técnicos, funcionales y regulatorios relevantes.
|
|
21
|
+
|
|
22
|
+
| # | Tipo de Documento Fuente |
|
|
23
|
+
|---|---------------------------------------|
|
|
24
|
+
| 1 | PRD / Documento de Requerimientos |
|
|
25
|
+
| 2 | Documento de Arquitectura / ADR |
|
|
26
|
+
| 3 | User Stories / Épicas (Jira/Markdown) |
|
|
27
|
+
| 4 | Pull Request / Diff técnico |
|
|
28
|
+
| 5 | Contexto normativo / Regulatorio |
|
|
29
|
+
| 6 | Documento de diseño UX / Wireframes |
|
|
30
|
+
|
|
31
|
+
**Detección automática de dominio:**
|
|
32
|
+
- Nómina, HCM, liquidaciones → contexto laboral/contable
|
|
33
|
+
- APIs, microservicios, contratos → validación de integración y contratos
|
|
34
|
+
- Facturación, DIAN, tributario → contexto fiscal
|
|
35
|
+
- Autenticación, roles, permisos → contexto de seguridad RBAC
|
|
36
|
+
- En cualquier caso: aplicar estándar SIESA ERP/HCM si corresponde.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 🧠 ANÁLISIS INTERNO OBLIGATORIO (Chain-of-Thought)
|
|
41
|
+
|
|
42
|
+
Antes de generar el output, ejecuta estos 4 pasos internamente:
|
|
43
|
+
|
|
44
|
+
### PASO 1 — Impact Analysis (Blast Radius)
|
|
45
|
+
- ¿Qué módulos, servicios o entidades se ven afectados?
|
|
46
|
+
- ¿El cambio es aislado (feature) o cross-módulo (épica/plataforma)?
|
|
47
|
+
- ¿Afecta flujos críticos de negocio: liquidación, facturación, reportes legales, POS?
|
|
48
|
+
|
|
49
|
+
### PASO 2 — Technical Debt & Compliance Assessment
|
|
50
|
+
- ¿El cambio introduce complejidad nueva o modifica lógica certificada?
|
|
51
|
+
- ¿Hay dependencias con normativas vigentes (laborales, fiscales, contables)?
|
|
52
|
+
- ¿Existe riesgo de regresión en features ya en producción?
|
|
53
|
+
|
|
54
|
+
### PASO 3 — Risk Matrix Calculation
|
|
55
|
+
```
|
|
56
|
+
Riesgo = Impacto (1–5) × Probabilidad de Fallo (1–5)
|
|
57
|
+
```
|
|
58
|
+
- R > 15 🔴 → Regresión completa + Agentes de Seguridad activados
|
|
59
|
+
- R 8–15 🟡 → Integración + validación de contratos + concurrencia
|
|
60
|
+
- R < 8 🟢 → Unitarias + smoke test
|
|
61
|
+
|
|
62
|
+
### PASO 4 — Synergy Mapping (Agentes BMAD)
|
|
63
|
+
Identificar qué sub-agentes activar según las features detectadas:
|
|
64
|
+
- **Analizador Funcional** → cobertura de criterios de aceptación
|
|
65
|
+
- **Generador de Casos de Prueba** → escenarios positivos, negativos, borde
|
|
66
|
+
- **Analizador Predictivo de Riesgo** → zonas de mayor probabilidad de fallo
|
|
67
|
+
- **Validador Inteligente de Datos (Alquimista)** → Data Buckets por feature
|
|
68
|
+
- **Explorador Inteligente** → arquetipos de usuario y sesiones exploratorias
|
|
69
|
+
- **Clasificador Automático de Defectos** → taxonomía de bugs esperados
|
|
70
|
+
- **Analizador Post-Sprint** → métricas de cierre y aprendizaje continuo
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 📦 OUTPUT REQUERIDO: PLAN DE PRUEBAS BMAD v3.0
|
|
75
|
+
|
|
76
|
+
Genera el plan completo en Markdown. Sé preciso, técnico y directo.
|
|
77
|
+
Omite secciones que no aporten valor al sprint si el stack ya está definido.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### 📋 SECCIÓN 1 — INFORMACIÓN GENERAL
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Proyecto: [Inferido del documento fuente]
|
|
85
|
+
Microservicio/Módulo: [Inferido]
|
|
86
|
+
Sprint / Ciclo: [Inferido o PENDIENTE]
|
|
87
|
+
Fecha del Plan: @currentDate
|
|
88
|
+
Autor: @currentUser — asistido por IA (BMAD)
|
|
89
|
+
Stack (solo si cambia respecto al sprint anterior o es primera vez):
|
|
90
|
+
Backend: [Inferir del documento de arquitectura]
|
|
91
|
+
Frontend: [Inferir]
|
|
92
|
+
Testing: [Inferir]
|
|
93
|
+
CI/CD: GitHub Actions, GitFlow
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
> ⚠️ Si el stack del microservicio ya está documentado en sprints previos,
|
|
97
|
+
> omitir detalle técnico y referenciar: "Stack vigente — ver Plan Sprint [N-1]".
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### 🎯 SECCIÓN 2 — OBJETIVO & DoR / DoD
|
|
102
|
+
|
|
103
|
+
#### 2.1 Objetivos de Negocio
|
|
104
|
+
Listar en bullets concretos las metas de negocio que este plan protege.
|
|
105
|
+
Máximo 5 objetivos priorizados por impacto.
|
|
106
|
+
|
|
107
|
+
#### 2.2 Criterios de Calidad
|
|
108
|
+
| Criterio | Meta |
|
|
109
|
+
|----------|------|
|
|
110
|
+
| Cobertura backend | ≥ 80% |
|
|
111
|
+
| Cobertura frontend | ≥ 75% |
|
|
112
|
+
| Defectos P1 en producción | 0 |
|
|
113
|
+
| [Métricas NFR específicas del feature] | [Umbral] |
|
|
114
|
+
|
|
115
|
+
#### 2.3 Checklist DoR — Definition of Ready
|
|
116
|
+
> ✅ = Cumple | ⚠️ = Parcial (indicar qué falta) | ❌ = Bloquea inicio de QA
|
|
117
|
+
|
|
118
|
+
- [ ] Historias con criterios de aceptación definidos y revisados
|
|
119
|
+
- [ ] Arquitectura técnica aprobada para la feature
|
|
120
|
+
- [ ] Endpoints documentados en Scalar/OpenAPI
|
|
121
|
+
- [ ] Datos de prueba identificados y disponibles
|
|
122
|
+
- [ ] Dependencias inter-servicio mapeadas
|
|
123
|
+
- [ ] Permisos RBAC definidos en la matriz de permisos
|
|
124
|
+
- [ ] Análisis IA preliminar ejecutado (BMAD)
|
|
125
|
+
- [ ] [Criterios adicionales inferidos del dominio]
|
|
126
|
+
|
|
127
|
+
#### 2.4 Checklist DoD — Definition of Done
|
|
128
|
+
- [ ] Código implementado con code review aprobado
|
|
129
|
+
- [ ] Tests unitarios ≥ 80% cobertura pasando
|
|
130
|
+
- [ ] Tests de integración (TestContainers) pasando
|
|
131
|
+
- [ ] Sin defectos P1/bloqueantes abiertos
|
|
132
|
+
- [ ] Endpoints documentados en Scalar
|
|
133
|
+
- [ ] Pipeline CI/CD verde en `develop`
|
|
134
|
+
- [ ] Validación funcional en ambiente QA completada
|
|
135
|
+
- [ ] Métricas NFR verificadas (latencia, cache, concurrencia)
|
|
136
|
+
- [ ] Análisis IA post-sprint ejecutado (BMAD)
|
|
137
|
+
- [ ] [Criterios específicos del dominio: legal, contable, fiscal]
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
### 📐 SECCIÓN 3 — ALCANCE DE PRUEBAS
|
|
142
|
+
|
|
143
|
+
> Se incluyen **todas** las features y épicas disponibles en los documentos fuente. No se excluye ninguna.
|
|
144
|
+
|
|
145
|
+
#### 3.1 Features Incluidas
|
|
146
|
+
| # | Feature | Dominio | Mutabilidad | Riesgo | Prioridad QA |
|
|
147
|
+
|---|---------|---------|-------------|--------|-------------|
|
|
148
|
+
| F1 | [Feature inferida] | | | Alto/Medio/Bajo | P1/P2/P3 |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
### 🛠️ SECCIÓN 4 — ESTRATEGIA DE PRUEBAS
|
|
153
|
+
|
|
154
|
+
#### 4.1 Tipos de Prueba
|
|
155
|
+
| Tipo | Alcance | Cobertura Objetivo | Automatización |
|
|
156
|
+
|------|---------|-------------------|---------------|
|
|
157
|
+
| Unitarias Backend | Validators, Handlers, Domain | ≥ 80% | 100% |
|
|
158
|
+
| Unitarias Frontend | Hooks, Stores, Componentes | ≥ 75% | 100% |
|
|
159
|
+
| Integración Backend | Repos, Endpoints, EF Core | ≥ 70% | 100% |
|
|
160
|
+
| Integración Frontend | API calls, TanStack Query | ≥ 60% | 100% |
|
|
161
|
+
| Contract Tests | Contratos entre microservicios | 100% endpoints | 100% |
|
|
162
|
+
| Smoke Tests | Endpoints críticos post-deploy | Todos los críticos | 100% |
|
|
163
|
+
| Regresión | Pre-release | 100% | 100% |
|
|
164
|
+
| Performance | Endpoints críticos (POS, cache) | P95 < umbral | Semi-auto |
|
|
165
|
+
| Seguridad RBAC | Permisos × endpoints | 100% endpoints | 100% |
|
|
166
|
+
| Seguridad SAST | Código fuente + dependencias | 100% PRs | 100% |
|
|
167
|
+
| Exploratoria | Flujos complejos, edge cases | Features P1 y P2 | Manual |
|
|
168
|
+
|
|
169
|
+
#### 4.2 Técnicas de Diseño Aplicadas
|
|
170
|
+
| Técnica | Features Objetivo | Observación |
|
|
171
|
+
|---------|-----------------|-------------|
|
|
172
|
+
| Partición de Equivalencia | [Inferir] | |
|
|
173
|
+
| Valores Límite | [Inferir] | |
|
|
174
|
+
| Tabla de Decisión | [Inferir] | |
|
|
175
|
+
| Transición de Estados | [Inferir] | |
|
|
176
|
+
| Error Guessing / Análisis de Riesgo | Todas | Race conditions, cache stale, inyección |
|
|
177
|
+
|
|
178
|
+
#### 4.3 Integración Human–AI (BMAD)
|
|
179
|
+
|
|
180
|
+
**Nivel de uso de IA en el sprint:**
|
|
181
|
+
| Nivel | % Ref. | Aplica | Justificación | Responsable Validación |
|
|
182
|
+
|-------|--------|--------|---------------|----------------------|
|
|
183
|
+
| Manual | 0% | | | |
|
|
184
|
+
| Asistido | 30% | | | |
|
|
185
|
+
| Diseño IA validado por QA | 60% | | | |
|
|
186
|
+
| IA + análisis predictivo | 90% | | | |
|
|
187
|
+
|
|
188
|
+
**Agentes IA activados:**
|
|
189
|
+
| Agente IA | Utilizado | Fase | Impacto | Observaciones |
|
|
190
|
+
|-----------|----------|------|---------|---------------|
|
|
191
|
+
| Analizador Funcional | | Pre-construcción | | |
|
|
192
|
+
| Generador de Casos de Prueba | | Pre-construcción | | |
|
|
193
|
+
| Analizador Predictivo de Riesgo | | Pre-construcción | | |
|
|
194
|
+
| Validador Inteligente de Datos | | Ejecución | | |
|
|
195
|
+
| Explorador Inteligente | | Ejecución | | |
|
|
196
|
+
| Clasificador Automático de Defectos | | Ejecución | | |
|
|
197
|
+
| Analizador Post-Sprint | | Certificación / Seguimiento | | |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
### 🌐 SECCIÓN 5 — AMBIENTE & DATOS DE PRUEBA
|
|
202
|
+
|
|
203
|
+
> ⚠️ Si el microservicio ya tiene stack y ambientes documentados, indicar solo
|
|
204
|
+
> el ambiente requerido para este sprint y los datos específicos necesarios.
|
|
205
|
+
> No repetir configuración estática de infraestructura sprint a sprint.
|
|
206
|
+
|
|
207
|
+
#### 5.1 Ambiente Requerido para el Sprint
|
|
208
|
+
|
|
209
|
+
| Ambiente | Estado Requerido | Responsable | Observación |
|
|
210
|
+
|----------|-----------------|-------------|-------------|
|
|
211
|
+
| QA | Disponible con seeds cargados | DevOps | [Condición específica si aplica] |
|
|
212
|
+
| STAGING | Disponible para smoke pre-release | DevOps | |
|
|
213
|
+
|
|
214
|
+
#### 5.2 Data Buckets por Feature (Agente Alquimista)
|
|
215
|
+
|
|
216
|
+
> Definir los conjuntos de datos específicos para validar los FRs críticos.
|
|
217
|
+
> Usar nomenclatura: `[FEATURE_ABREV]-[ESCENARIO]`
|
|
218
|
+
|
|
219
|
+
**[F1 — Nombre Feature]**
|
|
220
|
+
| Bucket | Descripción | Datos / Valores Ejemplo |
|
|
221
|
+
|--------|-------------|------------------------|
|
|
222
|
+
| `F1-VALID` | Caso nominal válido | [Valores inferidos del PRD] |
|
|
223
|
+
| `F1-BOUNDARY` | Valores límite | [Inferir] |
|
|
224
|
+
| `F1-NEGATIVE` | Datos inválidos / negativos | [Inferir] |
|
|
225
|
+
| `F1-CONCURRENT` | Concurrencia (si riesgo > 15) | [N threads, misma entidad] |
|
|
226
|
+
| `F1-SECURITY` | RBAC / inyección (si aplica) | [Payloads de seguridad] |
|
|
227
|
+
|
|
228
|
+
> Repetir estructura por cada feature de riesgo Alto o Crítico.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
### ⚠️ SECCIÓN 6 — MATRIZ DE RIESGO PREDICTIVO
|
|
233
|
+
|
|
234
|
+
#### Escala de Evaluación
|
|
235
|
+
| Valor | Probabilidad (P) | Impacto (I) |
|
|
236
|
+
|-------|-----------------|-------------|
|
|
237
|
+
| 1 | Muy baja (< 5%) | Cosmético |
|
|
238
|
+
| 2 | Baja (5-15%) | Menor / workaround disponible |
|
|
239
|
+
| 3 | Media (15-40%) | Moderado / funcionalidad degradada |
|
|
240
|
+
| 4 | Alta (40-70%) | Mayor / funcionalidad bloqueada |
|
|
241
|
+
| 5 | Muy alta (> 70%) | Crítico / pérdida financiera o datos |
|
|
242
|
+
|
|
243
|
+
#### Matriz por Feature
|
|
244
|
+
| ID | Feature | Riesgo Identificado | P | I | R=P×I | Nivel | Mitigación |
|
|
245
|
+
|----|---------|--------------------|----|---|-------|-------|-----------|
|
|
246
|
+
| R-F1-01 | [Feature] | [Riesgo inferido del análisis] | | | | 🔴/🟡/🟢 | |
|
|
247
|
+
|
|
248
|
+
#### Resumen Riesgos Críticos (R > 15)
|
|
249
|
+
| ID | Feature | Riesgo | R | Acción Inmediata |
|
|
250
|
+
|----|---------|--------|---|-----------------|
|
|
251
|
+
| [Solo los R > 15] | | | | |
|
|
252
|
+
|
|
253
|
+
> Regla automática: Si R > 15 → Suite de Regresión Completa + Agentes de Seguridad activados.
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
### ✅ SECCIÓN 7 — CRITERIOS DE ENTRADA / SALIDA
|
|
258
|
+
|
|
259
|
+
#### 7.1 Entry Criteria — Checklist DoR Sprint
|
|
260
|
+
| # | Criterio | Responsable | Estado |
|
|
261
|
+
|---|---------|-------------|--------|
|
|
262
|
+
| CE-01 | Build en `develop` compilando sin errores | Dev Lead | ⬜ |
|
|
263
|
+
| CE-02 | Tests unitarios del desarrollador ≥ 80% | Desarrollador | ⬜ |
|
|
264
|
+
| CE-03 | Endpoints documentados en Scalar/OpenAPI | Desarrollador | ⬜ |
|
|
265
|
+
| CE-04 | Migraciones aplicadas en ambiente QA | DevOps | ⬜ |
|
|
266
|
+
| CE-05 | Seeds y datos de prueba disponibles en QA | QA + Dev | ⬜ |
|
|
267
|
+
| CE-06 | Usuarios RBAC configurados | DevOps | ⬜ |
|
|
268
|
+
| CE-07 | Ambiente QA estable (health check OK) | DevOps | ⬜ |
|
|
269
|
+
| CE-08 | Historias con criterios de aceptación aprobados | PO | ⬜ |
|
|
270
|
+
| CE-09 | Análisis IA preliminar ejecutado (BMAD) | QA Lead | ⬜ |
|
|
271
|
+
| [CE-N] | [Criterio específico inferido del dominio] | | ⬜ |
|
|
272
|
+
|
|
273
|
+
#### 7.2 Exit Criteria — Checklist DoD Sprint (Go / No-Go)
|
|
274
|
+
|
|
275
|
+
**✅ GO — Aprobado para Release si:**
|
|
276
|
+
- Todos los criterios marcados "Bloquea = Sí" cumplidos
|
|
277
|
+
- 0 defectos P1 abiertos
|
|
278
|
+
- Defectos P2 ≤ 2 con workaround documentado y aprobación del PO
|
|
279
|
+
- Smoke tests en STAGING pasando al 100%
|
|
280
|
+
- Todos los riesgos R > 15 con tests de mitigación pasando
|
|
281
|
+
|
|
282
|
+
**❌ NO-GO — Bloqueado si:**
|
|
283
|
+
| Condición No-Go | Acción Requerida |
|
|
284
|
+
|----------------|-----------------|
|
|
285
|
+
| ≥ 1 defecto P1 abierto | Hotfix inmediato + re-validación |
|
|
286
|
+
| Cobertura backend < 75% | Completar tests faltantes |
|
|
287
|
+
| Tests de concurrencia fallando (features con R > 15) | Revisión de mecanismo de locking |
|
|
288
|
+
| RBAC bypass detectado en cualquier endpoint | Fix de seguridad obligatorio |
|
|
289
|
+
| Smoke tests STAGING < 100% | Diagnóstico y fix antes de deploy |
|
|
290
|
+
| [Condición específica del dominio] | [Acción] |
|
|
291
|
+
|
|
292
|
+
**Criterios de salida por feature:**
|
|
293
|
+
| # | Criterio | Meta | Tolerancia | Bloquea Release |
|
|
294
|
+
|---|---------|------|-----------|----------------|
|
|
295
|
+
| CS-01 | Tests unitarios pasando | 100% | 0 fallos | Sí |
|
|
296
|
+
| CS-02 | Tests de integración pasando | 100% | 0 fallos | Sí |
|
|
297
|
+
| CS-03 | Cobertura backend | ≥ 80% | Mínimo 75% | Sí (< 75%) |
|
|
298
|
+
| CS-04 | Cobertura frontend | ≥ 75% | Mínimo 70% | Sí (< 70%) |
|
|
299
|
+
| CS-05 | Defectos P1 abiertos | 0 | 0 | Sí |
|
|
300
|
+
| CS-06 | Defectos P2 abiertos | 0 | ≤ 2 con workaround | No (con aprobación PO) |
|
|
301
|
+
| CS-07 | Performance P95 endpoints críticos | < umbral definido | Ver Sección 4.1 | Sí |
|
|
302
|
+
| CS-08 | RBAC validation suite | 100% | 0 bypass | Sí |
|
|
303
|
+
| CS-09 | Smoke tests en QA | 100% | 0 fallos | Sí |
|
|
304
|
+
| CS-10 | Contract tests | 100% | 0 breaking changes | Sí |
|
|
305
|
+
| CS-11 | Riesgos R > 15 mitigados | 100% | Tests específicos pasando | Sí |
|
|
306
|
+
| [CS-N] | [Criterio específico del dominio] | | | |
|
|
307
|
+
|
|
308
|
+
**Definición técnica de "Certificado":**
|
|
309
|
+
> [El agente redacta aquí la condición exacta de aprobación para este requerimiento
|
|
310
|
+
> específico, incluyendo umbrales de cobertura, ausencia de defectos críticos
|
|
311
|
+
> y validaciones de negocio derivadas del documento fuente]
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## ⚠️ RESTRICCIONES DEL AGENTE
|
|
316
|
+
|
|
317
|
+
1. **Zero-Bureaucracy**: Resultados técnicos sobre documentación estática.
|
|
318
|
+
No repetir información de stack o infraestructura que no haya cambiado.
|
|
319
|
+
2. **Automatización primero**: No proponer pruebas manuales a menos que sea
|
|
320
|
+
técnicamente imposible automatizarlas. Justificar toda excepción.
|
|
321
|
+
3. **Sin estimaciones de esfuerzo**: La IA no conoce la capacidad real del equipo,
|
|
322
|
+
las interrupciones del sprint ni la deuda técnica no documentada.
|
|
323
|
+
Las horas viven en el sistema de planificación del equipo, no aquí.
|
|
324
|
+
4. **Sin historial de revisiones**: El historial vive en Git. Este documento es un
|
|
325
|
+
artefacto vivo; las versiones se gestionan en el repositorio.
|
|
326
|
+
5. **Compliance obligatorio**: Si el dominio es contable, fiscal o laboral,
|
|
327
|
+
incluir validaciones regulatorias específicas y vigentes al momento del sprint.
|
|
328
|
+
6. **Trazabilidad total**: Cada caso debe ser trazable a un criterio de aceptación
|
|
329
|
+
del documento fuente. Sin FR documentado → sin caso de prueba.
|
|
330
|
+
7. **Alineación SIESA**: Si el sistema host es SIESA ERP/HCM, garantizar
|
|
331
|
+
el estándar contable/legal vigente.
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
> **Nota:** Documento vivo. Actualizar al finalizar cada feature o al identificar nuevos riesgos.
|
|
336
|
+
> El historial de versiones vive en el repositorio Git — no se replica aquí.
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
**[ADJUNTA AQUÍ TU DOCUMENTO FUENTE: PRD / ARQUITECTURA / USER STORIES / PR / CONTEXTO NORMATIVO]**
|
|
@@ -0,0 +1,604 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quality-process
|
|
3
|
+
description: "QA Quality Process — Phase 1 Planning (BMAD V6.0 test design) or Phase 2 Design (QA Test Plan & Strategy). Asks at startup which phase to execute."
|
|
4
|
+
web_bundle: true
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
parameters:
|
|
7
|
+
feature_id:
|
|
8
|
+
description: 'Opcional: Feature ID a procesar (ej: "feature-1"). Solo aplica para la Fase 1 — Planeación.'
|
|
9
|
+
required: false
|
|
10
|
+
type: string
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Proceso de Calidad QA
|
|
14
|
+
|
|
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
|
+
|
|
17
|
+
- **Fase 1 — Planeación:** 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.
|
|
18
|
+
- **Fase 2 — Diseño:** 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.
|
|
19
|
+
|
|
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
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## WORKFLOW ARCHITECTURE
|
|
25
|
+
|
|
26
|
+
**EXECUTION MODE: Phase-Selection + Automated Megaprompt**
|
|
27
|
+
|
|
28
|
+
Este workflow pregunta al inicio qué fase ejecutar y luego corre automáticamente la lógica correspondiente.
|
|
29
|
+
|
|
30
|
+
### Critical Rules (NO EXCEPTIONS)
|
|
31
|
+
|
|
32
|
+
- 🎯 **ALWAYS** preguntar la fase al usuario ANTES de cualquier otra acción
|
|
33
|
+
- ✅ **ALWAYS** comunicar en `{communication_language}` (Español para mensajes al usuario)
|
|
34
|
+
- 📁 **ALWAYS** usar rutas relativas (desde project-root) en documentos generados, NUNCA rutas absolutas
|
|
35
|
+
- 📄 **ALWAYS** cargar el prompt de la fase seleccionada desde `{workflow_root}/prompts/`
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## INITIALIZATION SEQUENCE
|
|
40
|
+
|
|
41
|
+
### 1. Configuration Loading
|
|
42
|
+
|
|
43
|
+
Cargar y leer la configuración completa desde `{project-root}/_bmad/bmm/config.yaml` y resolver:
|
|
44
|
+
|
|
45
|
+
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
|
46
|
+
- `planning_artifacts`, `implementation_artifacts`
|
|
47
|
+
|
|
48
|
+
### 2. Phase Selection (OBLIGATORIO — Primer paso interactivo)
|
|
49
|
+
|
|
50
|
+
Preguntar al usuario qué fase del proceso de calidad desea ejecutar:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
🔎 Proceso de Calidad QA — Selección de Fase
|
|
54
|
+
|
|
55
|
+
El proceso de calidad tiene dos fases:
|
|
56
|
+
|
|
57
|
+
1️⃣ Planeación — Diseño técnico de pruebas: Gatekeeper, FAC en Gherkin,
|
|
58
|
+
Puntos Ciegos, Matriz Integral 360°, TSR y CSV de casos.
|
|
59
|
+
(Requiere: feature-status.yaml + archivos epic_source)
|
|
60
|
+
|
|
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
|
+
¿Qué fase deseas ejecutar?
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Usar AskUserQuestion con las opciones:
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"questions": [
|
|
72
|
+
{
|
|
73
|
+
"question": "¿Qué fase del proceso de calidad deseas ejecutar?",
|
|
74
|
+
"header": "Proceso de Calidad QA — Selección de Fase",
|
|
75
|
+
"multiSelect": false,
|
|
76
|
+
"options": [
|
|
77
|
+
{
|
|
78
|
+
"label": "Fase 1 — Planeación",
|
|
79
|
+
"description": "Diseño técnico de pruebas: Gatekeeper, FAC Gherkin, Puntos Ciegos, Matriz Integral 360°, TSR y CSV de casos"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"label": "Fase 2 — Diseño",
|
|
83
|
+
"description": "Plan & Estrategia QA: alcance, riesgos R=I×P, Data Buckets, criterios Go/No-Go"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- Si selecciona **Fase 1 — Planeación**: continuar con la sección `FASE 1 — PLANEACIÓN`
|
|
92
|
+
- Si selecciona **Fase 2 — Diseño**: continuar con la sección `FASE 2 — DISEÑO`
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## FASE 1 — PLANEACIÓN
|
|
97
|
+
|
|
98
|
+
### Objetivo
|
|
99
|
+
|
|
100
|
+
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
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### F1.1: Feature Selection (Interactivo)
|
|
105
|
+
|
|
106
|
+
**Capture feature_id parameter** si fue provisto en los argumentos del comando.
|
|
107
|
+
|
|
108
|
+
1. **Cargar el registro de features:**
|
|
109
|
+
- Leer: `{implementation_artifacts}/feature-status.yaml`
|
|
110
|
+
- Parsear YAML para extraer todos los features: `[{id, epic_source, status, last_update}, ...]`
|
|
111
|
+
|
|
112
|
+
2. **Si `feature_id` fue provisto como parámetro:**
|
|
113
|
+
- Validar que existe en el registro; si no, listar IDs disponibles y detener
|
|
114
|
+
- `filtered_features = [ese feature]`
|
|
115
|
+
- Notificar: `✅ Feature seleccionado por parámetro: {feature_id}`
|
|
116
|
+
- Ir a F1.2
|
|
117
|
+
|
|
118
|
+
3. **Si no se proveyó parámetro, preguntar al usuario:**
|
|
119
|
+
|
|
120
|
+
Mostrar features disponibles:
|
|
121
|
+
```
|
|
122
|
+
📋 Features disponibles en el proyecto:
|
|
123
|
+
|
|
124
|
+
{por cada feature:
|
|
125
|
+
" • {feature.id} [{feature.status}] → {feature.epic_source}"
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Usar AskUserQuestion:
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"questions": [
|
|
133
|
+
{
|
|
134
|
+
"question": "¿Qué features deseas analizar?",
|
|
135
|
+
"header": "Selección de Features — Fase 1 Planeación",
|
|
136
|
+
"multiSelect": false,
|
|
137
|
+
"options": [
|
|
138
|
+
{
|
|
139
|
+
"label": "Todos los features",
|
|
140
|
+
"description": "Procesar todos los features del registro"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"label": "Seleccionar features específicos",
|
|
144
|
+
"description": "Elegir uno o más features por ID"
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Si "Todos los features":**
|
|
153
|
+
- `filtered_features = all_features`
|
|
154
|
+
- Notificar: `✅ Se procesarán todos los features ({count} features)`
|
|
155
|
+
|
|
156
|
+
**Si "Seleccionar features específicos":**
|
|
157
|
+
- Si ≤ 4 features: usar AskUserQuestion multiSelect con una opción por feature
|
|
158
|
+
- Si > 4 features: pedir vía texto: "Ingresa los IDs separados por comas (ej: feature-1,feature-3):"
|
|
159
|
+
- Validar cada ID contra el registro
|
|
160
|
+
- `filtered_features = features encontrados`
|
|
161
|
+
- Notificar:
|
|
162
|
+
```
|
|
163
|
+
✅ Features seleccionados ({count}):
|
|
164
|
+
{por cada feature en filtered_features:
|
|
165
|
+
" • {feature.id} → {feature.epic_source}"
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
4. Almacenar `filtered_features` en memoria.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### F1.2: Automatic Data Loading (Zero User Interaction)
|
|
174
|
+
|
|
175
|
+
**CARGAR TODOS LOS INPUTS AUTOMÁTICAMENTE:**
|
|
176
|
+
|
|
177
|
+
1. **INPUT 1 - PROYECTO:**
|
|
178
|
+
- Cargar desde config: `{project_name}`
|
|
179
|
+
- Almacenar como: `input_proyecto`
|
|
180
|
+
|
|
181
|
+
2. **INPUT 2 - FEATURES / HISTORIAS DE USUARIO:**
|
|
182
|
+
- Usar `filtered_features` de F1.1
|
|
183
|
+
- Por cada feature, leer su archivo `epic_source` y concatenar contenido
|
|
184
|
+
- Almacenar contenido combinado como: `input_epicas`
|
|
185
|
+
|
|
186
|
+
3. **INPUT 3 - METAS DE NEGOCIO (PRD):**
|
|
187
|
+
- Buscar en `{planning_artifacts}/`: `prd.md`, `PRD.md`, `product-requirements.md` o similar
|
|
188
|
+
- Si encontrado: leer y almacenar como `input_metas`
|
|
189
|
+
- Si no encontrado: extraer metas de negocio de los archivos epic_source → `input_metas`
|
|
190
|
+
|
|
191
|
+
4. **INPUT 4 - STACK TECNOLÓGICO:**
|
|
192
|
+
- Cargar desde: `{project-root}/_siesa-agents/bmm/data/company-standards/technology-stack.md`
|
|
193
|
+
- Almacenar como: `input_stack`
|
|
194
|
+
|
|
195
|
+
**Notificar al usuario:**
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
🎯 BMAD V6.0 — Fase 1: Diseño de Pruebas
|
|
199
|
+
|
|
200
|
+
✅ Iniciando análisis automático...
|
|
201
|
+
|
|
202
|
+
📋 Datos cargados:
|
|
203
|
+
• Proyecto: {input_proyecto}
|
|
204
|
+
• Features registry: {implementation_artifacts}/feature-status.yaml
|
|
205
|
+
• Features seleccionados: [lista de feature IDs]
|
|
206
|
+
• PRD: [ruta encontrada o "extraído de epic_source files"]
|
|
207
|
+
• Stack Tecnológico: _siesa-agents/bmm/data/company-standards/technology-stack.md
|
|
208
|
+
|
|
209
|
+
🚀 Ejecutando las 4 fases de análisis BMAD V6.0...
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### F1.3: Load and Execute Megaprompt
|
|
215
|
+
|
|
216
|
+
1. **Cargar el Megaprompt:**
|
|
217
|
+
- Leer el archivo completo: `{workflow_root}/prompts/prompt_design_test.md`
|
|
218
|
+
- Este prompt transforma al agente en Principal QA Architect
|
|
219
|
+
|
|
220
|
+
2. **Inyectar inputs:**
|
|
221
|
+
Reemplazar la sección `[INPUT]` del prompt:
|
|
222
|
+
```
|
|
223
|
+
# [INPUT]:
|
|
224
|
+
- **PROYECTO**: {input_proyecto}
|
|
225
|
+
- **FEATURES / HISTORIAS DE USUARIO**: {input_epicas}
|
|
226
|
+
- **METAS DE NEGOCIO (PRD)**: {input_metas}
|
|
227
|
+
- **STACK TECNOLÓGICO**: {input_stack}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
3. **Ejecutar las 4 FASES secuencialmente:**
|
|
231
|
+
- FASE 1: GATEKEEPER GRANULAR Y LIMPIEZA DE BACKLOG
|
|
232
|
+
- FASE 2: EL ESCALÓN DE CRITERIOS (FAC) en Gherkin
|
|
233
|
+
- FASE 3: DETECCIÓN DE PUNTOS CIEGOS (Simulación Universal)
|
|
234
|
+
- FASE 4: INGENIERÍA DE DISEÑO (ISO 29119-4) Y CALCULADORA DE RIESGO
|
|
235
|
+
|
|
236
|
+
**Generar outputs en FORMATO EXACTO:**
|
|
237
|
+
- I. REPORTE DEL GATEKEEPER (GRANULAR)
|
|
238
|
+
- II. DEFINICIÓN DE FEATURES Y CRITERIOS MAESTROS (FAC) EN GHERKIN
|
|
239
|
+
- III. PUNTOS CIEGOS DETECTADOS POR FEATURE
|
|
240
|
+
- IV. MATRIZ INTEGRAL DE PRUEBAS (DISEÑO 360°)
|
|
241
|
+
- V. INFORME TSR (TEST SUMMARY REPORT)
|
|
242
|
+
- APÉNDICE: MATRIZ DE TRAZABILIDAD
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
### F1.4: Save Output
|
|
247
|
+
|
|
248
|
+
**Crear estructura de carpeta con timestamp:**
|
|
249
|
+
|
|
250
|
+
1. Generar timestamp: `YYYY-MM-DD-HHmmss` (ej: `2026-03-25-143052`)
|
|
251
|
+
2. Crear carpeta: `{implementation_artifacts}/quality-process/planeacion/test-design-YYYY-MM-DD-HHmmss/`
|
|
252
|
+
3. Guardar los siguientes 6 documentos + 1 CSV dentro de la carpeta:
|
|
253
|
+
|
|
254
|
+
**Documento 1:** `test-design-complete.md` (Documento maestro con todas las fases)
|
|
255
|
+
**Documento 2:** `test-design-phase1-gatekeeper.md` (Fase 1 — Clasificación Gatekeeper)
|
|
256
|
+
**Documento 3:** `test-design-phase2-fac.md` (Fase 2 — Features y FAC en Gherkin)
|
|
257
|
+
**Documento 4:** `test-design-phase3-blind-spots.md` (Fase 3 — Puntos Ciegos)
|
|
258
|
+
**Documento 5:** `test-design-phase4-test-matrix.md` (Fase 4 — Matriz Integral)
|
|
259
|
+
**Documento 6:** `test-design-phase5-tsr.md` (Fase 5 — TSR + Trazabilidad)
|
|
260
|
+
|
|
261
|
+
**Frontmatter para todos los documentos:**
|
|
262
|
+
```yaml
|
|
263
|
+
---
|
|
264
|
+
workflow: quality-process
|
|
265
|
+
phase: planeacion
|
|
266
|
+
version: 1.0.0
|
|
267
|
+
methodology: BMAD V6.0 MegaPrompt
|
|
268
|
+
generated_date: [ISO 8601 date]
|
|
269
|
+
project_name: {input_proyecto}
|
|
270
|
+
input_documents:
|
|
271
|
+
epics: [ruta(s) relativa(s)]
|
|
272
|
+
prd: [ruta relativa o null]
|
|
273
|
+
technology_stack: _siesa-agents/bmm/data/company-standards/technology-stack.md
|
|
274
|
+
---
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Exportar casos de prueba a CSV (Siesa FT-SD-007 v5.0):**
|
|
278
|
+
|
|
279
|
+
Después de guardar `test-design-phase4-test-matrix.md`:
|
|
280
|
+
|
|
281
|
+
1. Leer el contenido completo del archivo generado
|
|
282
|
+
2. Identificar secciones `## F# — [Nombre Feature]` → `ID Épica` formato `EPIC-POS-F{n}`
|
|
283
|
+
3. Parsear todas las filas de tabla `| TC-` extrayendo las 12 columnas de la matriz
|
|
284
|
+
4. Mapear a las 13 columnas del formato Siesa CSV:
|
|
285
|
+
|
|
286
|
+
| Columna Matriz | → Columna CSV |
|
|
287
|
+
|---|---|
|
|
288
|
+
| Header `## F{n} — ...` | `ID Épica` (ej: `EPIC-POS-F1`) |
|
|
289
|
+
| `ID` | `ID Caso de Prueba` |
|
|
290
|
+
| `Escenario` | `Título` |
|
|
291
|
+
| `Funcionalidad` + `: ` + `Escenario` | `Descripción Completa` |
|
|
292
|
+
| `Precondiciones` | `Precondiciones` |
|
|
293
|
+
| `Pasos` | `Pasos de Ejecución` |
|
|
294
|
+
| `Resultado Esperado` | `Resultados Esperados` |
|
|
295
|
+
| `Estrategia` | `Tipo prueba` |
|
|
296
|
+
| _(vacío)_ | `Fecha Ejecución` |
|
|
297
|
+
| `"Not Started"` | `Estado` |
|
|
298
|
+
| _(vacío)_ | `ID Defecto` |
|
|
299
|
+
| _(vacío)_ | `Descripción Fallo` |
|
|
300
|
+
| `Level: [Level] \| Technique: [Technique] \| Risk: [Risk] \| Priority: [Priority]` | `Notas` |
|
|
301
|
+
|
|
302
|
+
5. **🚨 CRÍTICO — Compatibilidad Windows CSV:**
|
|
303
|
+
- ✅ Usar **Write tool ONLY** — NUNCA bash, cat, echo, sed, awk
|
|
304
|
+
- ✅ Construir el **string CSV completo en memoria** y luego llamar Write una vez
|
|
305
|
+
- ✅ Envolver **TODOS los campos** en comillas dobles
|
|
306
|
+
- ✅ Escapar comillas internas duplicándolas: `"` → `""`
|
|
307
|
+
- ✅ Encoding: UTF-8
|
|
308
|
+
|
|
309
|
+
6. Guardar como: `{implementation_artifacts}/quality-process/planeacion/test-design-YYYY-MM-DD-HHmmss/test-cases.csv`
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
### F1.5: Completion
|
|
314
|
+
|
|
315
|
+
Presentar al usuario:
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
✅ FASE 1 — PLANEACIÓN COMPLETADA
|
|
319
|
+
|
|
320
|
+
📁 Carpeta: {implementation_artifacts}/quality-process/planeacion/test-design-YYYY-MM-DD-HHmmss/
|
|
321
|
+
|
|
322
|
+
📄 Documentos generados (6 + 1 CSV):
|
|
323
|
+
1. test-design-complete.md — Documento maestro
|
|
324
|
+
2. test-design-phase1-gatekeeper.md — Fase 1: Reporte Gatekeeper
|
|
325
|
+
3. test-design-phase2-fac.md — Fase 2: Features y FAC en Gherkin
|
|
326
|
+
4. test-design-phase3-blind-spots.md — Fase 3: Puntos Ciegos
|
|
327
|
+
5. test-design-phase4-test-matrix.md — Fase 4: Matriz Integral ([N] casos)
|
|
328
|
+
6. test-cases.csv — Casos exportados (Siesa FT-SD-007 v5.0)
|
|
329
|
+
7. test-design-phase5-tsr.md — Fase 5: TSR + Trazabilidad
|
|
330
|
+
|
|
331
|
+
📊 Métricas:
|
|
332
|
+
• Features identificados: [count]
|
|
333
|
+
• Casos de prueba totales: [count]
|
|
334
|
+
• Casos P0 (Críticos): [count]
|
|
335
|
+
• 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
|
+
```
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## FASE 2 — DISEÑO
|
|
344
|
+
|
|
345
|
+
### Objetivo
|
|
346
|
+
|
|
347
|
+
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).
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
### F2.1: Auto Document Discovery (Zero User Interaction)
|
|
352
|
+
|
|
353
|
+
Buscar y leer automáticamente los documentos fuente desde sus rutas fijas. Notificar:
|
|
354
|
+
|
|
355
|
+
```
|
|
356
|
+
🔍 Buscando documentos fuente del proyecto...
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
#### Documento 1 — PRD / Requerimientos
|
|
360
|
+
|
|
361
|
+
Buscar con Glob en este orden:
|
|
362
|
+
1. `{planning_artifacts}/prd.md`
|
|
363
|
+
2. `{planning_artifacts}/PRD.md`
|
|
364
|
+
3. `{planning_artifacts}/*prd*.md`
|
|
365
|
+
4. `{planning_artifacts}/*requirements*.md`
|
|
366
|
+
|
|
367
|
+
Si encontrado: leer contenido completo → almacenar en `doc_prd`
|
|
368
|
+
Si no encontrado: `doc_prd = null`
|
|
369
|
+
|
|
370
|
+
#### Documento 2 — Arquitectura / ADR
|
|
371
|
+
|
|
372
|
+
Buscar con Glob en este orden:
|
|
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`
|
|
377
|
+
|
|
378
|
+
Si encontrado: leer contenido completo → almacenar en `doc_architecture`
|
|
379
|
+
Si no encontrado: `doc_architecture = null`
|
|
380
|
+
|
|
381
|
+
#### Documento 3 — User Stories / Épicas
|
|
382
|
+
|
|
383
|
+
Buscar con Glob en este orden:
|
|
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`
|
|
388
|
+
|
|
389
|
+
Si encontrado: leer contenido completo de todos los epic_source files y concatenar → almacenar en `doc_epics`
|
|
390
|
+
Si no encontrado: `doc_epics = null`
|
|
391
|
+
|
|
392
|
+
#### Documento 4 — Contexto Normativo / Regulatorio
|
|
393
|
+
|
|
394
|
+
Buscar con Glob en este orden:
|
|
395
|
+
1. `{project-root}/docs/*normativ*.md`
|
|
396
|
+
2. `{project-root}/docs/*regulat*.md`
|
|
397
|
+
3. `{project-root}/docs/*compliance*.md`
|
|
398
|
+
4. `{project-root}/docs/*legal*.md`
|
|
399
|
+
5. `{planning_artifacts}/*normativ*.md`
|
|
400
|
+
|
|
401
|
+
Si encontrado: leer contenido completo → almacenar en `doc_regulatory`
|
|
402
|
+
Si no encontrado: `doc_regulatory = null`
|
|
403
|
+
|
|
404
|
+
#### Documento 5 — Diseño UX / Wireframes
|
|
405
|
+
|
|
406
|
+
Buscar con Glob en este orden:
|
|
407
|
+
1. `{planning_artifacts}/ux-design.md`
|
|
408
|
+
2. `{planning_artifacts}/*ux*.md`
|
|
409
|
+
3. `{planning_artifacts}/*wireframe*.md`
|
|
410
|
+
4. `{planning_artifacts}/*design*.md`
|
|
411
|
+
|
|
412
|
+
Si encontrado: leer contenido completo → almacenar en `doc_ux`
|
|
413
|
+
Si no encontrado: `doc_ux = null`
|
|
414
|
+
|
|
415
|
+
#### Documento 6 — Resultado de Fase 1 (Planeación)
|
|
416
|
+
|
|
417
|
+
Buscar la carpeta más reciente en `{implementation_artifacts}/quality-process/planeacion/`:
|
|
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
|
|
421
|
+
|
|
422
|
+
Si encontrada:
|
|
423
|
+
- Leer `test-design-complete.md` dentro de esa carpeta
|
|
424
|
+
- Almacenar en `doc_planeacion`
|
|
425
|
+
- Notificar: `✅ Fase 1 encontrada: quality-process/planeacion/{nombre-carpeta}/test-design-complete.md`
|
|
426
|
+
|
|
427
|
+
Si no encontrada: `doc_planeacion = null` — notificar:
|
|
428
|
+
```
|
|
429
|
+
⚠️ No se encontró output de Fase 1 — Planeación. Se continuará sin ese contexto.
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
#### Validación mínima
|
|
433
|
+
|
|
434
|
+
Verificar que al menos uno de los documentos fue encontrado. Si **ninguno** fue encontrado:
|
|
435
|
+
|
|
436
|
+
```
|
|
437
|
+
⚠️ No se encontraron documentos fuente en las rutas estándar del proyecto.
|
|
438
|
+
|
|
439
|
+
Rutas buscadas:
|
|
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)
|
|
445
|
+
|
|
446
|
+
¿Deseas continuar de todas formas o cancelar?
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
Esperar confirmación del usuario. Si cancela, detener el workflow.
|
|
450
|
+
|
|
451
|
+
#### Reporte y confirmación de documentos encontrados
|
|
452
|
+
|
|
453
|
+
Mostrar al usuario:
|
|
454
|
+
|
|
455
|
+
```
|
|
456
|
+
📋 Documentos fuente encontrados:
|
|
457
|
+
|
|
458
|
+
✅ PRD: {ruta relativa o "No encontrado"}
|
|
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"}
|
|
464
|
+
|
|
465
|
+
📄 Total documentos cargados: {N de 6}
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**Solicitar confirmación al usuario antes de continuar** usando AskUserQuestion:
|
|
469
|
+
|
|
470
|
+
```json
|
|
471
|
+
{
|
|
472
|
+
"questions": [
|
|
473
|
+
{
|
|
474
|
+
"question": "¿Los documentos cargados son correctos para continuar?",
|
|
475
|
+
"header": "Confirmación de documentos fuente",
|
|
476
|
+
"multiSelect": false,
|
|
477
|
+
"options": [
|
|
478
|
+
{
|
|
479
|
+
"label": "✅ Continuar con estos documentos",
|
|
480
|
+
"description": "Proceder a generar el Plan de Pruebas con los documentos encontrados"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"label": "➕ Agregar documentos adicionales al contexto",
|
|
484
|
+
"description": "Indicar rutas o pegar contenido de documentos extra antes de continuar"
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"label": "❌ Cancelar",
|
|
488
|
+
"description": "Detener el workflow"
|
|
489
|
+
}
|
|
490
|
+
]
|
|
491
|
+
}
|
|
492
|
+
]
|
|
493
|
+
}
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**Si "Continuar":**
|
|
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
|
|
513
|
+
|
|
514
|
+
---
|
|
515
|
+
|
|
516
|
+
### F2.2: Automatic Megaprompt Execution
|
|
517
|
+
|
|
518
|
+
Proceder automáticamente sin más interacción:
|
|
519
|
+
|
|
520
|
+
**Step F2.2.1: Load Megaprompt**
|
|
521
|
+
|
|
522
|
+
1. Leer el archivo completo: `{workflow_root}/prompts/prompt_test_plan.md`
|
|
523
|
+
2. Este prompt transforma al agente en QA Architect Senior BMAD v3.0
|
|
524
|
+
|
|
525
|
+
**Step F2.2.2: Execute**
|
|
526
|
+
|
|
527
|
+
Notificar al usuario:
|
|
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)
|
|
536
|
+
|
|
537
|
+
📋 Generando Plan de Pruebas BMAD v3.0...
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
Ejecutar el megaprompt completo usando `input_source_documents` como documentos fuente adjuntos.
|
|
541
|
+
|
|
542
|
+
El plan de pruebas generado debe incluir todas las secciones del prompt:
|
|
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**
|
|
552
|
+
|
|
553
|
+
1. Generar timestamp: `YYYY-MM-DD-HHmmss` (ej: `2026-03-25-143052`)
|
|
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
|
+
---
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
---
|
|
576
|
+
|
|
577
|
+
### F2.3: Completion
|
|
578
|
+
|
|
579
|
+
Presentar al usuario:
|
|
580
|
+
|
|
581
|
+
```
|
|
582
|
+
✅ FASE 2 — DISEÑO COMPLETADA
|
|
583
|
+
|
|
584
|
+
📁 Archivo: {implementation_artifacts}/quality-process/diseno/test-plan-YYYY-MM-DD-HHmmss/test-plan.md
|
|
585
|
+
|
|
586
|
+
📋 Secciones incluidas:
|
|
587
|
+
1. Información General
|
|
588
|
+
2. Objetivo & DoR / DoD (Checklist de entrada y salida)
|
|
589
|
+
3. Alcance de Pruebas (Features incluidas y excluidas)
|
|
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)
|
|
594
|
+
|
|
595
|
+
⚠️ Riesgos críticos (R > 15): [N detectados — ver Sección 6]
|
|
596
|
+
🎯 Decisión Go/No-Go: [ver Sección 7]
|
|
597
|
+
|
|
598
|
+
🔍 Revisa el plan y completa las secciones marcadas como [PENDIENTE]
|
|
599
|
+
con información específica de tu sprint/equipo.
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
---
|
|
603
|
+
|
|
604
|
+
*(Note: `workflow_root` es `{project-root}/_siesa-agents/bmm/workflows/3-solutioning/quality-process`)*
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# MANDATORY RULE: CODE REVIEW WORKFLOW
|
|
2
|
+
|
|
3
|
+
**TRIGGER:** Every time the user requests a CODE REVIEW, such as `/code-review`.
|
|
4
|
+
|
|
5
|
+
**CONTEXT TO INJECT (apply throughout the entire workflow):**
|
|
6
|
+
|
|
7
|
+
The following rules must be kept in memory and applied at the appropriate moment without altering the standard workflow flow:
|
|
8
|
+
|
|
9
|
+
## 1. During step-01-load-story: use the following definition for point 3. Discover Git Changes
|
|
10
|
+
|
|
11
|
+
### 3. Discover Git Changes
|
|
12
|
+
|
|
13
|
+
1. Check if a git repository exists in the current directory (`git rev-parse --is-inside-work-tree`)
|
|
14
|
+
2. If yes:
|
|
15
|
+
- Run `git worktree list` to find the route of the branch
|
|
16
|
+
- Run `cd {{branch_route}}` to switch to the target branch
|
|
17
|
+
- Run `git status --porcelain` to find uncommitted changes
|
|
18
|
+
- Run `git diff --name-only` to see modified files
|
|
19
|
+
- Run `git diff --cached --name-only` to see staged files
|
|
20
|
+
- Compile a list of **Actual Changed Files**
|
|
21
|
+
3. If no:
|
|
22
|
+
- Note that review will rely solely on Story's File List (Warning)
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
**STEP 3: INJECT CONTEXT FROM FILES**
|
|
25
25
|
1. If the specific feature folder exists, **USE YOUR READ TOOL** to read ALL markdown files inside it, especially `technical-preference.md` or any architectural/domain rule file.
|
|
26
26
|
2. If the folder does not exist, acknowledge it and proceed normally.
|
|
27
|
-
3. LOAD the FULL `@{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/mastercrud-use-reference.md` — MasterCrud is the highest-level orchestrator component in Siesa UI Kit. It coordinates data grids, forms, filters, and CRUD operations into a unified, configurable interface. **You MUST apply its API contract and configuration patterns whenever the story involves a CRUD screen, data grid, or form-based UI.**
|
|
27
|
+
3. LOAD the FULL `@{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/mastercrud-use-reference.md` — MasterCrud is the highest-level orchestrator component in Siesa UI Kit. It coordinates data grids, forms, filters, and CRUD operations into a unified, configurable interface. **You MUST apply its API contract and configuration patterns whenever the story involves a CRUD screen, data grid, or form-based UI.**
|
|
28
28
|
|
|
29
29
|
**STEP 4: APPLY TO THE STORY**
|
|
30
30
|
- You MUST enforce any system rules, design patterns, testing requirements, or UI guidelines found in the `technical-preference.md` file into the Acceptance Criteria and Technical Details of the user story you are writing. DO NOT write the story without integrating these rules if they exist.
|
|
@@ -28,4 +28,75 @@
|
|
|
28
28
|
**STEP 4: APPLY TO THE IMPLEMENTATION**
|
|
29
29
|
- You MUST enforce any system rules, design patterns, testing requirements, or UI guidelines found in the `technical-preference.md` or related files during your code implementation.
|
|
30
30
|
- Ensure your code structure, libraries used, and architectural decisions align with these shared artifacts.
|
|
31
|
-
- DO NOT start coding without integrating these rules if they exist for the feature.
|
|
31
|
+
- DO NOT start coding without integrating these rules if they exist for the feature.
|
|
32
|
+
|
|
33
|
+
# MANDATORY RULE: DEV STORY WORKFLOW
|
|
34
|
+
|
|
35
|
+
**TRIGGER:** Every time the user requests to run a DEV STORY, such as `/dev-story`.
|
|
36
|
+
|
|
37
|
+
**CONTEXT TO INJECT (apply throughout the entire workflow):**
|
|
38
|
+
|
|
39
|
+
The following rules must be kept in memory and applied at the right moment without altering the standard workflow flow:
|
|
40
|
+
|
|
41
|
+
## 1. During step-02-check-branch: use the following definition for point 3. Gather Branch Parameters
|
|
42
|
+
|
|
43
|
+
### 3. Gather Branch Parameters
|
|
44
|
+
|
|
45
|
+
<action>
|
|
46
|
+
Per the naming format in `{gitFlowGuide}` (`rama-padre-team-owner-rq-descripcion`), gather:
|
|
47
|
+
|
|
48
|
+
1. **Parent Branch**: `develop` (fixed per guidelines)
|
|
49
|
+
2. **Team**: Ask user or derive from project context
|
|
50
|
+
3. **Owner**: Ask user or derive from git config (`git config user.email`)
|
|
51
|
+
4. **RQ**: Extract from story metadata or ask user for requirement number
|
|
52
|
+
5. **Description**: Derive from epic or feature name, sanitized (lowercase, hyphens)
|
|
53
|
+
</action>
|
|
54
|
+
|
|
55
|
+
<output>
|
|
56
|
+
To create the branch, I need the following information per GitFlow guidelines:
|
|
57
|
+
- **Team prefix**: (e.g., `legacy-erp-nomina`, `platform`, etc.)
|
|
58
|
+
- **RQ number**: (requirement/ticket number)
|
|
59
|
+
|
|
60
|
+
The owner will be derived from your git config, and the description from the story.
|
|
61
|
+
</output>
|
|
62
|
+
|
|
63
|
+
## 2. During step-02-check-branch: use the following definition for point 4. Construct Branch Name
|
|
64
|
+
|
|
65
|
+
### 4. Construct Branch Name
|
|
66
|
+
|
|
67
|
+
<action>
|
|
68
|
+
1. Build branch name following the pattern from `{gitFlowGuide}`:
|
|
69
|
+
`{parent}-{team}-{owner}-{rq}-{description}`
|
|
70
|
+
|
|
71
|
+
2. Apply governance rules from Section 4:
|
|
72
|
+
- All lowercase
|
|
73
|
+
- No special characters
|
|
74
|
+
- Hyphens as separators
|
|
75
|
+
- Branches must be created by epic or feature:
|
|
76
|
+
1. Extract the parent epic of the current story (from story frontmatter or `{sprint_status}`)
|
|
77
|
+
2. Use the **epic name/slug** as `{description}`, NOT the story name
|
|
78
|
+
3. Before creating a new branch, run `git branch --list "*rq{N}*"` to check if an epic-level branch already exists for this epic
|
|
79
|
+
4. **IF an epic branch already exists** → reuse it (switch/worktree to it), do NOT create a new one
|
|
80
|
+
5. **IF not** → create it using the epic slug as `{description}`
|
|
81
|
+
|
|
82
|
+
Example: `develop-legacy-erp-nomina-gaduranb-rq1234-nueva-interfaz`
|
|
83
|
+
(where `nueva-interfaz` is the **epic** slug, not a story slug)
|
|
84
|
+
</action>
|
|
85
|
+
|
|
86
|
+
## 3. During step-02-check-branch: use the following definition for point 5. Check and Create/Switch Branch
|
|
87
|
+
|
|
88
|
+
### 5. Check and Create/Switch Branch
|
|
89
|
+
|
|
90
|
+
**IF Current Branch == Target Branch:**
|
|
91
|
+
- Output: `✅ Already on correct branch: {{target_branch}}`
|
|
92
|
+
- Proceed to Next Step.
|
|
93
|
+
|
|
94
|
+
**IF Current Branch != Target Branch:**
|
|
95
|
+
1. Check if `target_branch` exists: `git branch --list {{target_branch}}`.
|
|
96
|
+
2. **IF Exists:**
|
|
97
|
+
- Run `cd ../wt-{{folder_name}}/{{folder_name}}-{{target_branch}}`.
|
|
98
|
+
- Output: `🔄 Switched to existing branch: {{target_branch}}`.
|
|
99
|
+
3. **IF Not Exists:**
|
|
100
|
+
- Run `git worktree add ../wt-{{folder_name}}/{{folder_name}}-{{target_branch}} -b {{target_branch}}`.
|
|
101
|
+
- Run `cd ../wt-{{folder_name}}/{{folder_name}}-{{target_branch}}`.
|
|
102
|
+
- Output: `✨ Created and switched to new branch: {{target_branch}}`.
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: 'Generate functional traceability map (FR→Epic→Story→Task) and consolidated epic-level test plans from existing test cases'
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/4-implementation/traceability-and-testing/workflow.md, READ its entire contents and follow its directions exactly!
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
description = "BMAD BMM Workflow: traceability-and-testing"
|
|
2
|
-
prompt = """
|
|
3
|
-
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/4-implementation/traceability-and-testing/workflow.md, READ its entire contents and follow its directions exactly!
|
|
4
|
-
"""
|