feat(episode): DEPURA_estado-de-las-tres-decisiones_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — MEMORIA: Estado de las tres decisiones
This commit is contained in:
Ember 2026-09-28 19:47:40 +00:00
parent 39e2a1904c
commit 22ebb73d77

View file

@ -0,0 +1,54 @@
---
episode_id: "b3371faa-91dc-461b-bb1b-0d6d3089f2ba"
puente_flat: "DEPURA_estado-de-las-tres-decisiones_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260926.SID8BFB883A7AA7"
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: Estado de las tres decisiones"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-09-28T19:47:37.857816+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
## Estado de las tres decisiones
**2 · Parches de los ganchos — aplicados y medidos.** Los dos archivos vivos (`mega-hook-test-before-fix.py` y `mega-hook-verify-first.py`) ya llevan el arreglo. Las 41 pruebas nuevas corrieron contra ellos: `41 passed in 21.36s`. Hay copia de los originales en `respaldo_vivos_S20260928/`; deshacer es copiar esos dos archivos de vuelta. No hay commit.
**1 · Examen: "una persona mira la lista" — en construcción.** Opus está haciendo el cambio, con las pruebas escritas primero. Cuando termine lo audito yo antes de darlo por bueno. Todavía no tengo resultados.
**3 · Portón — listo para aplicar, espera tu "ya".** Opus revisó quién más lee el estado del portón (solo lectura en el servidor MEMORIA y en el repositorio). Resultado:
| Quién lo lee | Qué pasa con el parche |
|---|---|
| `ember_auth_status` | Dirá la verdad: cerrado cuando el plazo venció (es el objetivo) |
| Vigía del servidor MEMORIA (cada 5 min) | Registra "cerrado"; solo reabre tras un arranque nuevo |
| Aviso de arranque de sesión (`PORTON MCP:`) | Mostrará "locked" y sugerirá el comando de apertura |
| `t00_precheck.py` | Dará aviso en vez de un OK falso |
| `server.py`, `pep_a_policy.py` | No lo leen: sin cambio |
Ningún programa depende del dato falso. **Veredicto: se puede aplicar.**
Dos cosas que debes saber antes de decir "ya":
- **Tras el parche, a las 12 horas el portón se cierra y nadie lo reabre solo.** Hoy pasa lo mismo, pero el letrero miente y dice "abierto". El vigía tiene una opción para reabrir también por plazo vencido (`--tambien-por-ttl`), apagada a propósito. Encenderla es decisión tuya y aparte; mi consejo es dejarla apagada por ahora.
- **El reinicio deja las herramientas de memoria cerradas hasta 5 minutos**, hasta que el vigía reabre.
Quedó sin leer la rama "arranque nuevo" del vigía (después de la línea 312) y la función `is_authorized`; el parche no toca ninguna de las dos.
> 🎯 **En una frase:** los ganchos ya no bloquean en falso, el examen se está corrigiendo y el portón solo necesita tu "ya".
- **✅ Hice:** apliqué los dos parches (41 pruebas en verde) y confirmé que el arreglo del portón no rompe a nadie.
- **⏳ Falta:** el cambio del examen (Opus trabajando, luego mi auditoría) y el reinicio del portón (depende de ti).
- **💡 Mi consejo:** di "ya" cuando tus otras sesiones estén quietas; antes de reiniciar compruebo yo mismo que no haya ninguna trabajando.
**Para avanzar:**
- 🟢 **"ya"** → verifico sesiones, respaldo, aplico, reinicio y pruebo que una herramienta protegida responde. *(recomendado)*
- 🟡 **"espera"** → el portón sigue como está; sigo solo con el examen.
📌 **PILA:** 🟠 auditar el cambio del examen · 🟠 portón (espera "ya") · 🟡 copiar las 2 baterías nuevas a `.claude/hooks/` · 🟡 11 ganchos más con rama solo-Bash (dueño John, sin fecha fijada) · 🟡 espejo `server-src/auth_guard.py` quedará desfasado · ⚪ corrida de reconocimiento (tras el examen)