Etapa 8 — PDFs Actual y Automatizado: - Página 1: header denso + metadata strip + grid 2×2 KPI cards con paleta #FEF3E2 (naranja claro InQ), sin gradiente (jerarquía visual preservada) - Página 3: tabla con header naranja claro #FFF8ED + #92400E, em dash en filas no-automatizables, título ANÁLISIS DE COMPOSICIÓN uppercase - Página 4: NOTA METODOLÓGICA uppercase + caja contenedora slate-50 - 526 tests verdes (+ 15 tests nuevos) Etapa 9 — Badge ⚡ en BpmnCanvas: - Reemplaza badge legacy (Bot SVG ámbar #fffbeb) por círculo naranja sólido #F59845 con símbolo ⚡ blanco, 14×14px, border white 1.5px - Usa var(--inq-orange) definido en globals.css (sin hex hardcodeados) - Elimina los 3 hex legacy del audit Etapa 1: #f59e0b, #fffbeb, #e2e8f0 - 5 tests E2E de lifecycle del badge + 2 screenshots Política de iniciativa refinada post-Sprint 1.5 (CLAUDE.md actualizado) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
135 lines
5.9 KiB
Markdown
135 lines
5.9 KiB
Markdown
# OBSERVATIONS — Sprint 1.5 (Rediseño visual)
|
||
|
||
> Hallazgos descubiertos durante validación visual del 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.
|
||
|
||
---
|
||
|
||
## Convención de etiquetas
|
||
|
||
- `[CURRENT-SPRINT]` — Se resuelve en este sprint (Sprint 1.5)
|
||
- `[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
|
||
|
||
---
|
||
|
||
## 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.
|
||
|
||
---
|
||
|
||
## 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.
|
||
|
||
---
|
||
|
||
## 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.
|
||
|
||
---
|
||
|
||
## Notas operativas del sprint
|
||
|
||
- Los hallazgos resueltos quedan acá hasta el cierre del sprint. Al cerrar, se archiva el documento o se 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.
|
||
|
||
---
|
||
|
||
## Cierre del sprint (checklist)
|
||
|
||
Cuando Sprint 1.5 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
|
||
``` |