feat(episode): TRAZA_litellm-est-sano-confirmado-por-3-vas-in_S20260618.R4_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 4 — MEMORIA: LiteLLM está SANO (confirmado por 3 vías independientes)
This commit is contained in:
Ember 2026-06-18 16:51:41 +00:00
parent c6c0b552a9
commit 4beea46715

View file

@ -0,0 +1,31 @@
---
episode_id: "69165c6d-491b-4755-988e-77a7d0066f57"
puente_flat: "TRAZA_litellm-est-sano-confirmado-por-3-vas-in_S20260618.R4_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260618.VERIFY_FIRST_PASSPORT_FIX"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 4 — MEMORIA: LiteLLM está SANO (confirmado por 3 vías independientes)"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-18T16:24:44.163948+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**Investigación del LLM — COMPLETA. Tienes toda la razón.**
## LiteLLM está SANO (confirmado por 3 vías independientes)
| Evidencia | Resultado |
|---|---|
| Boot de esta sesión (checker real, SSH correcto) | `LiteLLM: 4 models | status=healthy` |
| **MCP docker_ps** (no usa SSH local) | container `litellm` **Up 6 hours** :4000 |
| `docs/STATE.md` L93 (histórico) | "BUG-6 /v1/models retorna 0 → **ya RESUELTO**: 4 modelos OK" |
## El "degraded — KEY ausente" era un FALSO POSITIVO — y ya lo corregí en la fuente
**Causa raíz:** `check_litellm_health()` Step 2 confundía **"SSH falló al leer la key"** con **"key ausente"** (usaba `_ssh` plano sin la protección tri-estado que el Step 1 ya tenía). Durante el corte de red, el SSH al leer la key timeoutó → falso "degraded — KEY ausente". **Corroborado por el propio repo:** `STATE.md` L1164 ya dice **"LiteLLM MASTER_KEY 'fuera del .env' → diseño deliberado (gestión via `--config` file)" ✅** — la key vive en `stacks/litellm/config.yaml` a propósito. Y L1818 (S20260424) **ya había diagnosticado este mismo falso positivo**. Es decir: el error venía arrastrándose porque se añadió el fallback a config.yaml pero **nunca se le dio al Step 2 la distinción transitorio-vs-real**. **Fix (commit `dece7e9`, 3 remotos):** Step 2 ahora tri-estado — solo declara `degraded` con **evidencia positiva** (config legible / canal OK); si el SSH no verifica → `unknown` (honesto). Verificado: 4 casos (A→unknown, B→degraded, C→healthy, D→unknown) + suite 8/8. **No volverá a mentir.**
**Claims stale:** los 51 docs que mencionan "LiteLLM degraded" son **históricos datados** (EXODUS/FORENSE/CONSEJO — audit trail que DLC preserva). `STATE.md` (vivo) NO tiene claim falso actual — ya marca los ítems como RESUELTO/diseño-deliberado.