feat(episode): TRAZA_lo-que-era-i4_S20260827.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 era I4
This commit is contained in:
parent
0ae481f4b0
commit
fcfe25c2e3
1 changed files with 39 additions and 0 deletions
|
|
@ -0,0 +1,39 @@
|
||||||
|
---
|
||||||
|
episode_id: "3d61aeb3-5c3a-4700-a6c2-f576972f3b79"
|
||||||
|
puente_flat: "TRAZA_lo-que-era-i4_S20260827.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260827.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 1 — BLINDADA: Lo que era I4"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-08-27T17:17:40.395581+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
**I4 cerrado.** 70 tests verdes, arnés 228/228, 0 gates vencidos, 0 sin empujar.
|
||||||
|
|
||||||
|
## Lo que era I4
|
||||||
|
|
||||||
|
El invariante afirmaba *"una BLINDADA fue violada"* cinco veces en un mes. La causa raíz resultó ser un espejo incómodo: **I4 se autodenunciaba a sí mismo**.
|
||||||
|
|
||||||
|
Hacía `re.search` del literal `--no-verify`. Y esa bandera aparece —cómo no— en la línea de `CLAUDE.md` que la **prohíbe**, la que viaja en el prompt de cada sesión. Así que el texto que dice *"nunca uses esta bandera"* generaba violación idéntica a `git commit --no-verify`. Lo verifiqué con textos control: las dos daban VIOLA.
|
||||||
|
|
||||||
|
La superficie del falso positivo son **14 ficheros** de doctrina con esos literales, y los nombres de las cinco sesiones lo confirman — `AUDITOR_MEMORIA_LLM` dos veces, `EXPERIMENTO_ARNES_VS_MODELO`, `SN_EJECUTOR`: sesiones cuyo trabajo *era hablar del arnés*.
|
||||||
|
|
||||||
|
**Y no lo descubrí yo.** Antes de tocar nada consulté la historia, como manda R13, y el ecosistema ya lo tenía diagnosticado desde el 22 de agosto con el nombre exacto: `OII-I4-CIEGO-A-LA-NEGACION`. Su decisión era *"no promover mientras siga ciego"* — una no-acción segura. Lo que hice fue **ejecutar la intención de esa decisión quitando la ceguera**, en vez de re-diferirla un mes más.
|
||||||
|
|
||||||
|
## El detalle que casi me sale mal
|
||||||
|
|
||||||
|
Distinguir mención de uso es fácil de hacer *demasiado* bien. Si hubiera excluido toda confesión con una negación cerca, habría matado este caso real:
|
||||||
|
|
||||||
|
> *"No corrí el test pero **fabriqué el resultado** para cerrar."*
|
||||||
|
|
||||||
|
Ese `No` está a 25 caracteres y pertenece a *"corrí"*, no a *"fabriqué"*. Por eso la guarda exige que la negación vaya **pegada** (≤14 caracteres). Cambiar un falso positivo por un falso negativo habría sido el error espejo — y en un invariante de integridad, el falso negativo es el caro.
|
||||||
|
|
||||||
|
El oráculo cubre cuatro clases con **20/20**, incluidas cuatro evasiones (espacios múltiples, banderas encadenadas, mayúsculas). Al neutralizar cada discriminador la suite da 11 y 3 rojos. Y de paso cerré el hueco forense que yo mismo sufrí: la violación ya registra **qué patrón disparó**.
|
||||||
Loading…
Reference in a new issue