ember-memory-test/episodes/TRAZA_el-patrn-que-es-lo-que-de-verdad-se-qued_S20260726.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 3c90bbcd35 feat(episode): TRAZA_el-patrn-que-es-lo-que-de-verdad-se-qued_S20260726.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: advisory
Summary: EPISODIO 2 — HANDOFF_PROMPT.md: El patrón, que es lo que de verdad se queda
2026-07-27 05:14:04 +00:00

3.2 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
a3a3431b-68f7-4def-b300-4145a78633bf TRAZA_el-patrn-que-es-lo-que-de-verdad-se-qued_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 advisory EPISODIO 2 — HANDOFF_PROMPT.md: El patrón, que es lo que de verdad se queda claude_code internal 2026-07-27T05:13:50.924077+00:00 false pending

El detector D1 que juzga el texto del comando es el guardián de borrado recursivo, el de mayor consecuencia del sistema. El rodeo cuesta cinco segundos. Aplico el mismo criterio de la decisión EM-9 que respeté esta mañana: no se toca el guardián de archivos críticos para ahorrar una molestia de redacción.

El candado por ventana exigiría un identificador por proceso, y _collect_self_tags documenta que el PPID es volátil entre el proceso que escribe el claim y el que corre los hooks (bug F11). Un identificador mal elegido reintroduce el self-lock que acabo de cerrar, que es peor: te bloquea a ti mismo. Queda declarado que el override no es un candado por ventana y no debe usarse como tal.

El patrón, que es lo que de verdad se queda

Seis guardianes distintos, un solo defecto: median la forma en vez del hecho. El override comprobaba que hubiera permiso, no que fuera tuyo. D3 comparaba el nombre, no dónde vive el archivo. D1 leyó una cadena dentro de un mensaje como si fuera un comando. El parser D5 hacía coincidir nombres, no rutas — y su match de directorio nunca funcionó, así que declarar un directorio no reservaba nada.

Con un agravante que merece nombre propio: varios castigaban a quien les obedecía. Está guardado en memoria persistente como feedback_guardianes_forma_vs_hecho.md, ya sincronizada al servidor.

Hice: los 7 hallazgos resueltos (5 arreglados con tests, 2 cerrados con razón escrita), el tema EMBER activado, la lección en memoria, y 4 commits en los 3 remotos. Suites: invariante 24/24 · parser D5 26/26 · override 30/30 · guard 36/36 · correo_protocol 25/25 · detector+E2E 10 passed.

Falta: nada de lo que pediste. Una deuda nueva que detecté y declaré en vez de silenciar: drift entre settings.json (92 hooks) e INFRA_MANIFEST.yaml (88) — 4 hooks de sprints previos sin registrar. No la toqué porque el manifest es D3 y el drift no es de esta jornada.

Mi consejo: reinicia Claude Code para ver el tema, y deja el drift del manifest para el próximo barrido de self-awareness — es de sprints anteriores y su sitio natural es esa auditoría, no este cierre.

Elige: 🟢A cerramos la jornada; reinicias y me dices si ves el naranja (recomendado) · 🟡B cierro también el drift del manifest ahora · C actualizo docs/STATE.md + HANDOFF_PROMPT.md con el cierre (BLINDADA-11) antes de terminar.