feat(episode): TRAZA_la-prueba-emprica-forense-l2_S20260531.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: TESSERA | Type: advisory
Summary: EPISODIO 1 — MNEMO: La prueba empírica (FORENSE L2)
This commit is contained in:
Ember 2026-06-01 00:24:45 +00:00
parent 6e484d5d4c
commit fe863b1887

View file

@ -0,0 +1,52 @@
---
episode_id: "ccf610da-87bc-4959-86b3-2b27e3699038"
puente_flat: "TRAZA_la-prueba-emprica-forense-l2_S20260531.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260531.PIPELINE_DESTRABE_DIAGNOSTICO"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "TESSERA"
fase_proyecto: "operations"
tipo_semantico: "advisory"
summary_one_line: "EPISODIO 1 — MNEMO: La prueba empírica (FORENSE L2)"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-01T00:24:44.464274+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**Demostración completa, John — y el resultado es contundente y te corrige con evidencia.** Tu instinto tiene un núcleo verdadero, pero el mecanismo no es el que pensabas.
## La prueba empírica (FORENSE L2)
**1. LUMEN SÍ está incapacitado — pero por RAM, no por CPU/GPU.** Respuesta cruda del benchmark:
`lumen-v4` (19.9 GB en disco) necesita **26.1 GiB para cargar**, y el box LUMEN (10.0.0.2) solo tiene **21.3 GiB disponibles****OOM, ni siquiera arranca**. Confirmado: el box no tiene GPU y además no le alcanza la RAM para este modelo. `hard_fact` [respuesta literal Ollama `/api/generate`].
**2. PERO el pipeline de memoria NO usa LUMEN — en absoluto.** `crisol_run.py` (F0-F6) tiene **cero** llamadas a lumen-v4. Su única dependencia de modelo es embeddings:
| Etapa crisol | Llama a | Destino real |
|--------------|---------|--------------|
| F3 embed (`crisol_run.py:418-429`) | `POST /embeddings model=text-embedding-3-large` | LiteLLM → **OpenRouter (externo)**, NO LUMEN |
| Retrieval (`:840-848`) | mismo embeddings model | externo |
| HyDE (`:189`, `:647`) | **regex** sobre el .md + f-string fallback | **ningún LLM** |
`hard_fact` [grep `crisol_run.py`: `LITELLM_URL/embeddings text-embedding-3-large` ×2, HyDE por `re.search`].
## Veredicto: tu hipótesis FALSADA para el pipeline (conf 0.85)
- ✅ **Tu instinto correcto:** LUMEN está incapacitado (OOM, sin GPU, RAM insuficiente). Real y demostrado.
- ❌ **Pero NO es el trab del pipeline:** la ingesta crisol no toca LUMEN. Aunque LUMEN esté muerto, el pipeline embebería igual (vía OpenRouter externo, que el boot panel reporta `healthy`).
- 🎯 **El pipeline no está *trabado*, está *ocioso*:** (a) la alarma "stale 45d" era el log retirado (ya arreglado, Opción B), y (b) en producción **nada se ha alimentado a `crisol/inbox` desde May 27** — eso es un **gap del productor** (quién genera y empuja episodios), no un cuello de cómputo de LUMEN.
## Qué significa para ti
| Si tu objetivo es… | Entonces… |
|--------------------|-----------|
| Que LUMEN funcione (para otras tareas: `lumen_generate`, n8n, generación local) | Es infra del box 10.0.0.2: necesita **≥26 GiB RAM** (tiene ~21) o usar modelo más chico (`qwen2.5-coder:7b`=4.7GB sí cabe). Decisión separada del pipeline. |
| Destrabar el flujo de memoria | El cuello es el **productor** (nada llega a crisol/inbox desde May 27), NO LUMEN. Investigar quién/qué debería generar y empujar episodios. |
**Honestidad sobre el residual:** no rastreé cada workflow n8n ni `gen_stress_episodes.py` (generación sintética) que *podrían* invocar LUMEN. Si tú sabes que algún proceso de **generación de episodios** usa lumen-v4, ahí sí LUMEN-OOM lo rompería — dime cuál y lo trazo. Pero el pipeline de ingesta canónico (crisol F0-F6) está limpio de LUMEN.
**¿Hacia dónde?** (a) investigo el productor (por qué no llegan episodios — Fase-4 real), (b) miro si algún generador de episodios usa lumen-v4 (cerrar el residual), o (c) lo dejamos documentado aquí. Tu llamada.