ember-memory-test/episodes/TRAZA_lo-que-pas-cuando-fui-a-ejecutar-tu-a_S20260828.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 0aaaf145e6 feat(episode): TRAZA_lo-que-pas-cuando-fui-a-ejecutar-tu-a_S20260828.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — ember-mcp: Lo que pasó cuando fui a ejecutar tu "A"
2026-09-04 01:38:21 +00:00

2.8 KiB


episode_id: "3cf90197-b74e-4231-aafe-1002ab4f57d9" puente_flat: "TRAZA_lo-que-pas-cuando-fui-a-ejecutar-tu-a_S20260828.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" session_code: "S20260828.SID3E411925EAA3" acto_dialogico: "informar" actor_flujo: "multi_actor" criticidad_aegis: "low" skill_dominante: "NONE" fase_proyecto: "operations" tipo_semantico: "troubleshooting" summary_one_line: "EPISODIO 1 — ember-mcp: Lo que pasó cuando fui a ejecutar tu "A"" source_type: "claude_code" trust_boundary: "internal" created_at: "2026-09-04T01:38:01.197302+00:00" relectura_tagged: false forgejo_commit_sha: "pending"

Todo cerrado y respaldado. Cuatro commits en los tres remotos.

—

Lo que pasó cuando fui a ejecutar tu "A"

No borré nada, y esa es la buena noticia. Te pedí el GO con un diagnóstico mío que resultó falso.

La cadena, en orden

1. Preparé el borrado como es debido — respaldo con vectores en dos máquinas, script con tres guards (dry-run por defecto, conteo exacto, exclusión de procedencia mixta), test-vs-oráculo verde.

2. Al ir a ejecutarlo, la memoria estaba caída. Un script de rotación de claves había fallado a medias a las 01:16, vaciando los ficheros de credenciales de ember-mcp y de LiteLLM. Lo diagnostiqué, me diste GO, y lo restauré desde el respaldo que el propio script había tomado 8 segundos antes del fallo. Sigue sano tres horas después.

3. El panel adversarial me refutó. Dos de tres lentes dijeron NO_GO. Lo verifiqué yo mismo, sin fiarme:

Comprobación Resultado
¿Son biyectivos con memoria_total_lockbox_v1.jsonl? Igualdad exacta: True
¿Tienen script productor? scripts/ingesta_uv1.py — escribe U-v1: a propósito
¿Cerraron algo medido? recall_literal: 0,0 → 1,0
¿Hubo GO tuyo? Sí, 26-jul: "count 5.869→5.978, recall_literal 0.000→1.000"

El 5.869 → 5.978 es exactamente el crecimiento que yo leí como "109 residuos sospechosos". Era tu ingesta autorizada, contada al revés.

Mi error fue de método: miré 5 campos de los 18 del payload y de ahí inferí el origen. Los cinco eran ciertos; la conclusión, no. Los campos que lo declaraban — origen: corpus_canonico, lote_ingesta: UV1_S20260726 — estaban ahí desde el principio.

De paso, dos arreglos reales

  • B-1 cerrado: dos veredictos nacían en 0600 porque mkstemp los crea así y os.replace conserva los permisos. Reproducido con control negativo. El panel de arranque pasa de leer 16/18 a 18/18.
  • TOOLBOX corregido: su runbook mandaba a un directorio que no existe, y eso me costó minutos con el servicio caído.

—

🎯 En una frase: me diste permiso para tirar 109 "sobras", fui a comprobarlo antes de tirarlas, y resultó que no eran sobras: eran algo que tú mismo mandaste guardar en julio y que funcionaba.