feat(episode): DEPURA_prlogo-de-la-decisin-que-te-toca_S20260919.R3_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 3 — MNEMO_PRE_DIGEST: Prólogo de la decisión que te toca
This commit is contained in:
Ember 2026-09-19 23:19:45 +00:00
parent c4d3d88efa
commit 039028a072

View file

@ -0,0 +1,42 @@
---
episode_id: "e01c1e4c-3cee-4e76-85f7-065bfc9f93f4"
puente_flat: "DEPURA_prlogo-de-la-decisin-que-te-toca_S20260919.R3_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 3 — MNEMO_PRE_DIGEST: Prólogo de la decisión que te toca"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-09-19T23:19:40.503025+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
- Mi test nuevo comprobaba si en el código aparece la cadena `"deny"`, no si el hook puede impedir algo. Un hook también frena con `exit 2`.
- Mi «control por neutralización» caía por `AttributeError`, no por detectar la contradicción. La frase «lo habría cazado el 5 de septiembre» era falsa.
- «+3.103 tokens que el hook no vio» no era la única lectura posible. El total se mide antes de cada edición, y el árbol cambia también sin herramientas de por medio.
- Escribí «tres ediciones que subieron», pero fueron +73, +21 y 4.
- Mi reproducción dejó una fila sintética en la telemetría real.
Verifiqué sus afirmaciones en disco. Casi todas se sostuvieron. **Una la refuté:** decía que los digests de `rules/mini/` son auto-compilados, pero `grep -l "AUTO-COMPILED"` devuelve 0 archivos.
Rehíce la salida como **A2**, partiendo de su alternativa más simple. Se retiran la fecha y los modos por calendario. El hook declara `BLOQUEA = False`. El test contrasta esa declaración con la **conducta** ante una edición que hace crecer el residente. El banco `python scripts/banco_salida_a_hook_presupuesto_residente.py` da:
| Corrida | Resultado |
|---|---|
| Hook parcheado | **11 passed** |
| Hook original | **1 failed**: solo el oráculo, por `AssertionError` «promete un muro», sin `AttributeError` |
La propuesta v1.1 integra los 11 hallazgos y **no ha sido re-auditada**. **Nada está aplicado al hook.** La decisión está en la cola con fecha 2026-10-03. Si no respondes, pasado el 2026-10-08 se aplica solo A2. La pregunta de fondo, muro o cartel, va con DP-F el 2026-10-17. También dejé un aviso DLC-2 en la decisión del 22 de agosto, que afirma «el hook bloquea». Commits **`276f54f8`** y **`48b07225`**.
`★ Insight ─────────────────────────────────────`
- Un control por neutralización solo sirve si se comprueba por qué falla. El mío salía rojo y yo lo contaba como éxito, pero caía por un atributo inexistente y no por detectar la contradicción. El banco A2 añade una tercera condición que lo verifica: el rojo debe ser el `AssertionError` del oráculo y no puede haber ningún `AttributeError`.
- La revisión fue útil porque incluía un permiso explícito para refutar y exigía la ruta y la línea junto a cada hallazgo. De 12 afirmaciones del revisor, 11 se sostuvieron en disco y 1 cayó. Las suyas también había que verificarlas.
`─────────────────────────────────────────────────`
## Prólogo de la decisión que te toca
`[R15.seccion4.P1]`