feat(episode): TRAZA_tienes-razn-el-hook-te-ped-una-decisin_S20260725.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: TESSERA | Type: troubleshooting
Summary: EPISODIO 1 — MEMORIA: Tienes razón, el hook: te pedí una decisión...
This commit is contained in:
Ember 2026-07-26 06:00:15 +00:00
parent f07429aaae
commit ef913d173a

View file

@ -0,0 +1,21 @@
---
episode_id: "fc29f208-d48a-41c4-920e-0232a19555e1"
puente_flat: "TRAZA_tienes-razn-el-hook-te-ped-una-decisin_S20260725.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260725.SHERPA_FABLE_AUTOMEJORA"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "TESSERA"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 1 — MEMORIA: Tienes razón, el hook: te pedí una decisión..."
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-07-26T06:00:12.179893+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
Tienes razón, el hook: te pedí una decisión sin contarte su historia. La cuento bien, porque es la única que queda abierta y tiene reloj. ## 📖 La historia de la decisión del writer (DC-6)
**Lo que realmente se decide.** No es "¿desplegamos una versión nueva?". Es: **¿queremos que Ember escriba hechos atómicos en el momento de recordar, o que siga guardando solo episodios completos?** Hoy tu memoria guarda conversaciones enteras y un extractor las digiere después. El writer v1.2 haría que cada episodio deje además sus hechos declarados al nacer — con su procedencia y sin confiar en ellos hasta que un juez los revise. **De dónde viene.** Hace dos días el writer v1.2 estuvo a punto de desplegarse y ocho agentes lo frenaron: sin el algoritmo correcto, un upsert ciego habría **destruido 242 hechos multi-fuente**. Se rediseñó, se le puso el algoritmo anti-pérdida, y quedó en un branch aislado con 6 tests… todos con datos simulados. El auditor marcó eso como hallazgo (H-02): *"un merge sin prueba de integración no autoriza un deploy"*. Hoy lo probé contra 100 hechos reales de tu canon y **encontró un bug que los mocks no veían**: el campo `ref` es un contador, no una lista; el merge crasheaba dentro de un `try/except`, es decir, **habría fallado en silencio en cada consolidación** — sin errores visibles, simplemente hechos que nunca se unen. Ya está corregido y probado. La pregunta llega hasta ti porque desplegar toca producción, y eso es tuyo por regla (CA-3).