Skill: NONE | Type: troubleshooting Summary: EPISODIO 3 — BLINDADAS: Lo entregado (2 capas, poblaciones distintas)
3.2 KiB
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 85756ed4-d250-44f1-a7fa-bfedcf600369 | TRAZA_lo-entregado-2-capas-poblaciones-distint_S20260621.R3_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260621.CRONICA_SEMANAL_C15 | informar | multi_actor | low | NONE | operations | troubleshooting | EPISODIO 3 — BLINDADAS: Lo entregado (2 capas, poblaciones distintas) | claude_code | internal | 2026-06-21T22:24:49.284906+00:00 | false | pending |
✅ Hecho — los dos, y sí: se necesitan ambos, tu razonamiento es exacto. El hook solo cubre Claude Code; la memoria/doc cubre a TODAS las instancias (incluida Ember-AI en claude.ai, que no tiene hooks). Son complementarios, no redundantes.
Lo entregado (2 capas, poblaciones distintas)
🟡 Capa memoria/doc — protege a TODAS las instancias (incl. claude.ai):
docs/REGLA_IDENTIFICADORES_CROSS_STORE.md— regla canónica path-estable.memory/reference_cross_store_id_rule.md— memoria recall-able (aflora cuando una instancia trabaje cross-store).- Línea índice en MEMORY.md (se carga cada boot) + auto-sincronizada al servidor
cx43:/home/johnember/data/→ las instancias claude.ai que leen del servidor también la ven.
🔴 Capa determinista — protege a Claude Code (hooks):
.claude/hooks/pre-tool-cross-store-id-guard.py— detecta el cruce porepisode_idsinpuente_flaty emiteaskcon la regla.- Testeado 4/4 (ask / allow-si-usa-puente / allow-.md / allow-sin-ids).
- Registrado en settings.json + JSON validado (válido) → LIVE (hooks 79→80).
Si una instancia futura intenta escribir un cruce por episode_id, el hook la frena con la regla — y si no tiene hooks (claude.ai), la memoria + doc la informan. Doble red.
Pendientes (menores, los registro)
- ⚠️ Drift INFRA_MANIFEST: settings.json (80) vs INFRA_MANIFEST.yaml (77) — mi hook + 2 pre-existentes sin sincronizar. Deuda advisory; puedo sincronizar los 3 (otro edit D3) si quieres.
- ⚠️ Push triple-remoto pendiente: bloqueado por un detect-secrets/baseline de OTRA instancia (no mío). Los artefactos existen + funcionan localmente; coordino el push cuando se libere la baseline.
📍 PARA JOHN — R4
- Respondido + hecho: los dos. Tu intuición (memoria para instancias sin hooks como claude.ai) es correcta — por eso ambos.
- Vivo ahora: el guardrail determinista en Claude Code + la regla en memoria/doc/servidor para el resto.
- Tu decisión (opcional): 🟢 cerrar aquí (guardrail completo) · 🟡 sincronizo INFRA_MANIFEST (cierra el drift de los 3 hooks) · ⚪ coordino el push triple-remoto ahora.
📌 PILA-PENDIENTES (R4)
- ✅ RESUELTA · guardrail cross-store id (doc + memoria + MEMORY.md + hook live).
- 🟡 MEDIUM · G-MANIFEST-001 sincronizar INFRA_MANIFEST hooks_active (3 hooks drift: cross-store-id-guard + 2 pre-existentes).
- 🟡 MEDIUM · G-PUSH-001 push triple-remoto (bloqueado baseline detect-secrets de otra instancia).
- ⚪ LOW · corregir frase engañosa "episode_id da basura" en doc MAPA (DLC AVISO).