feat(episode): DEPURA_1-tarea-no-op-rate-el-instrumento-ya-mi_S20260919.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — Ember: 1. Tarea no op rate : el instrumento ya mide lo que de verda
This commit is contained in:
Ember 2026-09-19 23:19:44 +00:00
parent c317ab834d
commit c4d3d88efa

View file

@ -0,0 +1,49 @@
---
episode_id: "e2250aec-c4ec-4218-9661-56b9f1a4e0aa"
puente_flat: "DEPURA_1-tarea-no-op-rate-el-instrumento-ya-mi_S20260919.R1_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 1 — Ember: 1. Tarea no op rate : el instrumento ya mide lo que de verda"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-09-19T23:19:40.478200+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**CHAT-TEMA-RAÍZ:** ALQUIMIA v2 — fábrica de prompts con enrutado y perfil de derecho colombiano
**R15-SUB-TEMA:** las tres tareas que dejé como chips están hechas, verificadas y subidas; la tercera pasó por un revisor independiente que me corrigió
## 1. Tarea `no_op_rate`: el instrumento ya mide lo que de verdad ocurre
`[R15.seccion1.T1]`
La auditoría wave1 publicaba que ALQUIMIA dejaba el 100 % de las consultas sin tocar. Era un artefacto: `scripts/audit_wave1/m1_all.py` contaba el campo `transformed`, que el log no tiene en ninguna de sus 4.961 filas. La definición correcta está en el propio hook, en `mega-hook-alquimia.py:161`: `final_query = query_step2 if preserved else query`. De ahí se sigue que una consulta sale igual que entró en tres casos: cuando `preserved` es falso (el verificador de intención rechazó el enriquecimiento), cuando `reason` es `identical`, o cuando `reason` es `empty_query_no_enrichment`.
| Definición probada | Resultado |
|---|---|
| Campo `transformed` (el artefacto) | 1,000 |
| Solo `reason == "identical"` | 0,858 |
| **La del código del hook** | **0,862** (4.275 sin cambio, 686 transformadas) |
Arreglé además un fallo latente que yo mismo había introducido hoy. El script elegía «el `*alquimia*.jsonl` más reciente», y el registro de mi preflight también encaja en ese patrón. Ahora elige el log por su nombre.
Verificación, hecha con TDD:
- La suite nueva falló primero por `AttributeError`, como debía.
- Tras el arreglo: **11 passed**.
- El control por neutralización demuestra que la fórmula vieja devuelve 1,0 con cualquier mezcla de filas.
- La medición real coincide con un conteo independiente.
No reescribí el histórico. El `1.0` sigue en el JSON, acompañado de la clave `aviso_dlc2`. La auditoría lleva un aviso arriba. **El veredicto de ALQUIMIA, «SIMPLIFICAR (solo AQ-1)», no cambia**, porque se apoyó en los brazos M2 (enrutado Δ=0,01 y recuperación Δ=0,133) y no en esta tasa. Commit **`bb21574b`**.
## 2. Tarea LEGIS y ATLAS: los módulos jurídicos no existen, y los archivos ahora lo dicen
`[R15.seccion2.T1]`
Volví a comprobarlo. `skills/legis/` y `skills/atlas/` contienen solo `CLAUDE.md`, `BITACORA.md`, `MAP.md` y `_membrana.md`. La copia local del plugin de claude.ai tiene solo `SKILL.md`.
- **LEGIS** promete `ROUTER.md`, 7 módulos y 5 plantillas. Su regla 1 («nunca generes un documento legal sin cargar antes el módulo») es incumplible, porque no hay módulo que cargar.
- **ATLAS** promete 5 módulos con carga progresiva. Tampoco existen.