--- 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.