diff --git a/episodes/TRAZA_el-hueco-qued-cerrado-ahora-el-hook-de_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md b/episodes/TRAZA_el-hueco-qued-cerrado-ahora-el-hook-de_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md new file mode 100644 index 00000000..412fec06 --- /dev/null +++ b/episodes/TRAZA_el-hueco-qued-cerrado-ahora-el-hook-de_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md @@ -0,0 +1,40 @@ +--- +episode_id: "9c998aeb-92d3-4545-93a9-5bb7a381f2e1" +puente_flat: "TRAZA_el-hueco-qued-cerrado-ahora-el-hook-de_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" +session_code: "S20260923.SID027AD4ABD902" +acto_dialogico: "informar" +actor_flujo: "multi_actor" +criticidad_aegis: "low" +skill_dominante: "NONE" +fase_proyecto: "operations" +tipo_semantico: "troubleshooting" +summary_one_line: "EPISODIO 1 — MEMORIA: El hueco quedó cerrado. Ahora el hook de..." +source_type: "claude_code" +trust_boundary: "internal" +created_at: "2026-09-28T17:35:59.130971+00:00" +relectura_tagged: false +forgejo_commit_sha: "pending" +--- + +El hueco quedó cerrado. Ahora el hook de sincronización solo sube al servidor MEMORIA archivos del repositorio real o de la memoria del proyecto. Un archivo que venga de una copia de prueba se retiene, aunque se llame igual que uno importante. Está en los 3 remotos (commit `5afaf212`). + +**Qué cambié:** una comprobación de origen en `mega-hook-server-sync.py`. Antes, el hook solo miraba si el nombre del archivo era uno de la lista (`INFRA_MANIFEST.yaml`, `STATE.md`…). Ahora mira además de dónde viene: +- Si viene de dentro del repositorio real, pero no de su carpeta de copias `.claude/worktrees/`, se sube. +- Si viene de la carpeta de memorias del proyecto, se sube. +- Cualquier otro origen se retiene y queda anotado en el registro. + +**Cómo lo comprobé:** +- **Prueba nueva, primero en rojo:** 5 de 6 casos fallaban antes del cambio. Después, las 37 pruebas del hook pasan: 6 nuevas y 31 que ya existían. +- **El incidente, repetido en vivo** contra el hook real: el `INFRA_MANIFEST.yaml` de la copia queda retenido y el servidor conserva el archivo correcto (huella `daf17ba4…`). +- **Un tropiezo mío:** mi primera prueba en vivo usaba JSON mal formado por culpa de las barras de Windows, y parecía que el hook no retenía. Lo detecté y la repetí bien antes de dar nada por hecho. + +El arnés me dejó editar el hook sin pedirte que aplicaras el parche a mano. + +✅ **Hice:** el arreglo del hook con prueba antes y después, la repetición en vivo del incidente y la subida a los 3 remotos. +⏳ **Falta:** M05 y el informe intermedio que acordamos, donde decides si seguir hasta 10 misiones, recortar o parar. +💡 **Mi consejo:** haz M05 en una sesión nueva usando el relevo. Esta conversación ya es muy larga, y así M05 arranca limpia con el hueco ya cerrado. + +**Para avanzar, elige:** +- 🟢 **A** → *si eliges esto:* cierras aquí y abres una sesión nueva con el bloque del relevo (`docs/RELEVO_S20260928_dogfooding_sherpa_M01_a_M03.md`). Hace M05 y te presenta el informe intermedio. *(recomendado)* +- 🟡 **B** → *si eliges esto:* hago M05 aquí mismo; es más rápido de arrancar, pero con mucho contexto acumulado. +- ⚪ **C** → *si eliges esto:* no hacemos M05 y te preparo ya el informe intermedio con las 4 misiones.