ember-memory-test/episodes/TRAZA_mitad-1-de-la-frescura-viva-y-verificada_S20260721.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 1ed4a0c4e6 feat(episode): TRAZA_mitad-1-de-la-frescura-viva-y-verificada_S20260721.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — MNEMO_PRE_DIGEST: Mitad 1 de la frescura: viva y verificada
2026-07-21 18:31:04 +00:00

2.7 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
4bddae83-5e1c-49ec-9746-e010f0d3a7a1 TRAZA_mitad-1-de-la-frescura-viva-y-verificada_S20260721.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD S20260721.GRAFO_NOMENCLATURA_NEO4J informar multi_actor low NONE operations troubleshooting EPISODIO 1 — MNEMO_PRE_DIGEST: Mitad 1 de la frescura: viva y verificada claude_code internal 2026-07-21T18:31:03.040471+00:00 false pending

Commit 4deab407 pusheado a los 3 remotos.

Mitad 1 de la frescura: viva y verificada

El grafo ya no puede envejecer en silencio: cada .md con nomenclatura que escribas queda detectado y encolado automáticamente — incluido docs/, que es el 83% del corpus y que el hook original no miraba.

Y hay una historia que vale la pena contarte: el test-vs-oráculo cazó un bug mío antes de que llegara a producción. Mi should_track devolvía False ante rutas relativas — en silencio. Habría "funcionado" (Claude Code pasa rutas absolutas) hasta el día que algo pasara una relativa y el nodo no se encolara sin que nadie se enterara. Ese es justo el sensor mentiroso que la doctrina persigue: el que te deja creer que todo va bien. El test lo atrapó, lo corregí, y quedó documentado en el código para que nadie lo reintroduzca.

Lo que falta: la mitad 2

Hoy la cola acumula (no se pierde nada), pero el grafo en Neo4j todavía no se actualiza solo. Falta el drenador: cola → MERGE idempotente → Neo4j, reusando el loader parametrizado que ya quedó probado en el servidor.

Sin él, la frescura está a medias: detectamos, pero no aplicamos.

Hice: construí el detector de frescura (lib + enganche al hook existente, sin crear un hook nuevo que sumara latencia), lo verifiqué contra un oráculo independiente (40 archivos, 0 discrepancias), corregí el bug silencioso que el test destapó, probé el antes/después con el mismo estímulo, y commiteé + pusheé.

Falta: el drenador que lleva la cola a Neo4j — la otra mitad del ciclo.

Mi consejo: cerremos el ciclo ahora (opción A). Un detector sin drenador es una cola que crece sin aplicarse; con el drenador, el grafo se mantiene fresco de verdad y cerramos el problema que abrió toda esta sesión.

Elige:

  • 🟢 A — Construir el drenador (recomendado) — cierra el ciclo: cola → Neo4j idempotente
  • 🟡 B — Parar aquí — nada se pierde (la cola acumula); drenamos cuando digas
  • C — Otra cosa que tengas en mente