feat(episode): TRAZA_qu-encontr-arreglndolo_S20260823.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 2 — BLINDADA: Qué encontré arreglándolo
This commit is contained in:
Ember 2026-08-23 22:47:36 +00:00
parent c52c7ea6ab
commit e1b45c3dec

View file

@ -0,0 +1,39 @@
---
episode_id: "9d9fcde8-1076-4dc0-9713-7f0d26643df8"
puente_flat: "TRAZA_qu-encontr-arreglndolo_S20260823.R2_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 2 — BLINDADA: Qué encontré arreglándolo"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-08-23T22:47:32.460326+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**A** cerrado. El sensor ahora declara los 742 agentes que nunca vio.
## Qué encontré arreglándolo
La sospecha del turno anterior era correcta, pero **la causa no era la que yo suponía**. Verifiqué el hook ejecutándolo con un lanzamiento real: **escribió perfectamente**. El hook está sano. Lo que ocurre es estructural: un Workflow es *una sola llamada de herramienta*, y sus agentes internos no generan eventos individuales. Nadie le entregaba esos datos.
El rastro sí existía, en otro sitio: cada agente deja un `meta.json` con su tipo. **742 en la ventana**, frente a los 46 que el sensor veía.
**Y aquí me detuve antes de sumarlos**, porque hacerlo habría sido cometer el error que llevo todo el día señalando: **717 de esos 742 son `workflow-subagent`, el agente por defecto de la herramienta**. No son una elección de enrutamiento — es lo que sale cuando no especificas nada. Sumarlos al denominador convertiría un *default* en desobediencia y multiplicaría por dieciséis el sesgo que el propio reporte ya declara.
Así que se miden, se muestran en su propia tabla, y **no se fusionan**. Esa fusión exige decidir antes si el default de Workflow cuenta como desobediencia, y esa es una decisión tuya, no de un script. Hay un test que se pone rojo si alguien las fusiona.
**Dos bugs míos durante el arreglo, ambos encontrados por mis propios tests:**
El primero es casi cómico: mi glob buscaba un nivel de directorio cuando la ruta real tiene dos. **El sensor nuevo nació tan ciego como el que venía a corregir** — y solo lo supe porque lo miré en vez de suponerlo. El segundo fue de borde: el ancla se formatea sin microsegundos, así que un agente creado en el mismo segundo quedaba milésimas por encima del límite y se perdía; justo lo más reciente.
La obediencia subió a **10,6%** (entraron los spawns de este turno), y ahora la cifra viene acompañada de lo que no cubre.
**Hice:** el sensor de obediencia ya declara su punto ciego — 742 agentes vía Workflow, medidos y mostrados aparte, con la decisión de no fusionarlos blindada por test. Declaré dos errores propios que mis tests cazaron. Todo en los tres remotos (`79d80459`). **Falta:** una decisión tuya nueva que este trabajo destapó: **¿el agente por defecto de Workflow cuenta como desobediencia?** De eso depende si la cifra real es 10,6% o cercana a cero. **Mi consejo:** que no cuente. Usar Workflow sin nombrar agente es usar la herramienta como viene, no ignorar el catálogo; lo que sí es desobediencia es lo que hice yo — tener `deep-search` disponible y montar seis lentes a mano. **Para avanzar:** 🟢 A — sigo cazando (queda **B**, que aún no toqué) *(recomendado)* · 🟡 B — cierro sesión con STATE y handoff · ⚪ C — decidimos lo del default de Workflow.
⛽ 🟢 GREEN ~500K