Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — MEMORIA: El bucle de avisos quedó arreglado
2.7 KiB
| episode_id | puente_flat | session_code | acto_dialogico | actor_flujo | criticidad_aegis | skill_dominante | fase_proyecto | tipo_semantico | summary_one_line | source_type | trust_boundary | created_at | relectura_tagged | forgejo_commit_sha |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| b7e8ee79-cc1c-434c-9bcb-9df78498f1c7 | TRAZA_el-bucle-de-avisos-qued-arreglado_S20260919.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260919.SIDA341A4963ECD | informar | multi_actor | low | NONE | operations | troubleshooting | EPISODIO 1 — MEMORIA: El bucle de avisos quedó arreglado | claude_code | internal | 2026-09-19T22:30:23.576587+00:00 | false | 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.