feat(episode): TRAZA_relojero-v2-el-diseo-sobre-fundacin-ver_S20260705.R13_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NEXUS | Type: troubleshooting
Summary: EPISODIO 13 — BLINDADAS: RELOJERO-v2 — el diseño, sobre fundación verificada y a
This commit is contained in:
Ember 2026-07-12 16:31:00 +00:00
parent efbaf15881
commit 2560c3dc81

View file

@ -0,0 +1,41 @@
---
episode_id: "ce1a6748-0593-4c22-a39a-c8ce9828916c"
puente_flat: "TRAZA_relojero-v2-el-diseo-sobre-fundacin-ver_S20260705.R13_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260705.EVAL_INSTRUMENT_FORGE_SKILL"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NEXUS"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 13 — BLINDADAS: RELOJERO-v2 — el diseño, sobre fundación verificada y auto-c"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-07-12T16:18:39.177346+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
# RELOJERO-v2 — el diseño, sobre fundación verificada y auto-corregido
Commit `74c30fc`, push 3/3. [docs/RELOJERO_V2_DISENO_S20260705.md](docs/RELOJERO_V2_DISENO_S20260705.md) — más el [landscape verificado](docs/LANDSCAPE_VERIFICADO_RELOJERO_S20260705.md).
Esto cierra el arco completo, John: tu duda sobre RELOJERO → mi laboratorio empírico → las 4 opiniones externas → estas 5 investigaciones → y ahora un **rediseño con dato**, no con fe.
## Lo que pasó (y por qué se puede creer)
El workflow de 6 agentes hizo algo notable: **las 4 lentes adversariales dieron `NECESITA_REVISION`** — ninguna aprobó el borrador. Y lo desmontaron con evidencia del propio repo, no con opinión:
- **Un crítico corrió los imports** y descubrió que `mutmut`, `z3` y `outlines` **no están instalados** (solo `hypothesis`). Los "controles que corren" del borrador… no corrían.
- **Otro leyó el hook de Casbin** y probó que es `advisory` (`exit 0`), con el bloqueo duro **vencido** desde el 22-jun, y cuyo matcher ni cubre `postgres_query`. El borrador afirmaba "deny real hoy". Falso.
- **La lente fix-4b** encontró el golpe más fino: 3 de los "jueces externos" del borrador **eran sobornables por el modelo** (el modelo escribía la referencia del oráculo, los tests de la mutación, las señales del router) — o sea, **reintroducía el pecado 4b con otro nombre.**
El diseño se **auto-recortó de 7 componentes a 1 gate mandatorio.**
## RELOJERO-v2 en tres ideas
1. **Se apaga por defecto.** Tier LITE (tarea acotada) = cero ceremonia, cero bloque inyectado — porque [el paper de ETH (2602.11988)](https://arxiv.org/abs/2602.11988) *y* mi AB-LAB prueban que la ceremonia en tareas fáciles perjudica. El tier lo decide un `route_tier` por **señales deterministas del diff**, no por lo que el modelo declara (y el modelo solo puede *subir* el tier, nunca bajarlo).
2. **Un solo juez insobornable.** El 3er pilar pasa de auto-verificación introspectiva → **`external_oracle`**: puro Python, cero dependencias, con la referencia venida de **fuente no-modelo** (git base / property de la spec / asserts de dominio fijos). Es el juez que atrapó 4b. Todo lo demás (mutation, symbolic, structured) es roadmap opt-in, no se construye hasta que el oráculo demuestre que ayuda.
3. **Honesto sobre su estado.** Receipt JSONL-first (la auth a Plex está rota). Nace advisory; solo llega a bloqueo con N≥30 receipts que prueben que discrimina + tu GO.
## El paso que lo decide