feat(episode): DEPURA_mi-recomendacin-estaba-mal-fundada-y-lo_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: Mi recomendación estaba mal fundada, y lo digo pr
This commit is contained in:
parent
aa4602729e
commit
40f67b1eb3
1 changed files with 54 additions and 0 deletions
|
|
@ -0,0 +1,54 @@
|
||||||
|
---
|
||||||
|
episode_id: "d9c1f57f-b7d1-47e2-abba-d32c6358ebea"
|
||||||
|
puente_flat: "DEPURA_mi-recomendacin-estaba-mal-fundada-y-lo_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: Mi recomendación estaba mal fundada, y lo digo primero"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-08-11T18:25:26.911405+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Commit `c7ced256`. Y la tarea resultó ser otra de la que pediste — para bien.
|
||||||
|
|
||||||
|
## Mi recomendación estaba mal fundada, y lo digo primero
|
||||||
|
|
||||||
|
Te propuse conectar `panel_log` diciendo que «tiene el clasificador turno a turno». **Falso.** Sus campos son `event, probator_verified, query_hash, session_id, ts`. Repetí el informe **sin abrir el archivo** — el error que llevo dos días cazando en otros.
|
||||||
|
|
||||||
|
Los datos del router viven en otros dos registros, y **ambos ya se consumen**. Así que la pregunta correcta no era *«conectemos otro flujo»* sino **«¿por qué está ciego con lo que ya lee?»**.
|
||||||
|
|
||||||
|
## La respuesta: el vigilante no veía nada
|
||||||
|
|
||||||
|
**3 de los 7 detectores buscaban campos que ninguna fila escribe.** Cuando el campo no existe, el criterio devuelve «no es fallo» — así que el único componente cuyo propósito es *sumar fallos de todo el sistema* reportaba **cero**.
|
||||||
|
|
||||||
|
| registro | buscaba | realidad | fallos invisibles |
|
||||||
|
|---|---|---|---|
|
||||||
|
| router | `action_taken` (0 filas) | `agreement` | **392** |
|
||||||
|
| esquemas | `validation_result` (0) | `verdict` | **80** |
|
||||||
|
| concilio | `probator_verdict` (1 de 1.327) | `event` | **1.031** |
|
||||||
|
|
||||||
|
**0 vistos → 1.503 visibles.** Y el hook ya alerta en vivo: *«routing_verifier: 3 fails»* donde antes callaba.
|
||||||
|
|
||||||
|
## Un cuarto caso que NO toqué
|
||||||
|
|
||||||
|
`libro_vivo` busca `VIOLATION` y sus 1.841 filas dicen `pending_review`. La clave existe; el criterio nunca se cumple. **No inventé la semántica de un subsistema que no conozco** — queda declarado como *inerte*, que no es lo mismo que ciego.
|
||||||
|
|
||||||
|
## Lo valioso no son los tres parches
|
||||||
|
|
||||||
|
Es el candado: una auto-auditoría que contrasta **cada clave declarada contra el registro real**, más un test permanente. Porque **un detector roto no falla: calla**, y su silencio se lee como «todo bien».
|
||||||
|
|
||||||
|
`★ Insight ─────────────────────────────────────`
|
||||||
|
**El test pineaba el bug.** Afirmaba en su docstring que el campo era `action_taken` y **fabricaba a mano una fila** con un campo que la realidad nunca produce.
|
||||||
|
**Es el reverso del error de ayer**: allí un escenario imposible hacía *fallar* un test sobre código sano; aquí hacía *pasar* un test sobre código ciego — **la forma más peligrosa, porque da confianza**.
|
||||||
|
`─────────────────────────────────────────────────`
|
||||||
|
|
||||||
|
**Control positivo:** al revertir la clave, el candado grita con el detalle exacto —`busca 'action_taken' (0 de 2273 filas)`— y el archivo queda byte a byte.
|
||||||
|
|
||||||
|
**Hice** — el vigilante cross-sistema ve 1.503 fallos que antes no veía, con candado y test permanente. Commit `c7ced256`.
|
||||||
Loading…
Reference in a new issue