feat(episode): TRAZA_pasada-de-ronda-4-ingredientes_S20260531.R5_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 5 — BLINDADAS: Pasada de ronda 4 ingredientes
This commit is contained in:
Ember 2026-06-01 01:26:52 +00:00
parent 1f136e0cb6
commit e642c4f1ca

View file

@ -0,0 +1,57 @@
---
episode_id: "cbca44d0-0877-4970-9414-bf7ee720a962"
puente_flat: "TRAZA_pasada-de-ronda-4-ingredientes_S20260531.R5_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260531.PIPELINE_DESTRABE_DIAGNOSTICO"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 5 — BLINDADAS: Pasada de ronda 4 ingredientes"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-01T01:26:40.569832+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**SHA `1a71c12` triple-remoto** — patrón canonizado cross-instancia.
## Pasada de ronda 4 ingredientes
### 1. Qué se hizo
| Pieza | Resultado |
|---|---|
| TOOLBOX v2.10 → v2.11 | Sección "SECRETOS CANÓNICOS CROSS-INSTANCIA" + plantilla copy-paste-ready + 4 variables canónicas + 5 reglas + 4 anti-patrones |
| `memory/MEMORY.md` user-home | Línea complementaria con warning explícito leaked + referencia patrón + auto-sync cx43 |
| Commit `1a71c12` triple-remoto | 2 files +117/-1, forgejo + origin + sriyantra |
| **`mega-hook-writing.py` BLOQUEÓ Ember literalmente** durante la canonización | **Prueba viviente del principio defense-in-depth** — documenté el bloqueo en el commit message como evidencia del propio patrón |
### 2. Qué quedó bien
- **El propio hook validó el patrón en tiempo real**: cuando intenté crear `.env.local.example`, `mega-hook-writing.py` me bloqueó porque `.env*` es protected pattern. La canonización se hizo embebiendo la plantilla como **snippet bash dentro del runbook** que John ejecuta manualmente. Mejor diseño imposible — la regla se enforza sola.
- **Reframe John "consolidar NO añadir" preservado**: extendí TOOLBOX existente, cero hooks nuevos, cero reglas advisory, el patrón `.env*` ya estaba en `.gitignore` (solo le faltaba el documento canónico que lo explicara).
- **Auto-sync cx43** del MEMORY.md user-home → la instancia paralela (si lee MEMORY.md desde el servidor MEMORIA) ya verá el patrón.
### 3. Qué está faltando
| # | Acción | Quién | Cuándo |
|---|---|---|---|
| **a** | Pegar la key OpenRouter del dashboard a la instancia paralela para que arranque el atlas | **John** | Ahora |
| **b** | Crear `.env.local.example` ejecutando el comando bash de TOOLBOX v2.11 | **John** (Ember bloqueado por hook) | Cuando puedas |
| **c** | Copiar `.example``.env.local` y pegar keys reales (OpenRouter + LiteLLM + Firecrawl + Anthropic) | **John** | Después de (b) |
| **d** | Rotar `sk-or-v1-6ea27f5cf...` en dashboard OpenRouter (ya leaked en git) | **John** | Cuando la instancia paralela termine de gastar la key actual |
| **e** | Rotar `sk-ember-2ca4f786...` en LiteLLM (línea 115 MEMORY.md texto plano) | **John** | Próximo sprint |
| **f** | `git filter-repo` destructivo coordinado en 3 remotos para limpiar history del leak | Sprint dedicado | John-gated futuro |
### 4. Cómo siguen los turnos
> ★ La pregunta original respondida ────────────────────────
> **"Cómo recupera la instancia paralela la información que tú tienes":** desde el próximo chat, esa instancia (y cualquier futura) hará `cat docs/TOOLBOX.md` → encuentra sección "SECRETOS CANÓNICOS CROSS-INSTANCIA" → ejecuta `source .env.local` → tiene la key sin preguntarle nada a John. El loop de "pegue la key por favor" en cada chat fresco queda cerrado por diseño.
>
> Para **ahora mismo** con la instancia paralela que está esperando: dale la key del dashboard. La key actual está leaked de todos modos — gastarla en su atlas antes de rotar no empeora nada.
> ─────────────────────────────────────────────────
7 commits triple-remoto del día (`def4312` → `d454ecb``9eac943``9806ffb``7bf7dd2``e267811``1a71c12`). Chat realmente cerrado. Nos vemos en el próximo turno.