feat(episode): TRAZA_r1seccion3l1-el-validador-final-est-corr_S20261006.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 2 — HANDOFF_PROMPT.md: [R1.seccion3.L1] El validador final está corrien
This commit is contained in:
Ember 2026-10-06 15:19:54 +00:00
parent ec6c291a61
commit 6811999611

View file

@ -0,0 +1,36 @@
---
episode_id: "ffdeb953-fc12-4d85-ae43-0d0c3f49589f"
puente_flat: "TRAZA_r1seccion3l1-el-validador-final-est-corr_S20261006.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20261006.SID2C0B128F37B7"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 2 — HANDOFF_PROMPT.md: [R1.seccion3.L1] El validador final está corriendo"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-10-06T15:19:36.582604+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**Avance medido:** P1 no tiene fila en el libro de planes (`docs/planes_state.json`). Su estado vive solo en estas cinco líneas y en el PLAN, y no inventé ninguna fila. **Lo que no veo:** trabajo hecho fuera del libro y pendientes que solo viven en el texto de otros chats.
## [R1.seccion3.L1] El validador final está corriendo
El **code-validator** es la última puerta técnica antes de pedirte permiso. No revisa el estilo del código: verifica que todas las revisiones anteriores se hicieron bien y repite las pruebas él mismo. Trabaja en un **banco**, una copia desechable creada con `scripts/bancos_prueba.py`, y lo cierra al terminar. Dentro del banco arma tres copias del código:
- **A** = el commit actual exacto, con el `settings.json` del commit. El del disco lleva un hook ajeno a P1, registrado sin commitear.
- **A11** = A + la versión **v1.1**, que es la que juzgaron seguridad y el verificador de mutación.
- **B** = A + la **v1.2**, que es la que se instalaría.
Corre la suite completa de hooks en A y en B, una después de otra. Para dar paso exige **cero tests que fallen solo en B**. Además compara A11 contra B «por esqueleto», sin comentarios. Así comprueba que la v1.2 no coló lógica nueva que los veredictos anteriores no hayan visto. Tardará unos 20-40 minutos y deja su evidencia en `…/S20261004_P1_gauge_zona_propia/verificacion_validador/`.
`★ Insight ─────────────────────────────────────`
- **Cadena de custodia de los veredictos.** Seguridad y mutación se midieron sobre la v1.1, y lo que se instala es la v1.2. Si el validador no comprobara que la diferencia es solo de comentarios y tests, el «SECURE x2» certificaría un código distinto del que entra. Por eso compara A11 contra B por árbol de sintaxis (AST) y no por texto.
- **Un relevo es una foto, no la realidad.** El que pegaste se escribió antes del último commit de la sesión anterior. Leer `git log` y TEMAS_ACTIVOS antes de actuar (PO-5) costó 2 llamadas y evitó repetir una revisión entera.
`─────────────────────────────────────────────────`
## [R1.seccion4.L1] Lo que viene, una decisión a la vez