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.
@@ -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 checkout -b develop-legacy-erp-nomina-gaduranb-rq1234-nueva-interfaz`.
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
- ## 4. Reglas de Oro de Gobernanza
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
- * **Nota:** Esta automatización solo podrá crear las ramas como se indica y realizar push a las mismas en caso de ser necesario.
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. Always LOAD the FULL @_bmad/core/tasks/workflow.xml
9
- 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml
10
- 3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
- 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
- 5. Save outputs after EACH section when generating any documents from templates
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "siesa-agents",
3
- "version": "2.1.67",
3
+ "version": "2.1.68",
4
4
  "description": "Paquete para instalar y configurar agentes SIESA en tu proyecto",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -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
- """