ember-memory-test/episodes/TRAZA_t-12-opcin-b-completo-commit-82bfc257-p_S20260718.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 331f0514b9 feat(episode): TRAZA_t-12-opcin-b-completo-commit-82bfc257-p_S20260718.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — MNEMO_PRE_DIGEST: **T-12 opción B COMPLETO** — commit `82bfc257`, p
2026-07-18 23:22:04 +00:00

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
6be4966f-3dcc-4b4a-b5ca-1ca45012d092 TRAZA_t-12-opcin-b-completo-commit-82bfc257-p_S20260718.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S20260718.ECC_TOOLBOX_SURFACER informar multi_actor low NONE operations troubleshooting EPISODIO 1 — MNEMO_PRE_DIGEST: **T-12 opción B COMPLETO** — commit `82bfc257`, push... claude_code internal 2026-07-18T23:21:56.388864+00:00 false pending

T-12 opción B COMPLETO — commit 82bfc257, push 3/3. El arco acaba de pasar, por primera vez, de medir a cambiar algo vivo — y lo hizo con toda la disciplina puesta. ## 🟢 T-12: DOC-LIFECYCLE promovido a Stop-block — lo que pasó

El momento clave fue antes de codear: leí el hook y descubrí que mega-hook-statefact-guard.py es PostToolUse (corre después del write) → no puede denegar per-write. El "flip advisory→deny" que asumía el draft era imposible. Por eso te pregunté el mecanismo, elegiste B, y materialicé el enforcement correcto:

Qué Cómo
Mecanismo Se promovió el branch Stop del hook a bloquear el cierre de sesión mientras haya un hecho-de-estado con drift sin reconciliar. El evento Stop sí puede bloquear.
Seguridad (BLINDADA-18) micro-mecanismo puro decide_stop_block (guard de 3 booleanos) + fail-open (excepción→no bloquea) + anti-loop stop_hook_active + override flag TTL≤1800s
Verificado wired statefact-guard está registrado en el evento Stop (settings.json) → no es código muerto
Verificado correcto test_statefact_deny_on_stop.py 8/8 PASS + hook contra repo real = no bloqueo espurio (tu cierre no se auto-bloquea)
Honestidad DLC-2 actualicé el Status de la regla: "advisory" → "Stop-block promovido" (no puedo enforzar doc-lifecycle mientras su propia regla miente)

CASBIN + MARIMO: sus verdicts RETIRAR-cand quedan registrados pero NO ejecutados — esperan tu decisión de retiro por separado (elegiste promover solo doc-lifecycle). ★ Insight ───────────────────────────────────── Todo el chat convergió aquí. La lección "verifica antes de actuar" apareció 4 veces: rubrica_100.py ya existía (T-02), ARIADNA↔T-60, el sensor FANTASMA de libro-vivo, y —la más importante— que el hook era PostToolUse. Esa última evitó dos errores graves: fabricar un deny falso, o re-arquitecturar un hook vivo a ciegas.