From f3865087efd7f3ce864ea71cc5d2c50493169c16 Mon Sep 17 00:00:00 2001 From: Ember Date: Sun, 20 Sep 2026 04:36:54 +0000 Subject: [PATCH] feat(episode): TRAZA_chat-tema-raz-alquimia-v2-y-trinquete-de_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Skill: NONE | Type: troubleshooting Summary: EPISODIO 2 — MNEMO_PRE_DIGEST: CHAT-TEMA-RAÍZ: ALQUIMIA v2 y trinquete del presu --- ...ot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 episodes/TRAZA_chat-tema-raz-alquimia-v2-y-trinquete-de_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md diff --git a/episodes/TRAZA_chat-tema-raz-alquimia-v2-y-trinquete-de_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md b/episodes/TRAZA_chat-tema-raz-alquimia-v2-y-trinquete-de_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md new file mode 100644 index 00000000..86474339 --- /dev/null +++ b/episodes/TRAZA_chat-tema-raz-alquimia-v2-y-trinquete-de_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md @@ -0,0 +1,45 @@ +--- +episode_id: "8199e98d-2508-4421-a245-663f8f505df6" +puente_flat: "TRAZA_chat-tema-raz-alquimia-v2-y-trinquete-de_S20260919.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" +session_code: "S20260919.SIDA341A4963ECD" +acto_dialogico: "informar" +actor_flujo: "multi_actor" +criticidad_aegis: "low" +skill_dominante: "NONE" +fase_proyecto: "operations" +tipo_semantico: "troubleshooting" +summary_one_line: "EPISODIO 2 — MNEMO_PRE_DIGEST: CHAT-TEMA-RAÍZ: ALQUIMIA v2 y trinquete del presupuesto resi" +source_type: "claude_code" +trust_boundary: "internal" +created_at: "2026-09-20T04:36:52.651557+00:00" +relectura_tagged: false +forgejo_commit_sha: "pending" +--- + +- **El permiso cubre un contenido, no un intento.** + - Al conceder queda una constancia con la huella del contenido residente autorizado. + - Repetir ese mismo contenido dentro del TTL original se vuelve a conceder y se registra como `permiso_reusado`. Un contenido distinto no pasa. + - Esto cierra la doble ejecución por construcción. + - También **resuelve el hallazgo 8**, que llevaba tres versiones solo «declarado». Tu escáner corre después de mi bloque, así que un falso positivo suyo ya no quema tu autorización. + - No añade coste por commit. +- **Invariante nuevo:** gastar el permiso es el último acto de la medición, y registrar, latir y avisar toleran cualquier excepción. Hay dos códigos de salida nuevos: + - 4: «no medí y el permiso sigue intacto». El bloque prueba el siguiente intérprete. + - 5: «reventé tras gastar el permiso». El bloque no reintenta. +- **El instalador ya no afirma de más:** + - Restaura, comprueba byte a byte, y solo entonces dice «nada queda a medias» o nombra el guion que no pudo devolver. + - El informe dice con qué `python` y con qué PATH midió. + - Avisa de tus **dos worktrees vivos que no tienen el módulo** (`kind-knuth-11f064` y `magical-mendeleev-45d7d4`). En ellos cada commit avisará de que no pudo medir. + - `--instalar` exige que el banco esté en verde con ESOS guiones antes de escribir nada. + - Un destino de solo lectura, un enlace simbólico o un bloque fuera de su sitio hacen que no toque nada. + - Los respaldos van dentro del directorio de git, no junto al guion versionado. + +### [R15.seccion3.T1] Evidencia medida sobre el estado commiteado + +| Prueba | Resultado | +|---|---| +| Suite del trinquete y suite del instalador | `56 passed` y `45 passed` (`123 passed` con las dos suites hermanas) | +| Banco `--probar` | **14 de 14 OK**, código 0. Incluye el control positivo del escáner en los dos guiones. | +| Scripts del propio atacante, re-ejecutados | `e3c.py` pasa de código 4 a código 0 con su fila. `e3b.py` pasa de «COMMIT RECHAZADO» a «commit aceptado». | +| Controles por neutralización | Bucle amputado → 3 casos en rojo. Sin el `5` en el `case` → 1 caso en rojo. | +| Huellas SHA-256 de tus `pre-commit` reales | Idénticas antes y después de todo (`b6937a8f…`, `956024c3…`), con 0 marcadores del bloque | +| Coste por commit | 0,65 s si no toca residentes; 1,15 s de trabajo si los toca |