feat(episode): TRAZA_lo-que-pas_S20260812.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — schema_embedding: Lo que pasó
This commit is contained in:
parent
59a6c6ad79
commit
2d30899fa4
1 changed files with 47 additions and 0 deletions
|
|
@ -0,0 +1,47 @@
|
||||||
|
---
|
||||||
|
episode_id: "c7feb2a9-5489-4bbd-a45e-d783c61ad138"
|
||||||
|
puente_flat: "TRAZA_lo-que-pas_S20260812.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260812.PIPELINE_FIXES"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "NONE"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 1 — schema_embedding: Lo que pasó"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-08-15T05:42:03.112754+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
**PAAV cerrado** — commit `00b45f1f`, en los tres remotos. Era lo que yo mismo señalé como lo que más rendía, y ya está.
|
||||||
|
|
||||||
|
## Lo que pasó
|
||||||
|
|
||||||
|
Ayer medí que PAAV llevaba **31.794 disparos sin un solo rechazo**, y el control positivo mostró por qué: su clasificador **sí reconocía** un borrado de raíz como catastrófico, y luego `aggregate_verdict` lo convertía en `PASS` igual que a un `ls`.
|
||||||
|
|
||||||
|
Hoy lo conecté. Ahora:
|
||||||
|
|
||||||
|
**Y verifiqué antes de tocar que esto no necesitaba tu firma:** `main()` imprime `allow` **incondicionalmente**, sin mirar el veredicto. PAAV es advisory puro. Implementarlo **no cambia lo que el sistema hace — cambia lo que sabe de sí mismo**. Promoverlo a bloqueante sigue siendo tuyo.
|
||||||
|
|
||||||
|
★ Insight ─────────────────────────────────────
|
||||||
|
**Mi propio test me frenó, que es exactamente para lo que lo escribí ayer.** Decía literalmente: *«el día que alguien implemente el veredicto, este test se pone rojo y obliga a actualizarlo»*. Ese día fue hoy y ese alguien fui yo — cinco casos en rojo. Un test que solo confirma lo que ya sabes es decoración; uno que te frena cuando cambias la premisa es infraestructura.
|
||||||
|
─────────────────────────────────────────────────
|
||||||
|
|
||||||
|
Al reescribirlo añadí el invariante que más importa: **`test_el_hook_sigue_permitiendo_todo`** ejecuta el hook por subproceso y verifica `allow`. Si PAAV pasara de advisory a bloqueante sin que nadie lo decida, ese test cae. Es la lección de B-26 convertida en guardia.
|
||||||
|
|
||||||
|
Y un bug mío que **cazó el test, no mi doble pasada**: usé `classification.rationale` cuando el campo es `reasoning`. Fallaba **solo** cuando el veredicto no era `PASS` — el camino que el stub nunca ejercitaba. El código muerto no tiene bugs; los tiene en cuanto revive.
|
||||||
|
|
||||||
|
**14/14** en su suite, **47/47** en las vecinas.
|
||||||
|
|
||||||
|
✅ **Cerrado** — frentes A, B y C · **PAAV con veredicto real** · 13 commits en 3 remotos.
|
||||||
|
🟡 **Ejecutable aún** — conectar los 9 hooks con `.log` al helper · bug de `migration-manifest.py`.
|
||||||
|
❓ **Tuyas** — promover PAAV a bloqueante (ahora sí tendría efecto) · los 18 perdidos · `sha` a Neo4j · D-4/D-5/D-6 · writer v1.2 · `APROBAR` VIGIL/AEGIS.
|
||||||
|
|
||||||
|
**Hice:** el guardián que veía el peligro y lo saludaba ya lo nombra. Sin tocar su comportamiento.
|
||||||
|
|
||||||
|
**Falta:** que decidas si además debe **actuar**. Ahora esa decisión sí tiene sentido, porque por primera vez tendrás datos reales de cuántas veces habría bloqueado.
|
||||||
|
|
||||||
|
**Mi consejo:** deja correr una semana y mira `paav_actions.jsonl`. Si la tasa de `BLOCKED` es baja (como el 2,1% de schema-embed), promoverlo es seguro. Si es alta, tendrás la evidencia para no hacerlo — que es igual de valioso.
|
||||||
Loading…
Reference in a new issue