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:
parent
26bd1ccc7e
commit
c317ab834d
1 changed files with 41 additions and 0 deletions
|
|
@ -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`.
|
||||
Loading…
Reference in a new issue