Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — ember_experience: Lo que quedó reparado
2.8 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bc3297cc-1b6c-4f10-97fb-f4279bdefd05 | TRAZA_lo-que-qued-reparado_S20260726.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260726.ARCO_CICLO4_AUTOMEJORA | informar | multi_actor | low | NONE | operations | troubleshooting | EPISODIO 1 — ember_experience: Lo que quedó reparado | claude_code | internal | 2026-07-27T00:34:22.063185+00:00 | false | pending |
Commit b5449802, push 3/3. El canal está vivo.
—
Lo que quedó reparado
El arreglo ya existía y nadie lo había propagado. El 17 de junio alguien corrigió exactamente este bug en crisol_run.py con una nota clara —"key desde embedding.env, no hardcode"— y lo aplicó a un solo archivo. Por eso el camino vivo funcionaba y el worker llevaba cinco semanas muerto. No inventé nada: propagué el patrón probado. Verificación, con la función que fallaba como oráculo:
★ Insight ─────────────────────────────────────
Mi propio remediador tenía el bug que perseguía. La primera versión buscaba la clave entre comillas exactas, así que no veía "Bearer sk-…" —la clave embebida en una cadena mayor— y dio por limpio precisamente puente_health_check.py: un instrumento de salud. Un detector que no detecta, escondido dentro de la herramienta que cazaba detectores que no detectan. Solo apareció porque ejecuté el censo contra archivos reales en vez de confiar en mi lógica. ─────────────────────────────────────────────────
Y de paso endurecí el script: ahora detecta por prefijo y extrae el literal del archivo, así que ni el script ni su test contienen una credencial completa, ni siquiera muerta. ## Censo veraz — 4 limpios, 4 declarados
| Estado | Archivos | Por qué |
|---|---|---|
| ✅ Limpios | qdrant_worker, patch_qdrant_embed, crisol/sync_lexicon_qdrant, fused_search_cli |
arreglados y verificados |
| ⚠️ Manual | puente_health_check.py |
clave dentro de cadena: exige convertir a interpolación, no un reemplazo mecánico |
| ⚠️ Decisión tuya | fides_report, push_gateway, scripts/sync_lexicon_qdrant |
clave de OpenRouter: no sé de dónde sale la viva, y adivinarlo sería la improvisación que causa el próximo incidente |
—
Hice — propagué el arreglo canónico a 4 componentes (con respaldo y sintaxis validada antes de escribir) y verifiqué que el canal outbox→Qdrant vuelve a generar embeddings tras cinco semanas muerto.