feat(episode): TRAZA_1-rescate-hecho-y-con-una-correccin-al-p_S20260807.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — HANDOFF_PROMPT.md: 1. Rescate: hecho, y con una corrección al propi
This commit is contained in:
Ember 2026-08-08 06:16:57 +00:00
parent 9b36a892be
commit 989d2c23ca

View file

@ -0,0 +1,52 @@
---
episode_id: "9e1892b5-fa3d-4abf-8e03-c77bbafb8c88"
puente_flat: "TRAZA_1-rescate-hecho-y-con-una-correccin-al-p_S20260807.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260807.COTEJO_ARCHIVOS_SERVIDOR"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 1 — HANDOFF_PROMPT.md: 1. Rescate: hecho, y con una corrección al propio cotejo"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-08T06:16:55.068883+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
Ambas acciones ejecutadas y verificadas. Te cuento qué pasó, incluidas dos cosas que no salieron como estaban planeadas.
## 1. Rescate: hecho, y con una corrección al propio cotejo
Los archivos irrecuperables están commiteados (`0dfd6709`, 6.509 líneas) y en los **tres remotos**. Verificado en vivo, no asumido: el forgejo que corre dentro de MEMORIA responde `commit` al preguntarle por el hash.
Dos cosas salieron distinto de lo previsto:
**Eran 17, no 18.** `PLAN_FABLE_S20260807` ya estaba versionado desde el commit `2b76277a` e idéntico a HEAD — el agente lo clasificó mal como irrecuperable. La corrección quedó escrita en el mensaje del commit en vez de heredar la cifra equivocada.
**El pre-commit bloqueó el commit por un secreto.** Marcaba `receipt_buggy.json:28` como cadena hexadecimal de alta entropía. Abrí el archivo completo: es `"config_hash": "ee4ec6f0030a32f9"`, la huella de configuración de una corrida de eval, no una credencial. Actualicé la baseline por la vía sancionada —nunca `--no-verify`— y **comparé el resultado contra una copia previa**: el rescan añadió esa única entrada y no eliminó ni modificó ninguna de las 96 existentes. Un `detect-secrets scan` a ciegas puede enmascarar hallazgos reales; por ahí no pasé.
## 2. Doctrina del móvil: copiada y verificada
Backup primero (`/home/johnember/backups/ember_doctrina_pre_refresh_S20260808.tgz`, 418 KB), después copia dirigida con `tar` sobre SSH, que extrae encima sin borrar nada.
| | Antes | Ahora |
|---|---|---|
| `CLAUDE.md` | `ad85b846` · 48.960 B | `8cbcc733` · **idéntico al local** |
| `rules/blindadas.md` | `1a2f612c` | `4db3b916` · **idéntico al local** |
| Reglas `.md` | 84 | **99** |
| BLINDADA-30 | ausente | presente |
| `dos-vias-memoria.md` | ausente | presente |
| `CHULETA_SHORTCUTS_CELULAR.md` | — | **intacta, 3.426 B** |
Un detalle que vale la pena que sepas: `cic_locks` todavía aparece 2 veces en el `CLAUDE.md` nuevo. **No es un resto sin limpiar** — son las dos menciones dentro de la corrección de PF-22, que cita el texto viejo para explicar por qué era falso. La ocurrencia es la lápida, no el cadáver.
## ⚠️ Lo que falta y no puedo hacer yo
**Copiar los archivos no actualiza a la instancia que ya está corriendo.** Claude Code carga la doctrina al arrancar, y en el servidor siguen vivos tres procesos que la leyeron en junio:
- PID `2162214``claude --remote-control mobile-s26`, arrancado el 30-jun
- PID `3072622` — en `/home/johnember/ember`, del 29-jun
- Sesiones tmux: `claude`, `ember`, `mobile-rc`