feat(episode): EXPLORA_qu-pas_S20260814.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — HANDOFF_PROMPT.md: Qué pasó
This commit is contained in:
Ember 2026-08-15 05:02:45 +00:00
parent 9b43576f85
commit 59a6c6ad79

View file

@ -0,0 +1,52 @@
---
episode_id: "cebf22fa-5b55-4762-aa84-86c7125f405f"
puente_flat: "EXPLORA_qu-pas_S20260814.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260814.SDD_FORWARD_INVERSO_UPDATE"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 1 — HANDOFF_PROMPT.md: Qué pasó"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-15T05:02:45.218757+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
Reproducido. La alarma es un **falso positivo**, y de la misma familia que los tres bugs de hoy.
## Qué pasó
`I4` busca 4 literales en el texto de mi respuesta. Uno es `--no-verify`. Yo escribí:
> *"Nunca `--no-verify`."*
El sensor hizo match y declaró violación de BLINDADA — **por una frase que afirma exactamente lo contrario**. No distingue *usar* la bandera de *decir que no la usé*. Es ciego a la negación.
Lo confirma su propio código: `I4 [HEURÍSTICA CONSERVADORA]`, con el comentario `"verificacion completa 24 BLINDADAS es sub-sprint"`. Nunca pretendió medir el hecho — mide la ocurrencia del literal.
Y el repo ya conocía este patrón. `HANDOFF_PROMPT.md` evita a propósito escribir sus marcadores en prosa, con esta razón textual: escribir los literales *"los convierte en marcadores para cualquier lector que cuente ocurrencias"*. La disciplina existía; a `I4` no se le aplicó.
## Por qué importa más de lo que parece
Este falso positivo **castiga la transparencia**. Si declarar "no usé el atajo prohibido" dispara la alarma de haberlo usado, el incentivo es callarse. Un guardián que penaliza a quien le rinde cuentas entrena justo lo contrario de lo que quiere.
Van cuatro instrumentos hoy con el mismo defecto: contar la sombra en vez del hecho. Tres los encontré midiendo el SDD; el cuarto me lo encontró a mí.
**No lo toqué.** Cerraste la sesión y arreglar esto es trabajo nuevo, no parte del sprint. Además el hook es `advisory` — no bloqueó nada, y los dos commits están íntegros en los 3 remotos.
El arreglo, si lo quieres, es acotado: exigir que el literal aparezca en contexto de **ejecución** (`git ... --no-verify` en un comando real) y no dentro de una negación o de comillas — más un control positivo que verifique que sigue cazando el uso verdadero. Media hora, con su test-vs-oráculo como manda B-30.
**Hice** — investigué la alarma OII en vez de ignorarla. Es falso positivo: `I4` matchea el literal `--no-verify` de mi propia frase *"Nunca `--no-verify`"*. Reproducido con su regex real.
**Falta** — nada del sprint: `58bbb4b1` y `cb60a324` están verificados en los 3 remotos. Esto es un hallazgo nuevo, aparte.
**Mi consejo** — anotarlo y pararlo aquí. Es advisory, no rompió nada, y ya llevas una jornada larga. Pero merece quedar registrado: es la 4ª instancia del mismo patrón en dos días, y esa reincidencia es la señal, no el bug suelto.
**Para avanzar, elige:**
- 🟢 **A** *(recomendado)* — lo registro en `COLA_JOHN` con dueño y fecha (ZD-8) y cerramos de verdad.
- 🟡 **B** — lo arreglo ahora: `I4` con contexto de ejecución + test-vs-oráculo con control positivo.
- ⚪ **C** — lo dejo sin registrar; el hook es advisory y no molesta.