Sprint 2 cerrado. Documentalmente.
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# OBSERVATIONS — Sprint 2
|
||||
# OBSERVATIONS — Sprint 3
|
||||
|
||||
> 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`.
|
||||
> **Sprint 2 cerrado el 2026-05-20.** Ver cierre en `methodology/CASE_STUDIES/inq-roi-sprint-2.md`.
|
||||
|
||||
---
|
||||
|
||||
@@ -18,64 +18,7 @@
|
||||
|
||||
## 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 build` sin 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:**
|
||||
1. Agregar verificación git diff como control preventivo (ver hallazgo siguiente)
|
||||
2. 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.
|
||||
*(vacío — sprint recién abierto)*
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user