feat(episode): TRAZA_f2-ley-de-procedencia-el_S20260808.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 2 — MNEMO_PRE_DIGEST: - 🔴 **F2** — ley de procedencia: el...
This commit is contained in:
Ember 2026-08-12 05:23:33 +00:00
parent c8260494d2
commit d28754da44

View file

@ -0,0 +1,47 @@
---
episode_id: "dddf65dc-0668-4694-82c5-1af1f3da914a"
puente_flat: "TRAZA_f2-ley-de-procedencia-el_S20260808.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260808.MEMORIA_SOTA_BRECHA"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 2 — MNEMO_PRE_DIGEST: - 🔴 **F2** — ley de procedencia: el..."
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-12T05:23:30.539745+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
- 🔴 **F2** — ley de procedencia: el parche debe nacer en el productor local, no en el crisol → **tu GO** (toca el corazón)
- 🟠 **VENCE MAÑANA**`memory_writer` v1.2 server-side: decisión PROMOVER/REVERTIR vence **2026-08-13**
- 🟠 **F3-a** — unidad systemd duplicada del outbox (root → tuya)
- 🟠 **F3-b** — los 2 crones bypass: ¿retirar o re-encauzar por el crisol?
- 🟡 **F3-c** — bucle cosecha↔índice · `VERIFIED` fabricados · cadáver de key
- ✅ Fábrica apagada · censo completo · 303+57 fichas limpias · gate ampliado · índice compactado
**Hice.** Apagué la fábrica que llevaba meses envenenando el corpus y terminé el mapa de quién escribe qué. El corazón del pipeline está sano; lo podrido era la periferia — y dos jobs que llevan meses fallando cada domingo sin que nadie se enterara.
**Falta.** Tres decisiones tuyas, pero **una tiene fecha: mañana** vence la del `memory_writer` v1.2.
**Mi consejo.** Descansa y decidimos mañana con la cabeza fresca — salvo la del writer v1.2, que si no la tocamos vence sola. El resto no se degrada esperando.
**Para avanzar, elige:**
- 🟢 **A** *(recomendado)* — mañana: writer v1.2 primero, luego Fase 2 (procedencia)
- 🟡 **B** — sigo ahora con Fase 4 (canario diario), que no necesita GO tuyo
- ⚪ **C** — cierro sesión y dejo el relevo escrito
Tick autónomo: preparé la única cosa con fecha de vencimiento — el [dossier de decisión del writer v1.2](docs/DOSSIER_S20260812_decision_writer_v12_hechos_at_write.md) (`e9539451`, 3 remotos).
**El hallazgo:** los dos gates cuentan historias opuestas y nadie los había cruzado. El de 48h dio **PASS** y pedía tu GO — pero aprobaba la feature *anterior* (summary, 738/738). El gate de la feature *nueva* marca **FAIL** (`M1 0.55 < 0.8`). Aprobar el v1.2 citando el primero sería usar el examen equivocado.
**Y la causa del FAIL no es el writer:** `M3 = 1.00` — cuando el episodio trae el bloque `MNEMO_FACTS`, se capturan **todos** sus hechos. El 45% que falta son turnos donde el bloque no se emitió. **Mismo patrón que acabamos de cerrar en HyDE:** mecanismo sano esperando algo que no siempre se escribe.
**No corras:** verifiqué en vivo que el dead-man dispara el **14**, no el 13, y que apaga **solo** con nota auditable. El fichero de promoción no existe, así que nada puede promoverse por accidente. Mi inclinación es **dejarlo vencer** — su propio gate está en rojo y el freeze existe justo para eso.
No toqué la palanca, ni el fichero GO, ni el writer.
*(Corrijo algo mío de este mismo tick: primero concluí que la palanca estaba desactivada, por buscar en 2 de los 3 archivos que consulta `read_env_chain`. Vive en `SHARED_ENV`. Queda declarado en el dossier.)*