feat(episode): TRAZA_t-04-desplegado-y-verificado-el-fix-de_S20260831.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — John: ✅ T-04 desplegado y verificado — el fix del fantasma vive (c
This commit is contained in:
Ember 2026-09-02 13:39:28 +00:00
parent f35ebfc8e3
commit a8754736c0

View file

@ -0,0 +1,34 @@
---
episode_id: "1a0b4136-e826-4a1e-8e3d-fc03943c613e"
puente_flat: "TRAZA_t-04-desplegado-y-verificado-el-fix-de_S20260831.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260831.SIDB92171056337"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 1 — John: ✅ T-04 desplegado y verificado — el fix del fantasma vive (c"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-09-02T13:39:25.315007+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
# ✅ T-04 desplegado y verificado — el fix del fantasma vive (commit `72d4bbb5`)
John: el fix está aplicado a los 3 parsers y probado end-to-end. Y en el camino ocurrió algo que **demuestra el diagnóstico solo**. ## Lo que pasó (y por qué importa)
Al desplegar, el segundo muro D5 me **auto-bloqueó** — pero por una razón reveladora: mi propia declaración de presencia decía *"cambio `[ACTIVO]` a prefijo `[ACTIVO`"*, y el parser frágil de D5 leyó ese texto como si fuera un bloque de otra instancia con nombre-basura (`[a prefijo [ACTIVO]`). **El texto que describe el fix, procesado por el bug que arregla el fix, me cerró la puerta.** No forcé el override: saneé mi descripción (quité los corchetes) y el falso bloque se despejó. Es la evidencia más limpia posible de por qué este parser necesitaba arreglo. ## Verificación (medida, no declarada)
| Prueba | Antes | Después |
|---|---|---|
| Limpiador detecta fantasmas en hooks-y-state | **0** ("no stale blocks") | **7** ("would be moved") |
| Total fantasmas detectados por el limpiador | 0 de 8 | **8 de 8** (7 hooks-y-state + 1 manifest-y-runbooks) |
| Coincidencia con el sensor `coord_metrics` | — | **8 = 8** (exacto) |
| Regresión (`test_activo_cleanup.py`) | — | **12/12 passed** |
El limpiador pasó de ciego a ver los 8 fantasmas que el sensor mide independientemente. Nada se rompió. ## Una decisión honesta que tomé sola
**No ejecuté la purga real en vivo.** Mover los 8 fantasmas a historial escribe `ACTIVO.md` de categorías donde ahora mismo trabajan otras instancias — riesgo de pisar su escritura concurrente (la clase de fallo que esta misión combate).