diff --git a/episodes/TRAZA_el-guardin-de-descargas-est-listo-fable_S20261028.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md b/episodes/TRAZA_el-guardin-de-descargas-est-listo-fable_S20261028.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md new file mode 100644 index 00000000..15320c13 --- /dev/null +++ b/episodes/TRAZA_el-guardin-de-descargas-est-listo-fable_S20261028.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md @@ -0,0 +1,44 @@ +--- +episode_id: "1ddc761c-d9bf-4ac9-b887-86e4ba39fbd5" +puente_flat: "TRAZA_el-guardin-de-descargas-est-listo-fable_S20261028.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" +session_code: "S20261028.SID67809ABE8090" +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: 🧱 El guardián de descargas está listo: Fable aprueba registr" +source_type: "claude_code" +trust_boundary: "internal" +created_at: "2026-10-30T07:50:56.049896+00:00" +relectura_tagged: false +forgejo_commit_sha: "pending" +--- + +## 🧱 El guardián de descargas está listo: Fable aprueba registrarlo + +**La segunda revisión de Fable dijo: «APROBADO_CON_HALLAZGOS para registrarlo».** +- **Ronda 1:** los 16 fallos quedaron cerrados o declarados. +- **Lo que dejó, y ya está cerrado** (cada uno con una prueba que falló primero): 7 detalles estrechos más una nota. + - **R1:** `curl … 2>/dev/null > a.iso` se escapaba. El «2» de los errores ensuciaba la salida buena. + - **R2:** una orden de PowerShell partida en dos líneas se escapaba. + - **R3:** un bucle `for` repite la descarga. Ahora el aviso recuerda que la cuenta debe sumar todas las vueltas. + - **R4–R7:** `curl -o-`, `function`, `find -exec`, un certificado con un nombre raro que rompía el guardián, y las marcas de uso que se acumulaban. + - **R8:** reintentar la misma descarga dentro de una sola orden cuenta como dos. Es así a propósito, y queda documentado. +- **Fable se corrigió a sí mismo:** con dos procesos sincronizados, renombrar falla **30 de 30 veces** en Windows. El archivo-candado que puse es lo correcto. + +**Estado final, medido:** 215 pruebas en verde · 27 de 27 errores sembrados cazados · la carrera de dos sesiones en 0 de 30 · ninguna función pasa de 40 líneas. + +**Papeles:** +- [especificación v1.2](docs/SPEC_S20261030_hook_ventana_descarga_entera.md) +- [informe de la ronda 2](docs/AUDITORIA_FABLE_S20261030_hook_ventana_descarga_ronda2.md) +- [CONSEJO](docs/CONSEJO_S20261030_agentmessage_fromad637829b782cecb9_subag.md) y [DECISIÓN](docs/DECISION_S20261030_agentmessage_fromad637829b782cecb9_subag.md) + +## 🧭 La decisión que queda + +**Qué se decide de verdad:** si el guardián pasa de «construido» a **activo**. Activo significa que, en este repositorio, ninguna instancia de Ember (ni otro LLM) puede empezar o reanudar una descarga sin hacer antes la cuenta. Hay dos maneras de activarlo: +- **bloqueo:** si falta la cuenta, la orden **no se ejecuta**; +- **aviso:** la orden se ejecuta, con una advertencia que se puede ignorar. + +**De dónde viene:** de tu frase de anoche, «debe quedar como un hook… siempre debe verificar». Todo lo de hoy fue para que ese guardián fuera fiable antes de dejarlo mandar.