ember-memory-test/episodes/DEPURA_a-la-ley-se-carga-sola_S20260726.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 2500e13d09 feat(episode): DEPURA_a-la-ley-se-carga-sola_S20260726.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: chronicle
Summary: EPISODIO 2 — MNEMO_PRE_DIGEST: A — La ley se carga sola
2026-07-27 03:23:47 +00:00

3.7 KiB

episode_id puente_flat session_code acto_dialogico actor_flujo criticidad_aegis skill_dominante fase_proyecto tipo_semantico summary_one_line source_type trust_boundary created_at relectura_tagged forgejo_commit_sha
d1852a45-7b6a-4c69-a3ba-c6a2c6fc966d DEPURA_a-la-ley-se-carga-sola_S20260726.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S20260726.ARCO_CICLO4_AUTOMEJORA informar multi_actor low NONE operations chronicle EPISODIO 2 — MNEMO_PRE_DIGEST: A — La ley se carga sola claude_code internal 2026-07-27T03:23:33.402859+00:00 false pending

Commit 7a1732e8, push 3/3. A y B completados.

—

A — La ley se carga sola

@rules/mini/dos-vias-memoria.md está en la línea 74 de CLAUDE.md (36 imports totales). A partir del próximo arranque, ninguna instancia tendrá que acordarse de buscarla: llega ya cargada.

Detalle que me hizo gracia: el permiso temporal caducó mientras yo cumplía otros guardrails (leer dos mapas). El TTL de 5 minutos hizo exactamente su trabajo — tuve que renovarlo y editar en el acto.

B — El muro

pre-tool-dos-vias-guard.py deniega tocar el sustrato de ingestión sin haber leído la ley en ese turno.

Qué protege: ember-outbox.service · outbox_dispatcher · qdrant_worker · crisol_run, y los comandos --only …qdrant|neo4j, systemctl …ember-outbox, INSERT …episode_outbox, UPDATE …qdrant_state.

11/11 pruebas verde, con el caso del incidente incluido:

★ Insight — por qué un muro y no una regla ───────── El árbol de decisión del ecosistema pregunta primero: "¿debe ser imposible de saltarse?". Aquí la respuesta es sí, y la prueba es incómoda: ayer la regla YA EXISTÍA, declarada en un docstring, a dos líneas del código que estaba editando. Tenía toda la información necesaria y aun así introduje un segundo escritor en producción.

Una regla depende de que yo me acuerde de leerla. Un muro no depende de mí. Eso es exactamente lo que pediste cuando dijiste "sin importar el modelo de LLM". ─────────────────────────────────────────────────

Y lo que NO hice: no lo registré en settings.json. Ese archivo es intocable sin tu GO explícito (tu directiva de julio). El muro está fabricado, probado y desactivado. Para activarlo, la línea va en el bloque PreToolUse:

(ese comando solo muestra cómo están registrados los actuales, para que decidas con el formato a la vista — no modifica nada)

—

Hice — A: la ley DV se carga en cada arranque (CLAUDE.md:74, con respaldo y presencia declarada). B: fabriqué el muro mecánico con 11 pruebas verde, tras confirmar el gap con dos fuentes del grafo de hooks (AR-AP7). Commit 7a1732e8, push 3/3.

Falta — 🔴 tu GO para registrar el muro en settings.json: hasta entonces está inerte · 🟠 ember_inner sigue esperando tu shell · 🟠 los 17 de pérdida real · ⏰ writer v1.2.

Mi consejo — activarlo. Un muro sin registrar es documentación cara: tiene todo el coste de fabricación y cero efecto. Y su diseño es conservador — fail-open absoluto, solo dispara sobre nombres inequívocos, y trae override de emergencia con caducidad. El riesgo de activarlo es bajo; el de no hacerlo ya lo medimos ayer.

Para avanzar, elige:

  • 🟢 A (recomendado) — dame el GO y registro el muro en settings.json (con respaldo y verificación)
  • 🟡 B — lo dejas inerte y lo revisas tú antes de decidir
  • ⚪ C — cerramos aquí; hoy fue una jornada larga y todo quedó documentado

—