feat(episode): TRAZA_lo-que-qued_S20260808.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 2 — ember_experience: Lo que quedó
This commit is contained in:
parent
488abacfc2
commit
1a174e5cc6
1 changed files with 26 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
episode_id: "abe76d26-6029-45b6-aebd-344e5664f130"
|
||||
puente_flat: "TRAZA_lo-que-qued_S20260808.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||
session_code: "S20260808.MEMORIA_SOTA_BRECHA"
|
||||
acto_dialogico: "informar"
|
||||
actor_flujo: "multi_actor"
|
||||
criticidad_aegis: "low"
|
||||
skill_dominante: "NONE"
|
||||
fase_proyecto: "operations"
|
||||
tipo_semantico: "troubleshooting"
|
||||
summary_one_line: "EPISODIO 2 — ember_experience: Lo que quedó"
|
||||
source_type: "claude_code"
|
||||
trust_boundary: "internal"
|
||||
created_at: "2026-08-12T02:55:55.542642+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "pending"
|
||||
---
|
||||
|
||||
Hecho y respaldado en los 3 remotos (`9fe9900b`). `★ Insight ─────────────────────────────────────`
|
||||
El hallazgo más útil del turno no fue el corpus sucio sino **el test que lo protegía**. `test_includes_title_as_query` afirmaba `"Arquitectura MNEMO" in queries` — fijaba la **forma** (el título como elemento crudo) en vez del **requisito** (el título disponible como respaldo). Un test así no detecta el bug: lo **congela**, porque cualquiera que arregle el código ve rojo y asume que rompió algo. La señal para distinguirlos: un test que fija la forma se rompe cuando **mejoras** el código; uno que fija el requisito solo se rompe cuando lo **empeoras**. Su test hermano, dos líneas abajo, ya usaba la forma correcta (`any(... in q for q in queries)`) — la convención sana estaba ahí al lado. `─────────────────────────────────────────────────`
|
||||
|
||||
## Lo que quedó
|
||||
|
||||
**Preventivo** — el gate corre dentro del constructor del payload. Verificado con datos reales: entran 3 preguntas, sobrevive **solo la específica**, y el payload declara cuántas quitó en `hyde_mh3_filtered`. **Causa raíz** — encontrada persiguiendo un riesgo distinto. Monté un control anti-bucle (¿el generador vivo pasa su propio gate?) y dio **4/4 fallos**: `episode_classifier.py:472` anexaba el título crudo como si fuera pregunta, y con título vacío **inyectaba una cadena vacía en la memoria**. Tras el fix: 0/4. **Curativo** — 303 fichas, 691 preguntas retiradas, **ninguna perdida**: viven en `hyde_queries_rejected_mh3` con backup de 303 filas. Verificado midiendo el store, no creyéndole al script: 303→0 afectados, 0 rotos de conservación en muestra de 60, y **1610 puntos intactos**. ## Lo que tengo que decirte aunque no luzca bien
|
||||
|
||||
**No sube el recall hoy.** Las preguntas sembradas no están en el camino de lectura — el índice se construye sobre el texto, como demostró la doble medición.
|
||||
Loading…
Reference in a new issue