feat(episode): TRAZA_la-allowlist-residual-guardaba-los-31-no_S20260822.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: chronicle
Summary: EPISODIO 2 — BLINDADAS: La allowlist residual guardaba los 31 nombres como...
This commit is contained in:
Ember 2026-08-22 05:56:52 +00:00
parent 9d4c668deb
commit 35c0a1c5ed

View file

@ -0,0 +1,38 @@
---
episode_id: "ecadf443-6ea2-4511-a7ef-0bf50e73713c"
puente_flat: "TRAZA_la-allowlist-residual-guardaba-los-31-no_S20260822.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260822.PIPELINE_FIXES"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "chronicle"
summary_one_line: "EPISODIO 2 — BLINDADAS: La allowlist residual guardaba los 31 nombres como..."
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-22T05:56:38.479287+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
La allowlist residual guardaba los 31 nombres como excepción. Ya clasificados, esa lista los volvía invisibles al muro. **La vacié y verifiqué con control positivo**: quitar una sola entrada del manifiesto ahora enrojece el test (`1 failed`). Antes pasaba en verde gracias a la excepción — un muro que no muerde no es un muro.
**Hice** — cerré los 31: arnés **225/225 clasificado** (74 verificador · 40 constitutivo · 111 compensatorio), muro sin excepciones y con mordida probada, dos instrumentos fallidos registrados en la spec, y la spec de herencia propagada con las cifras nuevas (DLC-9, en el mismo acto). Tres commits pusheados a los tres remotos.
**Falta** — una sola cosa, y es tuya: los 31 quedaron como **`propuesta`**, no `aprobada`. No me los auto-aprobé: tu GO anterior fue explícito sobre "los lotes y las 31 blindadas", y estos son otros. Un `sí` los sella.
**Mi consejo** — 🟢 apruébalos y el ciclo 12 queda cerrado al 100%. Si quieres revisar antes, los seis que **deniegan de verdad** son los que más peso tienen: `gauge-red-enforce`, `protocolo-cognitivo`, `sherpa-gate`, `test-after-fix`, `dos-vias-guard`, `hook-dedup-guard`.
- 🟢 **A** — "aprueba los 31" → sello y ciclo 12 cerrado.
- 🟡 **B** — Te paso la tabla de los 31 con su evidencia para revisar antes.
- ⚪ **C** — Sigo con lo siguiente del ciclo 13 y los dejas en `propuesta`.
📌 **PILA (delta R13):** ✅ 31 resueltos · ✅ allowlist vaciada con control positivo · ✅ herencia propagada · `PP-016` aprobar los 31 (tuyo) · `PP-017` el filtro `local-small` debe empaquetar **lector + emisor** juntos → ciclo 13 · sin cambio: `PP-013` criterio del bench · `PP-014` coordinación · `PP-010` interruptor · `D-001` 2 gates ZERO-DEUDA · `PP-001` servidor MEMORIA.
clase_verificador (1.0, 109 archivos) | artefacto --requiere--> lector_para_ser_verificador (1.0, spec Q1) | resolver_31 --aumento--> subconjunto_heredable (1.0, 56→74) | allowlist_residual --cegaba--> muro_de_cobertura (1.0, control positivo)
negated_concepts: el árbol estructural NO se usó (GOLD 4/10) | shadow_hook.py NO estaba ausente (falso negativo del localizador) | los 31 NO fueron auto-aprobados | escribir NO es medir
epistemic_summary: hard_facts = 225/225 clasificado con su distribución, GOLD 4/10 del estructural, 109 escritores de jsonl, 314/525 sin lector, 56→74 heredables, control positivo del muro. inference = la directiva de empaquetar lector+emisor juntos. pendiente = aprobación de John sobre los 31.
-->
⛽ 🟢 GREEN ~560K