feat(episode): DEPURA_qu-hace_S20260808.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: TESSERA | Type: troubleshooting Summary: EPISODIO 2 — MNEMO: Qué hace
This commit is contained in:
parent
fa13c2486e
commit
d619f7992a
1 changed files with 58 additions and 0 deletions
|
|
@ -0,0 +1,58 @@
|
||||||
|
---
|
||||||
|
episode_id: "4e56245a-bd1a-4621-8e63-a1eff0da6c86"
|
||||||
|
puente_flat: "DEPURA_qu-hace_S20260808.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260808.MEMORIA_SOTA_BRECHA"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "TESSERA"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 2 — MNEMO: Qué hace"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-08-12T02:06:02.024214+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Gate construido, verificado y en los tres remotos.
|
||||||
|
|
||||||
|
**🛡️ [`hyde_quality_gate.py`](.claude/hooks/lib/hyde_quality_gate.py)** + **[su test](.claude/hooks/test_hyde_quality_gate.py)** — commit `c6639c17`
|
||||||
|
|
||||||
|
## Qué hace
|
||||||
|
|
||||||
|
Cuatro reglas, cada una traducida de una exigencia **literal** de MH-3:
|
||||||
|
|
||||||
|
| Regla | Qué caza |
|
||||||
|
|---|---|
|
||||||
|
| `MH-3/generica` | El patrón que la norma prohíbe con nombre y apellido |
|
||||||
|
| `MH-3/limpias` | No termina en `?`, o lleva markup |
|
||||||
|
| `MH-3/especificas` | Demasiado corta para discriminar |
|
||||||
|
| `MH-3/variadas` | Duplicadas dentro del mismo bloque |
|
||||||
|
|
||||||
|
## Cómo lo calibré, que es lo que decide si sirve
|
||||||
|
|
||||||
|
**Contra verdad-de-campo, no contra intuición.** Los casos positivos del test son las **siete plantillas reales** medidas en producción con su frecuencia exacta; los negativos son **preguntas específicas reales** del mismo corpus. Ni un solo caso inventado.
|
||||||
|
|
||||||
|
La lección viene del ciclo 6 de este ecosistema: un gate calibrado contra intuición marca lo bueno, y **un gate que grita sobre lo sano enseña a ignorarlo**.
|
||||||
|
|
||||||
|
## La verificación que importa
|
||||||
|
|
||||||
|
RELOJERO-v2 exigía oráculo externo, y encontré uno mejor que cualquier fixture: **el corpus vivo entero**.
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Preguntas evaluadas | **16.506** |
|
||||||
|
| Marcadas | **674 (4,08%)** |
|
||||||
|
| Conformes | **15.832 (95,92%)** |
|
||||||
|
|
||||||
|
**El número que importa es el que no marca.** Un gate que marcara el 33% —la tasa de repetición total— estaría castigando preguntas legítimas que solo coinciden. Marca el 4%, y las tres más frecuentes son exactamente las plantillas que había medido de antemano: la de 74 apariciones, la trunca, y la de 33.
|
||||||
|
|
||||||
|
Más un **control anti-ablandamiento** explícito: reconocer *"¿Qué información hay sobre…"* no puede degenerar en marcar cualquier pregunta que empiece por *"¿Qué"*. Y seis casos de robustez, porque el pipeline de memoria **no puede caerse por una pregunta mala**.
|
||||||
|
|
||||||
|
**Hecho.** El gate existe, con 28 tests, mordida propia y validación contra el corpus completo.
|
||||||
|
|
||||||
|
**Falta, y lo digo claro:** es una **librería validadora**, no un muro activo todavía. Engancharlo al pipeline de escritura toca `tessera_pipeline` y necesita su propia medición. Ahora mismo puede auditar el corpus existente y validar bloques bajo demanda, pero **nada le impide todavía a Ember escribir una plantilla**.
|
||||||
|
|
||||||
|
**Mi consejo.** Antes de engancharlo, córrelo sobre el corpus como auditoría y mira las 674 marcadas. Si al revisarlas te parecen justamente marcadas, engancharlo es trivial. Si aparece algún falso positivo, se ajusta antes de que bloquee nada — mucho más barato que descubrirlo cuando ya esté mordiendo.
|
||||||
Loading…
Reference in a new issue