feat(episode): TRAZA_lo-que-cac-en-esta-ronda_S20260823.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — SessionStart: Lo que cacé en esta ronda
This commit is contained in:
parent
754ca75963
commit
a9d427c235
1 changed files with 31 additions and 0 deletions
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
episode_id: "bba6243d-1804-4a97-bd90-753f66ad938e"
|
||||
puente_flat: "TRAZA_lo-que-cac-en-esta-ronda_S20260823.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||
session_code: "S20260823.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 — SessionStart: Lo que cacé en esta ronda"
|
||||
source_type: "claude_code"
|
||||
trust_boundary: "internal"
|
||||
created_at: "2026-08-23T18:07:26.548821+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "pending"
|
||||
---
|
||||
|
||||
Barrido cerrado. Todo en los tres remotos (`ad080ecc`).
|
||||
|
||||
## Lo que cacé en esta ronda
|
||||
|
||||
Fuiste directo al punto: los hooks que no cumplían el estándar. Los barrí **todos** — 306 archivos entre hooks y librerías — con análisis AST, no con vista.
|
||||
|
||||
**La clase cp1252: 42 puntos corregidos, cero restantes.** En Windows, `subprocess` con `text=True` sin `encoding=` decodifica la salida con cp1252, y una sola tilde tumba la corrida. Había 17 llamadas así, más 23 `open()` de texto en la misma situación, más los 2 últimos que dejé a mano al final. Los 6 `open()` binarios quedaron intactos, como debe ser.
|
||||
|
||||
**Pero el hallazgo que más vale es otro: el muro que debía haberlos cazado solo miraba media población.** Existía un tripwire para esta clase exacta de bug… que barría únicamente `lib/`. Los hooks quedaban fuera — y ahí vivían los 17. Lo amplié, y al ampliarlo **cazó de inmediato 2 que yo no había visto**: `session-start.py` los llamaba con alias (`_gr_sp`, `_cj_sp`) y mi búsqueda por texto no los detectaba. El AST alias-aware es más riguroso que mi ojo, y eso es exactamente por qué el muro se amplía en vez de confiar en el barrido manual.
|
||||
|
||||
**Y encontré el patrón B-30 dentro del propio medidor de telemetría.** La métrica que dice "30 hooks inyectan sin dejar rastro" contaba como cubierto a todo hook cuyo texto mencionara la palabra `jsonl` — un proxy, no el hecho. Lo medí contra un barrido de escritura real: **ambos dan 42, pero solo coinciden en 23**. Dos sesgos opuestos que se compensaban — 19 nombran `jsonl` sin escribir nada, y 19 escriben sin nombrarlo jamás. El total cuadraba por casualidad.
|
||||
|
||||
No sustituí un proxy por otro (mi barrido tampoco sigue la escritura a través de librerías importadas). Hice que el instrumento **declare su margen**: ahora reporta `±46 sobre 76`. Un margen así dice lo que hay que decir — *esta cifra no se lee al dígito*. Y lo propagué a la línea del arranque, porque calcular la incertidumbre y ocultarla al lector es peor que no calcularla: aparenta rigor.
|
||||
Loading…
Reference in a new issue