feat(episode): TRAZA_lo-que-midi_S20260821.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — BLINDADA: Lo que midió
This commit is contained in:
Ember 2026-08-21 19:37:49 +00:00
parent 38be999185
commit 9b013f446e

View file

@ -0,0 +1,41 @@
---
episode_id: "503b70b4-cf23-4d41-a16a-205e61c0fd09"
puente_flat: "TRAZA_lo-que-midi_S20260821.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260821.HERENCIA_ARNES_LLM_LOCAL"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 1 — BLINDADA: Lo que midió"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-21T19:37:47.704723+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
T-00 hizo exactamente aquello para lo que existe: **paró el plan antes de que yo escribiera una línea de código.**
## Lo que midió
15 supuestos, comando y salida literal por fila. **10 verificados, 5 refutados** — tres de ellos con consecuencia de diseño:
| Supuesto | Lo que Fable asumió | Lo medido |
|---|---|---|
| **A-02** | los hooks deniegan con `sys.exit(2)` | **0** ocurrencias en el gate de referencia. El mecanismo canónico es **stdout JSON con `permissionDecision`** — 45 hooks lo usan, 2 usan `exit(2)` |
| **A-11** | `MEMORY.md` está en el repo | **No existe** ni en raíz, ni en `memory/`, ni en `.claude/`. Vive fuera del árbol versionado |
| **A-14** | `mutmut` disponible | *"To run mutmut on Windows, please use the WSL"* |
Y dos hallazgos que no eran supuestos suyos sino agujeros del diseño: **`rutas_permitidas_nivel2` no incluye `docs/arnes/`** — el guard podía bloquear la terminación de su propio ciclo — y **el FREEZE congela por dominio, no por rutas**, así que el oráculo O-14 iba a comprobar un fichero de patrones vacío y a dar verde sin probar nada. Ese segundo es el peor de los cinco: un oráculo que pasa siempre es exactamente el instrumento mentiroso que BLINDADA-30 persigue.
Lo bueno: **A-07 salió limpio**. Los dos archivos que mencionan `staleness_threshold_days` no son sensores de caducidad — uno lo cita *para criticarlo* (`fe_publica_verifier.py`: *"el tiempo es un PROXY… medir el HECHO, no la sombra"*) y el otro lo emite en el frontmatter de los planes que genera. No estamos fabricando nada que exista; los cuatro nombres nuevos dan **0 coincidencias** en el catálogo maestro y en el mapa de hooks.
## Por qué me detuve
Al extraer la sección 8 del arco —que era GAP-3, el hueco que el propio dossier declaró honestamente no haber leído— apareció esto, palabra por palabra:
> *"Opus NUNCA re-piensa: ejecuta `steps` literales; desviación = entrada DEVIATION; **>2 tareas afectadas o contradicción con DC-nn → STOP y re-consultar**."*
Mi cuenta de desviaciones toca **T-00, T-10, T-13, T-15 y T-19 — cinco tareas.** El umbral es dos.