feat(episode): TRAZA_1-estado-general-los-nmeros-reconciliad_S20260617.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: COMPASS | Type: troubleshooting
Summary: EPISODIO 2 — Prompt Injection: 1. Estado general — los números reconciliados
This commit is contained in:
Ember 2026-06-18 16:44:51 +00:00
parent 612dbe4703
commit 7a4f3aa9f3

View file

@ -0,0 +1,58 @@
---
episode_id: "d9e49aac-fcd1-4084-b3fe-67149d57c2b2"
puente_flat: "TRAZA_1-estado-general-los-nmeros-reconciliad_S20260617.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260617.CUSTODIA_SKILL_SECRETOS"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "COMPASS"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 2 — Prompt Injection: 1. Estado general — los números reconciliados"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-18T00:19:37.083080+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
Tengo evidencia suficiente y fresca de este turno. Te armo el estado real del sistema de hooks, separando lo que **funciona**, los **bugs**, y los **gaps** — todo respaldado por lo que acabo de observar (no de memoria).
Nota de routeo: esto es un **reporte de estado read-only**, no una decisión D-ARCH/D-AUDIT con blast radius. Por eso **no convoco CONCILIO** (sería over-routing, RA-6). Si decides remediar (p. ej. rotar los secretos que encontré), *eso* sí escala y requiere tu GO.
—
## 1. Estado general — los números reconciliados
La confusión de denominadores que veías en el boot **no es un bug, son 4 conteos distintos del mismo árbol**:
| Métrica | Valor | Qué mide |
|---|---|---|
| Archivos en `.claude/hooks/` | **263** | Todo: hooks + tests + backups + libs ([MAP.md:5](.claude/hooks/MAP.md)) |
| `.py` en disco | **201** | Excluye `.bak` (self-awareness C5) |
| `.bak` muertos en hooks/ | **56** | Backups sin limpiar (MAP.md "sin documentar") |
| `test_*.py` | **~95** | Suites de test, no hooks |
| **Hooks únicos cableados** | **~70** (en 93 slots) | Lo que de verdad corre, 6 eventos ([settings.json](.claude/settings.json)) |
**Veredicto de salud dura (este turno):**
- ✅ **Compilación: 0 errores de sintaxis** en todo el directorio (`compileall` EXIT 0). Ningún hook está "roto" a nivel de código.
- ✅ **13/13 sampled OK** + pipeline vivo (`file_activity.jsonl` actualizado hace 0 min, 597 checksums trackeados).
## 2. 🔴 Bug CRÍTICO — secretos en claro, commiteados en git
El más grave, y **justo el tema de tu sesión** (`CUSTODIA_SKILL_SECRETOS`):
`.claude/settings.json` (`mcpServers`) contiene **4 secretos en texto plano** y el archivo **está trackeado en git** (verificado: `git ls-files` → *IS committed*):
| Consumidor | Tipo de secreto |
|---|---|
| neo4j | password |
| meilisearch | master key |
| karakeep-mcp | API key |
| paperless | API key |
No reproduzco los valores aquí para no re-exponerlos. Es el mismo patrón que escrubeaste en `MEMORY.md` (P0-A), pero **aquí sigue vivo**: cada commit los versiona en los 3 remotos. Restricción CA-3: rotarlos requiere tu GO explícito.
## 3. 🟠 Bugs de comportamiento — ruido y fugas (reporte JAE)
Del [REPORTE_EFECTIVIDAD_HOOKS.md](docs/REPORTE_EFECTIVIDAD_HOOKS.md) (3 TP · **2 FP ruido · 5 FN fugas**):