v2.4.0 - memory RAG into the vibe-loop
v2.4.0 — memory RAG into the vibe-loop
Date: 2026-07-28
Schema: v19 (unchanged from v2.3.0)
Canonical tool count: 35 (unchanged — additive integration, no new tools)
Commit: 621e297
What this release fixes
The agent_memory data plane shipped with producers and one consumer (recall), but the vibe-loop itself (session_start, drift_judge, research_topic, judge, consensus) never consulted it. Operators landed on every session with a blank slate. v2.4.0 closes that data-plane orphan debt.
What's new
session_startnow emits acontext_recapfield withpinned_memories(top 10) +open_todos(top 20).vibe_publish's drift_judge path now enriches the artifact text with relevant prior decisions + findings from agent_memory before calling the LLM judge (invisible at the wire level — the artifact is what gets persisted).research_topicnow populates aprior_findingsfield with top-5 in-project findings relevant to the query.- 5 helper functions added to
internal/orchestration/agent_memory.go:recallForVibe,listPinnedForVibe,listOpenTodosForVibe,formatHitsForContext,firstLine.
Drift governance
dark_memory_judge(eval_type=drift_judge) returned verdict=aligned confidence=0.95 (evaluation 416). Approved for canonical artifact publication.
Checksums (SHA-256)
dark-mem-mcp.exe 2864CD419748C04AC31A3E0AE05DB1A1FBE5F9DD577920D41FDED82202B3719A 25602048 bytes
dark-mem-cli.exe FA71CADAA9C11620CD6205823E8FB286CCEE63A9F2EE61B5D706F7889D687964 20589056 bytes
dark-mem-inspect.exe AF0BC91A172FF094BC40353E8FA0F9D7E9E8CDA3994B9012928AC751326C46C6 20132864 bytes
Verified by dark-mem-inspect --version → dark-mem-inspect 2.4.0.
Pre-flight governance
dark_memory_session_start+dark_memory_judge(eval_type=drift_judge)(verdict=aligned confidence=0.95)go build ./...exit 0go test ./...all green (4 new orch tests + 6 prior dual_driver tests + full suite)
Upgrade notes
- Wire contract is additive only. Existing callers see no behavioral change.
- New ContextRecap on
session_startand PriorFindings onresearch_topicare best-effort: errors swallowed; broken agent_memory does NOT block VLP paths. - All integrations inherit INV-10 (rows survive session close). Recap is project-wide scope by default; per-operator scope is a v2.4.x follow-up.
- The drift_judge enrichment is INVISIBLE in the persisted artifact; only the LLM prompt sees it. This is intentional — the artifact is what humans/agents downstream consume, the prompt is what the judge consumes.
v2.3.0 → v2.4.0 — what carries forward from v2.3.0
- Schema v19 (no migration in v2.4.0)
- 35 canonical tools (no new tool in v2.4.0)
- Two behavior-default flips from v2.3.0 still apply:
scope=currentdefault isproject(wassessionpre-v2.3.0)bind_sessiondefault isfalse(was implicittruepre-v2.3.0)