ember-memory-test/episodes/EXPLORA_episodio-1_S20260513.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 7e0007b934 feat(episode): EXPLORA_episodio-1_S20260513.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — EMBER: Episodio 1
2026-05-13 17:31:11 +00:00

3.2 KiB

episode_id puente_flat session_code acto_dialogico actor_flujo criticidad_aegis skill_dominante fase_proyecto tipo_semantico summary_one_line source_type trust_boundary created_at relectura_tagged forgejo_commit_sha
73a1114b-d409-4079-8427-f3d0ba4c66d5 EXPLORA_episodio-1_S20260513.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S20260413 informar multi_actor low NONE operations troubleshooting EPISODIO 1 — EMBER: Episodio 1 claude_code internal 2026-05-13T17:31:06.974475+00:00 false pending

PREGUNTA USUARIO: ember te dejo esta desicion de como continuar a ti lo importante es que tengas forma de hacer backups previos antes de empezar con algo que sea destructivo para que tengas forma de hacer rooll back

RESPUESTA EMBER: ## 🎯 Decisión Ember: Tarea 2 H4 — manual_ingest.py bypass script

Razón (basada en evidencia EXODUS + análisis riesgo/valor con GAUGE GREEN ~892K):

Criterio Justificación
Blast radius LOCAL (file nuevo, no toca código existente) — score 1/8
Reversibilidad TRIVIAL (rm archivo nuevo, nada que revertir en servidor MEMORIA) — score 1/10
LEY ZERO impact NINGUNO (no destructivo, no toca containers servidor MEMORIA, no edita D3) — score 0/10
Velocidad HORAS, ~50K tokens — score 3/8
Valor inmediato Recomendado EXODUS sec. 5 H4 + bypass demostrado empírico R32-R38 funcional (Qdrant +1, Neo4j +1)
Independencia Bug #15 Vive paralelo al bug Stop hook PPID → desbloquea ingest sin esperar sprint dedicado decisión H1/H2/H3

Tarea 1 P0 Bug #15 fix permanente requiere panel CONCILIO (D-ARCH detectado clasificación H2 vs H3 con blast radius alto sobre Stop hook flow). Postergable a sprint dedicado próximo con decisión panel formal — ZD-2 postponement justificado.

🛡️ Plan de backups + rollback ANTES de cualquier acción destructiva

ROLLBACK_PLAN_MANUAL_INGEST_BYPASS:
  archivos_nuevos_a_crear:
    - .claude/hooks/lib/manual_ingest.py        # FILE NUEVO, NO overwrite
    - tests/test_manual_ingest.py                # FILE NUEVO, NO overwrite
  archivos_existentes_modificados: []           # CERO — fabricación pura
  rollback_comando_trivial:
    - "rm .claude/hooks/lib/manual_ingest.py tests/test_manual_ingest.py"
  rollback_claim:
    - "release_claim() via session_state.py"
  rollback_commit_pre_push:
    - "git reset --soft HEAD~1"                  # antes push triple-remoto
  rollback_commit_post_push:
    - "git revert <SHA> + push triple-remoto"   # NO --force NUNCA
  backup_strategy_atomic_guard:
    - "hook PostToolUse Write atomic-guard.py crea .bak.YYYYMMDD_HHMMSS automático"
    - "Edits requieren passport gate previo (rules/MAP.md + docs/MAP.md leídos)"
  servidor_MEMORIA_riesgo:
    NONE                                          # script NO ejecuta nada en servidor MEMORIA hasta test final empírico
  ssh_destructive_operations: []                  # CERO esta sesión, solo SCP a inbox (input directory, idempotente)

Garantía empírica: atomic-guard.py + git history + triple-remoto privado + ausencia de Edits a archivos existentes = rollback TRIVIAL en cualquier momento sin pérdida.