feat(episode): TRAZA_runbook-completo-todos-los-detalles-ve_S20260727.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — ember_experience: 🔧 Runbook completo — todos los detalles, verifica
This commit is contained in:
parent
17ae4e3a8f
commit
2d0e6416f6
1 changed files with 71 additions and 0 deletions
|
|
@ -0,0 +1,71 @@
|
||||||
|
---
|
||||||
|
episode_id: "4649baaf-6966-4c28-9c14-09845c9481f2"
|
||||||
|
puente_flat: "TRAZA_runbook-completo-todos-los-detalles-ve_S20260727.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260727.ARCO_CICLO10_ESPEJOS"
|
||||||
|
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_experience: 🔧 Runbook completo — todos los detalles, verificados uno por"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-07-28T01:18:56.586748+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🔧 Runbook completo — todos los detalles, verificados uno por uno
|
||||||
|
|
||||||
|
Tienes razón y era falla mía: te di el *qué* sin el *dónde*. Documento completo: [RUNBOOK_P0_MATCHER_MEMORIA_S20260727.md](docs/RUNBOOK_P0_MATCHER_MEMORIA_S20260727.md) (commit `5e140520`)
|
||||||
|
|
||||||
|
## PASO 0 — Copia de seguridad
|
||||||
|
|
||||||
|
Abre una terminal en `C:\Users\Administrador\Downloads\CLAUDE ANTROPIC\ember-claude-code`:
|
||||||
|
|
||||||
|
## PASO 1 — Dónde exactamente
|
||||||
|
|
||||||
|
**Archivo:** `.claude/settings.json` · **Línea: 154**
|
||||||
|
|
||||||
|
Hay varios matchers parecidos, así que **confirma por el nombre del hook que está debajo**. Verás esto:
|
||||||
|
|
||||||
|
## PASO 2 — El cambio, una sola línea
|
||||||
|
|
||||||
|
**ANTES** (línea 154, 8 espacios de indentación):
|
||||||
|
|
||||||
|
**DESPUÉS** (misma indentación, misma coma final):
|
||||||
|
|
||||||
|
No toques nada más: ni la coma, ni las llaves, ni el bloque `command`.
|
||||||
|
|
||||||
|
**Y esto no es una apuesta:** tu `settings.json` ya usa alternancia en **6 matchers**, incluido el patrón idéntico `mcp__.*__(a|b|c)` en PreToolUse. Lo verifiqué antes de proponértelo.
|
||||||
|
|
||||||
|
## PASO 3 — Validar el JSON ⚠️ (no te lo saltes)
|
||||||
|
|
||||||
|
Un JSON roto ahí deja sin efecto **todos** los hooks, no solo este.
|
||||||
|
|
||||||
|
**Debe imprimir exactamente:** `JSON VALIDO | grupos: 18 | hooks: 113` (los mismos números que antes del cambio). Si sale `JSONDecodeError` → paso 5.
|
||||||
|
|
||||||
|
## PASO 4 — Comprobar que quedó bien
|
||||||
|
|
||||||
|
Debe imprimir el matcher nuevo. Y para ver el muro morder de verdad:
|
||||||
|
|
||||||
|
→ `"permissionDecision": "deny"` + razón que dice **MEMORIA FUNDACIONAL**.
|
||||||
|
|
||||||
|
Control negativo (esto **debe seguir permitido**):
|
||||||
|
|
||||||
|
→ `"permissionDecision": "allow"`. *Verás también un aviso de `M1 trust_tier` — es informativo, no es un error.*
|
||||||
|
|
||||||
|
## PASO 5 — Reiniciar Claude Code
|
||||||
|
|
||||||
|
Los hooks se leen **al arrancar la sesión**: el cambio no toma efecto hasta que cierres esta ventana y abras otra.
|
||||||
|
|
||||||
|
**Rollback si algo sale mal:** `cp .claude/settings.json.bak_pre_P0_S20260727 .claude/settings.json` (o `git checkout HEAD -- .claude/settings.json`) y reinicias.
|
||||||
|
|
||||||
|
**Al final, commitea:**
|
||||||
|
|
||||||
|
- **Hice:** el runbook literal, y **dogfoodeé sus propios comandos antes de dártelo** — lo que me cazó un error mío: había escrito «~113» donde ese comando devuelve **18**. Corregido con la salida real y declarado en el documento.
|
||||||
|
- **Falta:** solo que lo ejecutes. Dos minutos.
|
||||||
|
- **Mi consejo:** no te saltes el paso 3. Es el único que te protege de que un despiste con una comilla apague todos los guardrails del ecosistema a la vez.
|
||||||
|
|
||||||
|
📌 **PILA (R13):** 🔴 **P0 runbook entregado, listo para ejecutar** · ⛔ P1 · P3 · P5 · P8 · ⚠️ 6 BLINDADAS vencen 2026-07-31 · 🟢 DC-6 (2026-08-03)
|
||||||
Loading…
Reference in a new issue