feat(episode): TRAZA_cmo-se-vera-el-cambio_S20260518.R3_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: design
Summary: EPISODIO 3 — BLINDADAS: Cómo se vería el cambio
This commit is contained in:
Ember 2026-05-19 00:08:29 +00:00
parent 59cc0a4a8b
commit a9b0aa8ddd

View file

@ -0,0 +1,36 @@
---
episode_id: "aca01920-3383-4679-b2bc-f286b07ee8be"
puente_flat: "TRAZA_cmo-se-vera-el-cambio_S20260518.R3_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260518.PIPELINE_FIXES"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "design"
summary_one_line: "EPISODIO 3 — BLINDADAS: Cómo se vería el cambio"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-05-19T00:08:14.594480+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
La consecuencia práctica: si te pregunto *"¿qué tiene permitido o prohibido hacer Ember exactamente?"*, hoy no hay una respuesta única — habría que **leer los 149 hooks** y extraer mentalmente la lógica `allow`/`deny` de cada uno. Las 29 BLINDADAS están escritas como prosa en `blindadas.md`, pero su *enforcement* está disperso. No hay un lugar que sea, a la vez, legible y ejecutable, donde viva "la ley de EMBER".
## Cómo se vería el cambio
Con Rego, las políticas viven en archivos `.rego` legibles. Una ilustración mínima:
El hook de Python se reduce a una línea: *"OPA, ¿esto se permite?"* → aplica el veredicto. **Esto es justo lo que ResonantOS llama** *"Symbiotic Shield = constitución ejecutable como regla-set dentro del Logician"*: la constitución deja de ser prosa + código disperso y se vuelve **un regla-set único, ejecutable**.
## Por qué la llamé "la joya" — los 4 beneficios
1. **Un punto único de verdad** — todas las políticas en un directorio `.rego`, no esparcidas en 149 hooks.
2. **Auditables** — puedes leer la "ley de EMBER" completa de un vistazo, y un `git diff` muestra exactamente qué política cambió.
3. **Testeables aisladas** — OPA trae su propio framework de tests; puedes verificar una política sin ejecutar el hook entero.
4. **Encaje con el axioma R22** — tu propio CLAUDE.md dice que EMBER "no se equivoca por cómputo, sino por toma de decisiones erradas". Una política dispersa es más propensa a inconsistencia que una centralizada y testeada. OPA endurece justo la capa de *decisión*.
Dónde calzaría en tu arquitectura: el patrón Goal-to-Corridor ya tiene una **capa 10 Tool Authorization** y el invariante OII **I12 `POLICY_AUTHORIZED`**. Ese es el hueco natural donde OPA se enchufa — es el "sistema AUTORIZA" de tu tríada `LLM PROPONE / sistema AUTORIZA / verificador CONFIRMA`.
## Los trade-offs honestos (no te vendo humo)