feat(episode): DEPURA_nota-de-cierre-automtico-al-terminar-el_S20260726.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: TESSERA | Type: troubleshooting Summary: EPISODIO 2 — MCP: Nota de cierre automático: al terminar el turno,...
This commit is contained in:
parent
90a399f579
commit
ad5ff21a51
1 changed files with 53 additions and 0 deletions
|
|
@ -0,0 +1,53 @@
|
||||||
|
---
|
||||||
|
episode_id: "58e6e660-eeb7-4ba6-a0a8-1dc781d5d263"
|
||||||
|
puente_flat: "DEPURA_nota-de-cierre-automtico-al-terminar-el_S20260726.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260726.ARCO_CICLO4_AUTOMEJORA"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "TESSERA"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 2 — MCP: Nota de cierre automático: al terminar el turno,..."
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-07-27T00:13:09.911596+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Nota de cierre automático: al terminar el turno, el hook regeneró [REPORTE_EFECTIVIDAD_HOOKS.md](docs/REPORTE_EFECTIVIDAD_HOOKS.md) (11 veredictos sobre 10 hooks). Es un evento del sistema, no requiere acción mía.
|
||||||
|
|
||||||
|
**No hay nada más que yo pueda avanzar sin tu criterio.** El ciclo 6 quedó entregado y anclado; lo que sigue son tres decisiones tuyas:
|
||||||
|
|
||||||
|
1. 🔴 **DC-6** — vence **mañana**; el dossier está completo (fixture verificada contra el canon vivo + contador honesto).
|
||||||
|
2. ❓ **Política de remediación A/B** para los 406 tests que no pueden fallar — mi recomendación sigue siendo **A** (hacer `check()` asertivo y aceptar el rojo masivo, porque ese rojo es la verdad que llevaba meses oculta).
|
||||||
|
3. ❓ **C5-09** — requiere tu GO porque reinicia el MCP y te cuesta las 3 tmux.
|
||||||
|
|
||||||
|
Quedo esperando.
|
||||||
|
|
||||||
|
Todo registrado: commit `2c30c210`, push 3/3.
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
## Lo que pasó, y por qué me detuve
|
||||||
|
|
||||||
|
Ejecuté tu GO en orden. **P0** dio PROCEDER (152 de 258, 58%). **P1** congeló la lista con su huella. Y **P2 —el canario— falló**, que es exactamente para lo que existe.
|
||||||
|
|
||||||
|
Lancé el worker canónico 60 segundos sobre los 8 huérfanos, **sin crear un solo evento**. Los 8 respondieron lo mismo: `HTTP 400`. Si hubiera encolado primero los 152, tendría 152 fallos y una cola envenenada. El canario costó ocho intentos sobre episodios que ya estaban rotos.
|
||||||
|
|
||||||
|
Y al tirar de ese hilo apareció algo bastante más grande que el hueco.
|
||||||
|
|
||||||
|
## 🔴 El hallazgo real
|
||||||
|
|
||||||
|
El 12 de junio rotaste la master key de LiteLLM. El worker de Qdrant la tiene **hardcodeada como valor por defecto**, y el entorno no define la variable que la sustituiría. Desde ese día el worker pide embeddings con una credencial muerta y recibe 400. El 19 de junio alguien lo sacó del despachador —presumiblemente porque ensuciaba— y ahí sigue, cinco semanas después.
|
||||||
|
|
||||||
|
**El sistema perdió su redundancia el 19 de junio.** Mientras el otro camino funcionó, no se notó. Cuando ese también falló, del 2 al 11 de julio, no había red: **152 episodios cayeron al vacío.**
|
||||||
|
|
||||||
|
Y el barrido de la clase es lo que me preocupa de verdad: **ocho componentes vivos tienen claves muertas hardcodeadas**. Entre ellos `puente_health_check.py` —un chequeo de salud— y `fides_report.py` —el que calcula la confianza de tu memoria—. Son instrumentos que podrían llevar semanas dando veredictos sin poder hablar con lo que dicen medir.
|
||||||
|
|
||||||
|
★ Insight ─────────────────────────────────────
|
||||||
|
Volviendo a tu metáfora: esto no fue un fallo del cerebro reptil. Fue **más sutil y más peligroso** — el reptil siguió respirando con un pulmón mientras el otro estaba colapsado, y ningún sensor lo reportó porque *el sensor también estaba desconectado*. Es la razón exacta por la que insistes en que la prudencia sea mecánica: un sistema que se auto-percibe mal es más peligroso que uno que no se auto-percibe, porque **produce confianza injustificada**.
|
||||||
|
─────────────────────────────────────────────────
|
||||||
|
|
||||||
|
## La decisión que te traigo
|
||||||
Loading…
Reference in a new issue