feat(episode): TRAZA_el-guard-de-nomenclatura-no-muerde-desde_S20260806.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 2 — BLINDADAS: El guard de NOMENCLATURA **no muerde desde el...
This commit is contained in:
Ember 2026-08-06 19:46:00 +00:00
parent 516e1daf97
commit 3a9c827011

View file

@ -0,0 +1,31 @@
---
episode_id: "e1a738db-7530-451b-8c5e-6b0462880517"
puente_flat: "TRAZA_el-guard-de-nomenclatura-no-muerde-desde_S20260806.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260806.PIPELINE_FIXES"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 2 — BLINDADAS: El guard de NOMENCLATURA **no muerde desde el..."
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-06T19:45:52.072783+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
El guard de NOMENCLATURA **no muerde desde el 2026-05-03** — fin exacto de la ventana N-14, y fecha de la última línea de su log. La regla se promovió a ACTIVE-permanente el S20260612 y nadie movió la ventana del validador. Mientras tanto `CLAUDE.md` afirma en tres sitios distintos que ese hook bloquea. **No lo reactivé**, y la razón es la misma enfermedad: su detector exige `---` en la línea 1, pero los `.md` del ecosistema abren con `FILE_PASSPORT`. De 2201 archivos no exentos, encendería 1914 bloqueos — y **1067 de ellos serían injustos** (el doc sí declara `nomenclatura:`). Primero el instrumento, después el muro. Ambos hallazgos quedaron en tu cola con default seguro (5/10, ninguno enciende ni fabrica nada). ### Un tropiezo propio, que vale como confirmación del método
Mi primera medición dio "828 de 830 exentos". No me la creí y verifiqué la muestra: `is_exempt_path` devuelve una **tupla** `(bool, razón)`, y toda tupla no vacía es verdadera en Python — mi `if` daba siempre True. La cifra era mía y era falsa. La lección del arco funcionó sobre su propio ejecutor. ### Estado
| | |
|---|---|
| Commits | `f7506e50` (fix + 12 tests) · `970cdbea` (cola) |
| Tests del generador | 19 → **31 passed** |
| Controles B-30 | 2 de neutralización + 1 oráculo externo sobre producción |
| Suite completa | corriendo; parcial previa **2900 passed / 0 failed** |
| Push triple | **pendiente** del resultado de la suite |
Los gotchas del relevo se confirmaron los dos: el tag se me pisó a `PIPELINE_FIXES` a mitad de sesión (el guard D5 me bloqueó contra mi propia declaración), y la suite completa era necesaria — el subconjunto no habría probado nada del segundo fix. Aviso cuando la suite cierre para hacer el push y el relevo.