feat(episode): TRAZA_sprint-0-saneamiento-audit-completo-pr_S20260519.R34_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 34 — HANDOFF_PROMPT.md: Sprint 0 — Saneamiento (audit completo) + PRÓLO
This commit is contained in:
Ember 2026-05-20 06:12:41 +00:00
parent 6378bba390
commit 37089288f6

View file

@ -0,0 +1,56 @@
---
episode_id: "d2bd43c0-9308-40bb-94c7-2302c302fa2d"
puente_flat: "TRAZA_sprint-0-saneamiento-audit-completo-pr_S20260519.R34_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260519.COMMIT_MASIVO_PRESERVACION"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 34 — HANDOFF_PROMPT.md: Sprint 0 — Saneamiento (audit completo) + PRÓLOGO decisión"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-05-20T06:12:14.036399+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
Audit completo entregado en `docs/AUDIT_SANEAMIENTO_SPRINT0_S20260519.md`. Sprint 0 fase 1 (READ-ONLY) finalizada — NO remediado todavía, espera tu decisión sobre estrategia. Te resumo el panorama y planteo PRÓLOGO formal:
# Sprint 0 — Saneamiento (audit completo) + PRÓLOGO decisión
## Hallazgo principal
**El EXODUS §4.1 A.2 subdimensionó el problema 12×** y omitió una credencial CRITICAL adicional. La realidad empírica tiene 4 categorías de criticidad distintas, no 3 uniformes:
| # | Item | Universo empírico | Severidad real | Inclinación remediación |
|---|------|-------------------|----------------|--------------------------|
| 1 | **PG password Mnemo `B9K8...`** (NO listado por EXODUS) | ≥2 archivos | 🔴 **CRITICAL** acceso DB producción | Rotar + redact + `.env` |
| 2 | **LiteLLM master key `sk-ember-...`** | **67** archivos (no 1 como decía EXODUS) | 🔴 **CRITICAL** Information Disclosure (STRIDE I) | Rotar + redact + `.env` |
| 3 | IP servidor MEMORIA `78.47.194.63` | **609** archivos (no "MEMORY.md y otros") | 🟡 MEDIUM info operativa | NO remediar (repos privados) |
| 4 | Folder ID Drive | 68 archivos | 🟢 LOW (OAuth protege) | NO remediar |
| + | 122 detect-secrets adicionales | 47 archivos | mezcla (~95% falsos positivos = hashes BLC) | Mayoría no-action |
**DRIFT-3 confirmado**: EXODUS afirmaba que la master key estaba en `rules/lexicon-governance.md`. Realidad: 0 matches en ese archivo, la key está en INFRA_MANIFEST.yaml L1587 + 66 otros. Tercera afirmación fabricada upstream que detecto (suma a los 2 drifts ya escalados en R15: `memory/feedback_*` + magnitudes).
## PRÓLOGO formal — la decisión que tomas vos
### Reframe
No es "remediar o no" — es **"qué tratar como credencial real critical y qué como información operativa interna del repo privado"**.
### Historia
- EXODUS R14 redactó §4.1 A.2 sin ejecutar scan empírico (afirmación basada en memoria).
- Tu autorización R17 "empieza + zero deudas" me permitió ejecutar audit con detect-secrets + grep literal + scan colateral.
- ZD-5 auto-diagnóstico colateral encontró PG password REAL no listado por EXODUS.
### Consecuencias por camino
| Camino | Pro | Contra | Apto cuando |
|--------|-----|--------|-------------|
| **A** Conservadora | Zero risk regresión | Critical exposure persiste | Querés prevenir nuevos antes que remediar legacy |
| **B** Parcial críticos (recomendada) | Cierra riesgo real, mantiene operación intacta | Requiere ACK SSH servidor MEMORIA para rotar + 1-2 sesiones de ejecución | Default razonable |
| **C** Total destructiva | Historia git limpia 100% | Rompe clones, force-push triple-remoto, BLINDADA-29 bloquea | Solo si auditoría externa formal lo exige |
| **D** Solo prevención forward | Zero overhead operacional | Acepta riesgo activo persistente | Riesgo activo bajo + packaging muy distante |