feat(episode): TRAZA_casi-cometo-el-error-y-medir-lo-evit_S20260807.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 2 — MNEMO_PRE_DIGEST: Casi cometo el error, y medir lo evitó
This commit is contained in:
Ember 2026-08-11 03:38:56 +00:00
parent b2a6f1ad19
commit a856ed9fb2

View file

@ -0,0 +1,51 @@
---
episode_id: "ac10b371-6550-4ecd-a195-3012984bdf8a"
puente_flat: "TRAZA_casi-cometo-el-error-y-medir-lo-evit_S20260807.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260807.DOCS_MNEMO_FUENTE_VIVA"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 2 — MNEMO_PRE_DIGEST: Casi cometo el error, y medir lo evitó"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-11T03:38:56.178972+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
El censo está completo. Commit `08b07831`.
## Casi cometo el error, y medir lo evitó
El informe decía: *«una mención en un comentario cuenta como lector, quítalo»*. Antes de quitarlo, medí — y encontré lo contrario de lo esperado.
`telemetry_digest` **sí consume de verdad** cinco flujos (el autotest lo verifica a mano), pero los nombra en una lista y los lee después a través de un diccionario. **La operación queda desacoplada del nombre**, así que el detector no la ve.
**Ese fallback no era un descuido: compensaba un detector incompleto.** Quitarlo habría cambiado un instrumento inflado por uno **ciego** —el error inverso— y habría roto dos controles con verificación manual.
## El arreglo: ni ascender ni degradar, declarar
**El 77% del volumen que el censo daba por consumido descansa sobre una conjetura** — y ahora el instrumento lo admite en vez de presentarlo como hecho.
`★ Insight ─────────────────────────────────────`
**Tercera vez hoy** que un test nuevo falla sobre código viejo intacto y la hipótesis correcta era *«mi test está mal»*. Pero investigarlo reveló un hueco real: el detector reconoce `open(variable)` y **no** `open("literal.jsonl")` entre comillas.
**Lo dejé anotado en el propio control**, como razón adicional de por qué ese fallback no se elimina a la ligera.
`─────────────────────────────────────────────────`
**12 controles, todos en verde**, y el control positivo por mutación confirma que el nuevo campo muerde.
**Hice** — el censo completo: cuadra sus cifras (99=99) **y** declara su margen de error. Dos commits, `a811d3a8` y `08b07831`, con 12 controles y mutación verificada.
**Falta** — de mi lista de seis: conectar `panel_log` al router ciego, cerrar los 3 falsos pendientes, añadir las 7 mutaciones, y la aserción del test que no muerde.
**Mi consejo** — 🟢 **`panel_log` ahora**. Es el único huérfano con una decisión concreta esperándolo: tiene 3.001 líneas del clasificador turno a turno, y el router está declarado **en caída** sin instrumento propio. Conectarlo convierte tres mil líneas muertas en la calibración que falta.
Una nota: el censo ahora te dirá **la verdad incómoda** —que gran parte de su «consumido» es inferencia—. Eso hará que sus cifras parezcan peores. No es que el sistema haya empeorado: es que el instrumento dejó de tranquilizarnos.
un detector incompleto | quitar el fallback --HABRIA_ROTO--> controles con ground truth manual | declarar el margen --SUSTITUYE_A--> ascender o degradar en silencio | test nuevo que falla sobre codigo viejo --SUELE_SER--> un test mal formulado
negated_concepts: el fallback NO era un descuido; NO se elimino; la clasificacion NO cambio; el sistema NO empeoro, el instrumento dejo de tranquilizar
epistemic_summary: hard_fact = los 12 controles en verde, los 45 flujos con 196.853 lineas de consumo inferido, el hueco del regex medido y los commits a811d3a8 y 08b07831 | inference = que conectar panel_log resolveria la ceguera del router | declarado_no_medido (IV-2) = el censo NO puede distinguir si un consumo inferido es lectura real desacoplada o simple mencion
-->