Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — MNEMO_PRE_DIGEST: 🎯 El veredicto final del arco retrieval (5 experi
3.1 KiB
| episode_id | puente_flat | session_code | acto_dialogico | actor_flujo | criticidad_aegis | skill_dominante | fase_proyecto | tipo_semantico | summary_one_line | source_type | trust_boundary | created_at | relectura_tagged | forgejo_commit_sha |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| a3991776-2700-42c6-99b8-2003836b9357 | TRAZA_el-veredicto-final-del-arco-retrieval-5_S20260719.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260719.ORACULO_RETRIEVAL_X09 | informar | multi_actor | low | NONE | operations | troubleshooting | EPISODIO 1 — MNEMO_PRE_DIGEST: 🎯 El veredicto final del arco retrieval (5 experimentos) | claude_code | internal | 2026-07-19T13:25:55.259893+00:00 | false | pending |
Commit a3d2c761 — 3/3. El arco del oráculo llegó a su verdad completa. Te doy la síntesis final, sin adornos.
🎯 El veredicto final del arco retrieval (5 experimentos)
Corrí filter-then-rank con tres brazos. Ninguno subió el recall@1:
| Brazo | recall@1 | por qué |
|---|---|---|
| Baseline (pool completo) | 0.060 | — |
| Filtro por mes | 0.066 | solo 2 meses → encoge poco |
| Filtro por entidad | 0.049 (peor) | encoge a ~54 candidatos pero pierde el episodio correcto |
La lección que cierra la búsqueda: encoger el pool no basta — el filtro tiene que RETENER el episodio correcto. El experimento anterior (S-2) subió a 0.36 porque su pool de 145 siempre contenía el target (era un filtro-oráculo perfecto). Los filtros reales no son oráculos: el de mes retiene el target pero apenas encoge; el de entidad encoge fuerte pero bota el target cuando su texto indexado (título ceremonial genérico) no comparte palabras con la pregunta.
La verdad honesta, después de cinco experimentos
No hay bala de plata de una línea. El retrieval real es débil (~6% a la primera, ~16% en el top-10 a escala) y la causa es estructural: hay demasiados episodios-turno delgados, ceremonialmente casi idénticos ("PARA JOHN — R1", "EPISODIO N — MARKER"), con el resumen vacío. Cada palanca que probamos falló o apenas movió:
- Multi-store RRF: perdió 4 veces.
- Fusión V1: era humo de leakage (no aporta en preguntas reales).
- Summaries solos: ayudan el top-10, no el top-1.
- Filter-then-rank barato: no retiene el target y encoge.
La mejora real requiere inversión estructural, no un tweak: granularidad más gruesa (fusionar turnos → menos near-duplicates) + poblar los resúmenes y re-indexar por ellos (sube la cobertura del índice). Combinadas: menos episodios, más ricos, más encontrables.
Lo que este arco SÍ ganó (y es mucho)
Pagamos el precio de medir honesto y compramos la verdad: el 0.490 era un fantasma de leakage; el número real es 0.06. Falsificamos cuatro hipótesis con evidencia — cada una nos ahorró una inversión que no habría movido la aguja (un re-embed de 828 episodios, más afinado de fusión, más multi-store). Dejamos un examen honesto permanente (reutilizable, anclado por sha256) y un diagnóstico correcto y accionable. Y una nota que importa: "reencontrar el hilo de un chat" (por session_code) sigue al 100% — esa es la vía que Ember usa en la práctica.