feat(episode): DEPURA_b-completo-a-surfaceado_S20260618.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 2 — BLINDADAS: B completo + A surfaceado
This commit is contained in:
Ember 2026-06-19 05:50:56 +00:00
parent 13fba59b48
commit 896b081034

View file

@ -0,0 +1,56 @@
---
episode_id: "11852c87-455d-4c4c-93d0-303012947fed"
puente_flat: "DEPURA_b-completo-a-surfaceado_S20260618.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260618.VERIFY_FIRST_PASSPORT_FIX"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 2 — BLINDADAS: B completo + A surfaceado"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-19T05:50:42.252770+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
**Verificado (BLINDADA-9):** B persistido (commit `da02374`, push 3 remotos), y el hallazgo de seguridad es **REAL** — la página `tavily-api-key-missing` tiene **7 matches** de credencial con prefijo `tvly-dev` en claro en la wiki-MEMORIA del servidor (que se embebe al canal de memoria → mismo riesgo que el scrub de MEMORY.md S20260616).
## B completo + A surfaceado
**B (CONCILIO) ✅** — 4 outputs entregados y commiteados:
- [CONSEJO](docs/CONSEJO_S20260619_wiki_mantenimiento_hitl.md) + [DECISION](docs/DECISION_S20260619_wiki_mantenimiento_hitl.md) + PROBATOR `NEEDS_REVISION` + PHAROS embebido.
- **Consenso:** "automatizar todo MENOS la escritura". 23 páginas = 7 atemporales / 11 históricas / 5 obsoletas.
**A (refrescar) — aquí me detengo, por diseño.** El CONCILIO mismo concluyó que escribir a la wiki es **HITL-by-design** (anti-prompt-injection) + AEGIS-CAP `CONDITIONAL`. No es autoejecutable. Las acciones de A, priorizadas:
| # | Acción | Quién |
|---|---|---|
| 🔴 **A2** | **SCRUB de la API key `tvly-dev`** (confirmada en claro) | **requiere tu GO** — seguridad urgente |
| **A3** | AVISO DLC-4 en las 5 obsoletas (no reescribir el snapshot) | tu HITL página-por-página (yo preparo los drafts) |
| **A1** | recalibrar la métrica (page_kind concept/state) | local, código — próximo turno enfocado |
| A4/A5 | proposer diferido a spec + deuda causa-raíz declarada | registrado |
### El prólogo de A (decisión)
**Reframe.** "Ejecutar A" no es autónomo: el diseño exige tu aprobación para escribir a la wiki. Pero hay una pieza que no puede esperar.
**Historia.** Confirmé una credencial Tavily (`tvly-dev-…`) en claro en la wiki-MEMORIA. Aunque la página marca el incidente "RESUELTO" (la key probablemente está muerta), una credencial en claro en el canal de memoria es mala higiene — exactamente lo que scrubeamos en MEMORY.md (S20260616, "scrub ahora, rotar luego", con tu GO).
**Mi inclinación.** Dame el **GO para el scrub A2** (yo lo ejecuto con cuidado, backup + edición mínima) — es seguridad. En paralelo preparo los drafts de los AVISOs A3 para que los apruebes. A1 (métrica) lo hago en un turno enfocado.
**La pregunta esencial:** ¿me das **GO para el scrub A2** (la credencial en claro) y preparo los AVISOs A3, o prefieres revisar tú primero?
### 📍 PARA JOHN — R18
**Hice:** ejecuté el CONCILIO (B) — 4 outputs commiteados (`da02374`). Confirmé de primera mano la API key en claro en la wiki. Diagnóstico + plan A priorizado.
**Falta:** A es HITL-by-design — necesita tu loop. Lo urgente: scrub de la credencial (A2).
**Mi consejo:** dame el GO para el scrub A2 (seguridad, como MEMORY.md), y arranco con los AVISOs A3 + la métrica A1 después.
**Para avanzar, elige:** 🟢 **A** *(recomendado)* GO scrub A2 + preparo AVISOs A3 · 🟡 **B** A1 recalibrar métrica primero (local) · ⚪ **C** revisas la DECISION tú y decides.
📌 **PILA-PENDIENTES (R18):** ✅ RESUELTAS: B CONCILIO 4 outputs (commit da02374) · 🔴 URGENTE (tu GO): A2 scrub API key tvly en wiki · 🟠 HIGH (HITL): A3 AVISO 5 obsoletas · 🟡 MED: A1 recalibrar métrica (local), A4 proposer diferido · ❓ John: A/B/C.