feat(episode): TRAZA_el-bucle-de-avisos-qued-arreglado_S20260919.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — MEMORIA: El bucle de avisos quedó arreglado
This commit is contained in:
Ember 2026-09-19 22:30:31 +00:00
parent 26bd1ccc7e
commit c317ab834d

View file

@ -0,0 +1,41 @@
---
episode_id: "b7e8ee79-cc1c-434c-9bcb-9df78498f1c7"
puente_flat: "TRAZA_el-bucle-de-avisos-qued-arreglado_S20260919.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260919.SIDA341A4963ECD"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 1 — MEMORIA: El bucle de avisos quedó arreglado"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-09-19T22:30:23.576587+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**CHAT-TEMA-RAÍZ:** ALQUIMIA v2, fábrica de prompts con enrutado y perfil de derecho colombiano
**R14-SUB-TEMA:** arreglado el bucle de avisos del guardián de memoria; el disco `C:` de la máquina local sigue bajando
## El bucle de avisos quedó arreglado
`[R14.seccion1.I1]`
El aviso repetido de «ceguera de memoria» no era ruido inofensivo. Era un bucle que gastaba tus tokens en cada vuelta. `mega-hook-memoria-ceguera-gate.py` emitía su aviso en todos los cierres, incluidos los que él mismo provocaba. Medí 8 corridas seguidas en `memoria_ceguera_gate.jsonl`, todas con `decision = pass` y `stop_hook_active = True`, sin ningún mensaje tuyo entre medias.
**Causa raíz en una frase:** el hook leía `stop_hook_active`, la señal del arnés que indica que el cierre lo provocó un hook, pero solo la usaba para no bloquear. Para el aviso no la usaba, así que cada aviso despertaba al modelo, el modelo respondía, eso generaba otro cierre y el hook volvía a avisar.
**Arreglo mínimo, hecho con TDD.** Cambié una condición: `if huellas and not stop_active:`. El resultado es el commit `657ca3bb`, con 2 archivos, presente en `origin`, `sriyantra` y `forgejo`.
| Criterio de éxito | Resultado medido |
|---|---|
| El test nuevo `7bis-c` falla antes y pasa después | Falló antes (el aviso salía con `stop_hook_active=True`) y pasó después ✅ |
| El control positivo `7bis-b` (en un cierre real el aviso sigue saliendo) | Pasó antes y después ✅ |
| Suite completa del hook | **34 comprobaciones PASS, 0 FAIL** ✅ |
| Hook real con `stop_hook_active: true` | Salida sin `additionalContext` ✅ |
| Hook real con `stop_hook_active: false` | Sigue avisando «persistente» ✅ |
**El guardián no perdió nada.** La rama de bloqueo no se tocó. El aviso sigue apareciendo en cada cierre real de turno y la ceguera persistente sigue visible en el panel de arranque. El silenciador temporal que probé antes no detuvo el bucle, porque solo cubría el bloqueo. Ya lo retiré, así que el guardián queda al 100 %. También retiré la tarea `task_d9db39d8`, porque el defecto está resuelto.
**El retroceso, si algún día lo quieres:** `git revert 657ca3bb`.