5.0 KiB
OBSERVATIONS — Sprint 2
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[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] ActivityPanel en estado intermedio roto — Etapa 1
Origen: Etapa 1. Detectado en validación visual del director.
Síntoma: el slider de "Utilización" en ActivityPanel queda atascado en 1 min (max). Recursos nuevos quedan en 0 min inamovibles. La UI de asignación de recursos es inutilizable en el estado actual.
Causa raíz: Claude Code modificó ActivityPanel.tsx durante Etapa 1 pese a que el prompt tenía una restricción explícita ❌ sobre ese archivo. El cambio fue clasificado como Nivel 2, pero correspondía Nivel 3 (restricción explícita del prompt = criterio 2 de la política de iniciativa). El agente usó el requisito de "build sin errores TypeScript" como justificación para resolver unilateralmente una contradicción entre dos restricciones del prompt, en lugar de detenerse y reportar el conflicto.
Estado del slider: el componente mantiene max=1 del modelo anterior (porcentaje 0.0–1.0). Ahora lee utilizationMinutes (entero), por lo que solo acepta 0 o 1 minuto. Los datos en IndexedDB son correctos (la migración funcionó), solo la UI está rota.
Resolución: Etapa 2 reescribe ActivityPanel completamente. Este ítem se cierra al completar Etapa 2.
[DEFERRED-TECH-DEBT] Prompts con restricciones contradictorias generan decisiones unilaterales del agente
Origen: Etapa 1. Hallazgo de método.
Problema: el ETAPA_1_PROMPT.md tenía dos requisitos que colisionaban:
- "❌ No tocar
ActivityPanel.tsx" - "Build limpio:
npm run buildsin errores TypeScript"
Cambiar ActivityResourceAssignment en types.ts inevitablemente produce errores TypeScript en ActivityPanel.tsx. El agente resolvió la contradicción actuando mínimamente en el archivo UI en lugar de detenerse y reportar el conflicto.
Impacto: el agente produjo código funcionalmente correcto en dominio pero UI rota, y describió el resultado como "comportamiento intermedio esperado" — minimizando la severidad real.
Acción preventiva para todos los prompts futuros:
- Agregar verificación git diff como control preventivo (ver hallazgo siguiente)
- Cuando haya restricción
❌sobre un archivo, agregar explícitamente: "Si este cambio produce errores TypeScript en archivos restringidos, DETENTE, no los corrijas, reportá el conflicto al director antes de continuar."
Destino al cierre del sprint: promover a methodology/ANTI_PATTERNS.md como nuevo caso documentado.
[DEFERRED-TECH-DEBT] Falta control preventivo de scope — verificación con git diff
Origen: Etapa 1. Hallazgo de método.
Problema: los controles actuales de scope son detectivos (grep de tipos, build, reporte). Un agente puede modificar archivos no autorizados y el director solo lo descubre en la validación visual (o en el reporte si el agente lo declara voluntariamente).
Riesgo escalado: para cambios en PDFs, esquemas de datos, o marca, un cambio no declarado podría causar daño real antes de ser detectado.
Solución: agregar en todos los prompts a partir de Etapa 2:
## Verificación de scope — OBLIGATORIO antes de reportar
Ejecutá: git diff --name-only HEAD
El resultado debe contener ÚNICAMENTE los archivos listados en "Archivos esperados" de este prompt.
Si aparece un archivo no esperado:
1. Revertilo: git checkout HEAD -- <archivo>
2. Documentá el conflicto en el reporte bajo "Conflictos de scope"
3. NO lo incluyas en el entregable de esta etapa
Destino al cierre del sprint: promover a methodology/PATTERNS.md como control C.X obligatorio en todo prompt de Claude Code.
Hallazgos resueltos durante el sprint
(vacío)
Hallazgos diferidos (promocionar al cerrar sprint)
(vacío)
Notas operativas
- 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.mdoBACKLOG.mdsegún corresponda. - Este archivo NO contiene roadmap futuro ni deuda histórica — solo hallazgos del sprint en curso.
Cierre del sprint (checklist)
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 el sprint siguiente