docs: cierre formal de Sprint 1.5

- OBSERVATIONS.md reseteado para Sprint 2
- STRATEGIC_DIRECTION.md con reflexiones del sprint
- TECH_DEBT.md curado: items resueltos archivados
- methodology/CASE_STUDIES/inq-roi-sprint-1-5.md generado

Sprint 1.5 cerrado:
- 11 etapas + 1 fix pre-Etapa 11
- 526 unit tests + 38 E2E al cierre
- Producto con identidad InQ aplicada en web + 3 PDFs
- Metodología documentada con casos reales (2 de mala
  clasificación de iniciativa, originaron AP.8 +
  refinamiento C.6)
- Material para transmisión al equipo de 5 técnicos
This commit is contained in:
2026-05-19 07:27:40 -03:00
parent 4f6c424d5c
commit 49364f4b18
20 changed files with 1448 additions and 52 deletions

146
docs/QA_CHECKLIST.md Normal file
View File

@@ -0,0 +1,146 @@
# Checklist de QA — pre-cierre de sprint / pre-deploy
> Lista de verificación para validar el estado del producto antes de
> cerrar un sprint o desplegar a producción.
> Actualizado al cierre de Sprint 1.5 (18 mayo 2026).
> Tiempo estimado: 15-20 minutos (5 automatizado + 10 manual).
---
## 1. Suite automatizada
```
[ ] npm test → 0 rojos, 0 skip sin justificación
[ ] npm run test:e2e → 0 rojos (excluir tests archivados)
[ ] npm run build → sin errores (warnings de chunk-size: ignorar)
[ ] npx tsc --noEmit → sin errores
[ ] npm run lint → 0 errores (warnings de any: ignorar en lib/export/)
```
**Si hay rojos:** registrar en OBSERVATIONS.md como `[CURRENT-SPRINT]` con categoría:
- Bug nuevo introducido en este sprint → corregir antes de cerrar
- Test obsoleto (baseline caducado) → actualizar el test o archivarlo
- Flaky (pasa/falla según timing) → registrar como tech debt
---
## 2. Validación visual — web app
Ejecutar `npm run dev` → abrir `http://localhost:5173`
```
[ ] Homepage carga sin errores en consola del browser
[ ] Importar BPMN: arrastrar medium-with-gateways.bpmn → workspace carga
[ ] BPMN renderiza correctamente (nodos, flujos, gateways visibles)
[ ] Clic en actividad → ActivityPanel se abre con formulario de costos
[ ] Toggle "Automatizable" + Guardar → badge ⚡ naranja aparece sobre el nodo en el canvas
[ ] Desmarcar "Automatizable" + Guardar → badge ⚡ desaparece
[ ] Botón Simular → navega a /report/ con KPI cards
[ ] KPI cards usan paleta naranja InQ (fondo #FEF3E2, no gris)
[ ] Tab "Automatizado" → reporte actualizado con costos automatizados
[ ] Tab "Comparación" → KPI Hero naranja → magenta visible
[ ] CumulativeSavingsChart muestra curva con payback marcado
[ ] Ningún error de consola durante el flujo completo
[ ] Texto "InQ ROI" en header (no "Process Cost Platform")
[ ] Footer: "Hecho desde Paraguay 🇵🇾" (si aplica según decisión pendiente BACKLOG.md)
```
---
## 3. Validación visual — PDFs
Exportar los 3 PDFs después del flujo del punto anterior.
```
PDF Actual (4 páginas):
[ ] Página 1: "ANÁLISIS DE COSTOS — ESCENARIO ACTUAL" + cards naranja InQ
[ ] Página 1: strip de metadata con PROCESO, FECHA, MONEDA
[ ] Página 2: diagrama BPMN landscape con heatmap de colores
[ ] Página 3: "ANÁLISIS DE COMPOSICIÓN" uppercase + tabla con header naranja
[ ] Página 4: "NOTA METODOLÓGICA" uppercase + caja contenedora
[ ] Footer todas las páginas: "InQ ROI · Powered by InQuality · Página X de 4"
PDF Automatizado (4 páginas):
[ ] Página 1: "ANÁLISIS DE COSTOS — ESCENARIO AUTOMATIZADO" + cards naranja InQ
[ ] Páginas 2-4: mismo esquema que Actual
[ ] Footer: "Página X de 4"
PDF ROI (5 páginas):
[ ] Página 1: header denso + banner narrativo + KPI Hero gradiente naranja→magenta
[ ] Página 1: grid 2×2 KPIs secundarios + Top 3 actividades con barras
[ ] Página 2: tabla comparativa con header naranja (#FFF8ED)
[ ] Página 3: "ANÁLISIS DEL AHORRO" + sección transparencia (si aplica)
[ ] Página 4: "NOTA METODOLOGICA - ANALISIS DE ROI" + caja contenedora
[ ] Página 5: "TRAYECTORIA DEL AHORRO ACUMULADO" + gráfico SVG con áreas
[ ] Footer: "InQ ROI · Powered by InQuality · Página X de 5"
```
---
## 4. Regresiones de marca
```
[ ] "InQ" aparece siempre como I-n-Q (no INQ, Inq, inq, inQ)
[ ] "InQ ROI" es el nombre del producto (no "Process Cost Platform")
[ ] "Powered by InQuality" en footer de todos los PDFs
[ ] Sin "v0.1.0" en PDFs (puede estar en web si es útil internamente)
[ ] Sin colores CONCILIA (#572FA2, #CB1889) en ningún componente
[ ] Gradiente naranja→magenta solo en KPI Hero ROI (no en PDFs Actual/Automatizado)
```
---
## 5. Documentación del sprint
```
[ ] CLAUDE.md tiene criterios de iniciativa actualizados
[ ] methodology/PATTERNS.md tiene los patrones del sprint cosechados
[ ] methodology/ANTI_PATTERNS.md tiene los anti-patrones del sprint
[ ] OBSERVATIONS.md: todos los items son [RESOLVED] o [DEFERRED-*]
[ ] TECH_DEBT.md: items del sprint actualizados/promocionados
[ ] BACKLOG.md: items nuevos del sprint agregados
[ ] STRATEGIC_DIRECTION.md: refleja decisiones tomadas en el sprint
[ ] sprints/sprint-N/ tiene todos los ETAPA_N_PROMPT.md del sprint
```
---
## 6. Artefactos del sprint
```
[ ] tests/e2e/__output__/sprint-N-N-final/ tiene los 3 PDFs baseline
[ ] tests/screenshots/ tiene screenshots de Playwright de features visuales
[ ] docs/COVERAGE_STATE.md actualizado con el estado al cierre
[ ] docs/QA_CHECKLIST.md actualizado si hubo cambios en el proceso
[ ] git tag sprint-N-cerrado apuntando al commit de cierre
```
---
## Smoke test manual rápido (5 minutos)
Para verificar el flujo completo en producción después de un deploy:
```
1. Abrir la URL de producción (Cloudflare Pages)
2. Importar medium-with-gateways.bpmn desde public/sample-processes/
3. Configurar task_recv: costo directo 200, automatizado 20, marcar automatable → Guardar
4. Verificar: badge ⚡ naranja aparece sobre el nodo en el canvas
5. Clic en "Simular"
6. En el reporte, verificar KPI cards con paleta naranja
7. Ir a tab "Comparación" → verificar KPI Hero con gradiente naranja→magenta
8. Exportar PDF Actual → verificar que descarga y tiene 4 páginas
9. Exportar PDF ROI → verificar que descarga y tiene 5 páginas
10. Verificar que "InQ ROI" aparece en el header web y en los PDFs
Tiempo estimado: 5 minutos
Resultado esperado: todo funciona sin errores de consola
```
---
## Historial de actualizaciones
| Versión | Sprint | Cambios |
|---|---|---|
| 1.0 | Sprint 1.5 | Creación inicial al cierre del sprint |