feat(episode): TRAZA_lo-que-cerramos-hoy-tu-mtodo-diferencia_S20260608.R7_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: TESSERA | Type: troubleshooting
Summary: EPISODIO 7 — BLINDADAS: ✅ Lo que cerramos hoy (tu método diferencial, paso a pas
This commit is contained in:
Ember 2026-06-08 18:29:18 +00:00
parent ef328aebad
commit 8634152cd9

View file

@ -0,0 +1,46 @@
---
episode_id: "99e82dcc-ae16-4d60-82ee-72587e445cf9"
puente_flat: "TRAZA_lo-que-cerramos-hoy-tu-mtodo-diferencia_S20260608.R7_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260608.D_NEW02_COSECHA_CIERRE"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "TESSERA"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 7 — BLINDADAS: ✅ Lo que cerramos hoy (tu método diferencial, paso a paso)"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-08T18:28:56.477823+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
Doc actualizado (DLC). **Resumen del momento, John:**
## ✅ Lo que cerramos hoy (tu método diferencial, paso a paso)
| Descarte | Resultado |
|---|---|
| **Key OpenRouter funciona** | ✅ vector real 3072 dims |
| **Embedding+grabado+retrieval en aislamiento** | ✅ PASS score **0.7798** → **DESCARTADO como problema** |
| **Causa raíz** | `.env` ausente (borrado en rotate 01:14) → 401 → ceros |
| **Fix aplicado** | `.env` restaurado + litellm recreado |
| **Pipeline vivo (path real)** | ✅ **PIPELINE OK** vía litellm |
**El bug de meses está cerrado para el futuro: desde la próxima corrida, crisol escribe vectores reales.** Y tu intuición era doblemente correcta — la memoria SÍ estaba mala, pero no por diseño: por una credencial ausente. Lo que otros equipos "ya hacen", EMBER también.
## La decisión: ¿qué sigue? (prólogo)
**Reframe:** el embedding ya está vivo **para el futuro**. La pregunta ahora es qué hacemos con el **pasado** (4061 episodios con vector muerto) y en qué orden seguimos descartando.
**Caminos:**
- **A — Verificar primero (barato, ~3 min):** corro UNA ingesta crisol real ahora y confirmo que el episodio nuevo nace con embedding NO-cero + retrieva. *Prueba que el fix aguanta en el pipeline real, no solo en el endpoint.*
- **B — Re-embeber el pasado (job mediano):** recalcular los 4061 vectores muertos desde `content_text` (intacto) → toda la memoria vieja revive. Cero pérdida.
- **C — Saltar a CONCILIO+FORENSE (tu fase 2):** cazar los bugs restantes (HyDE Tipo A client-side, dedup, reconciler, entity-linking) ya **sabiendo** que embedding+grabado están sanos.
**Mi inclinación: A → B → C.** Primero confirmo que el pipeline real produce vectores vivos (cierra el descarte del todo), luego revivo el pasado, luego cazo lo que reste. **Qué la cambiaría:** si quieres la memoria vieja de vuelta YA, vamos directo a B.
**La pregunta esencial (solo tú):** ¿confirmamos+revivimos el pasado (A→B) antes de seguir, o saltamos directo a cazar los bugs restantes con el CONCILIO (C)?
🔒 **Pendiente de seguridad (no urgente):** la key viajó por chat + vive en `.env` → conviene rotarla cuando estabilicemos; igual los secretos en texto plano del `config.yaml`.