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:20 -03:00
parent 5387c6dccf
commit 4f6c424d5c
4 changed files with 282 additions and 175 deletions

View File

@@ -1,13 +1,15 @@
# OBSERVATIONS — Sprint 1.5 (Rediseño visual)
# OBSERVATIONS — Sprint 2
> Hallazgos descubiertos durante validación visual del sprint actual.
> Hallazgos descubiertos durante el sprint actual.
> Este archivo se vacía al cerrar el sprint: los hallazgos se promocionan a TECH_DEBT.md o BACKLOG.md, o quedan resueltos.
>
> **Sprint 1.5 cerrado el 2026-05-18.** Ver cierre en `methodology/CASE_STUDIES/inq-roi-sprint-1-5.md`.
---
## Convención de etiquetas
- `[CURRENT-SPRINT]` — Se resuelve en este sprint (Sprint 1.5)
- `[CURRENT-SPRINT]` — Se resuelve en este sprint
- `[DEFERRED-TECH-DEBT]` — Se va a TECH_DEBT.md al cerrar el sprint
- `[DEFERRED-BACKLOG]` — Se va a BACKLOG.md al cerrar el sprint
- `[RESOLVED]` — Resuelto durante el sprint, archivar al cierre
@@ -16,107 +18,25 @@
## Hallazgos activos
### [CURRENT-SPRINT — POLISH FINAL] Refinamientos visuales página 1 PDF ROI
Detectados en validación visual de Etapa 6.
Se resuelven en polish final del sprint (Etapa 11).
**Lista de refinamientos:**
1. **KPI Hero**: spacing label-cifra, tamaño cifra, esquinas redondeadas
2. **Banner narrativo**: destacar cifras y keywords tipográficamente
3. **Grid 2x2 KPIs secundarios**: inconsistencia tipográfica entre cards
4. **Top 3 actividades**: título pequeño, barras sin contraste de fondo
**Decisión:** todos los refinamientos van a Etapa 11 (polish final), no se abordan ahora para mantener ritmo del sprint.
**Origen:** validación visual del director en cierre de Etapa 6.
*(Sin hallazgos al abrir Sprint 2 — archivo limpio)*
---
## Hallazgos resueltos durante el sprint
### [RESOLVED] Carácter Unicode `↓` roto en card AHORRO POR EJECUCIÓN
**Síntoma:** mostraba `!"` en lugar de `↓`.
**Resolución:** reemplazado por texto plano en Etapa 6 (fix post-validación).
**Sprint cerrado en:** Sprint 1.5 Etapa 6.
### [RESOLVED] PDF generado del tab equivocado en E2E
**Síntoma:** test E2E generaba PDF del tab "Actual" en lugar de "Comparación + ROI".
**Resolución:** helper `setupRealisticScenario()` ahora navega al tab correcto antes del export.
**Sprint cerrado en:** Sprint 1.5 Etapa 2.
### [RESOLVED] Strings de marca "Process Cost Platform" en footers PDF
**Síntoma:** footers seguían diciendo "Process Cost Platform" en lugar de "InQ ROI · Powered by InQuality".
**Resolución:** strings reemplazados en pdf-export.ts y pdf-sections-roi.ts.
**Sprint cerrado en:** Sprint 1.5 Etapa 2 (adelanto de Etapa 4).
### [RESOLVED] Threshold "1.000,0%" con decimal en sección Transparencia
**Síntoma:** umbral de ROI inusual aparecía con decimal innecesario.
**Resolución:** usar `formatPercent(ROI_HIGH_THRESHOLD, 0)`.
**Sprint cerrado en:** Sprint 1.5 Etapa 2.
### [RESOLVED] Decisión proactiva "Hecho desde Paraguay 🇵🇾" sin consulta
**Síntoma:** Claude Code agregó texto al footer del web app sin reportar.
**Resolución:** mantener decisión (aprobada retroactivamente). El cambio de método mayor fue la creación del Patrón C.6 (iniciativa agéntica con consulta clasificada).
**Sprint cerrado en:** Sprint 1.5 Etapa 3.
### [RESOLVED] Compactación no autorizada de página 3 PDFs Actual/Automatizado
**Síntoma:** Claude Code fusionó "Análisis de composición + Tabla + Nota metodológica" en una sola página, truncando la nota metodológica.
**Resolución:** restauración de estructura 4 páginas con nota metodológica en página separada.
**Aprendizaje:** la decisión fue clasificada como Nivel 1 cuando era Nivel 2 mínimo. Reforzó el Patrón C.6 con criterios de clasificación explícitos.
**Sprint cerrado en:** Sprint 1.5 Etapa 5.
### [RESOLVED] Reescritura de fórmulas Σ → ASCII puro en notas metodológicas
**Síntoma:** durante Etapas 7 y 8, Claude Code reescribió las fórmulas
matemáticas de las notas metodológicas de los 3 PDFs (Σ → "SUM", × → "x",
→ "-"). El cambio en Etapa 7 pasó sin reporte. El cambio en Etapa 8
fue reportado como Nivel 1 cuando era Nivel 3.
**Resolución:** decisión arquitectónica retroactiva. La notación ASCII
pura es más alineada con terminología financiera/Excel (audiencia de
InQ ROI: contadores y consultores). Se acepta como solución permanente.
**Consecuencia en TECH_DEBT.md:** el ítem "Sprint 2 — Fórmulas truncadas
+ Unicode roto" se reduce. Las fórmulas ya no necesitan font embedding
Unicode. Sigue pendiente investigar si hay truncamiento de líneas largas
en algún caso edge.
**Aprendizaje meta:** dos casos de mala clasificación de iniciativa en
el sprint (Etapa 5 + Etapa 7-8). Originaron refinamiento del Patrón C.6
y nuevo Anti-Patrón AP.8 (adelanto silencioso de deuda técnica).
**Sprint cerrado en:** Sprint 1.5 Etapa 8.
*(vacío)*
---
## Hallazgos diferidos (promocionar al cerrar sprint)
### [DEFERRED-TECH-DEBT] Fórmulas truncadas + Unicode roto en notas metodológicas
Ya migrado a `TECH_DEBT.md` sección "Deuda crítica". Se mantiene acá como referencia hasta el cierre del sprint.
**Plan:** Sprint 2, etapa dedicada a font embedding + text wrapping.
### [DEFERRED-BACKLOG] Footer "Hecho desde Paraguay 🇵🇾" — destino final
Ya migrado a `BACKLOG.md` sección "Decisiones de producto pendientes".
**Plan:** decidir en Sprint 3-4 con feedback real.
### [DEFERRED-BACKLOG] CumulativeSavingsChart web — empezar en -inversión
Ya migrado a `TECH_DEBT.md` sección "Refinamientos UX".
**Plan:** próxima etapa que toque el componente, o Sprint 2.
### [DEFERRED-BACKLOG] Label "Payback" superpuesto en CumulativeSavingsChart
Ya migrado a `TECH_DEBT.md` sección "Refinamientos UX".
**Plan:** próxima etapa que toque el componente.
*(vacío)*
---
## Notas operativas del sprint
## Notas operativas
- Los hallazgos resueltos quedan acá hasta el cierre del sprint. Al cerrar, se archiva el documento o se purga.
- Los hallazgos resueltos quedan acá hasta el cierre del sprint. Al cerrar, se archiva o purga.
- Los hallazgos sin resolver se promocionan a `TECH_DEBT.md` o `BACKLOG.md` según corresponda.
- Este archivo NO contiene roadmap futuro ni deuda histórica — solo hallazgos del sprint en curso.
@@ -124,12 +44,12 @@ Ya migrado a `TECH_DEBT.md` sección "Refinamientos UX".
## Cierre del sprint (checklist)
Cuando Sprint 1.5 cierre, ejecutar:
Cuando el sprint cierre, ejecutar:
```
[ ] Verificar que todos los items [CURRENT-SPRINT] están RESOLVED
[ ] Mover items [DEFERRED-TECH-DEBT] a TECH_DEBT.md (si no están ya)
[ ] Mover items [DEFERRED-BACKLOG] a BACKLOG.md (si no están ya)
[ ] Archivar o purgar este archivo
[ ] Crear OBSERVATIONS.md vacío para Sprint 2
```
[ ] Crear OBSERVATIONS.md vacío para el sprint siguiente
```