Skip to content

v2.0.0 — rem-memory

Choose a tag to compare

@cioffiAI cioffiAI released this 13 Oct 10:00
· 2 commits to main since this release
d9aa9ce

@cioffi_ai/opencode-memory continues as rem-memory 2.0 (OpenCode V2 only).

Highlights

  • Code-anchored memories: project facts can point at path#symbol; state (fresh / drifted / broken) is derived on every read, broken anchors are not surfaced, memory_inspect({ show: "stale" }).
  • Session handoff: a mechanical "where were we" note on session completion, enriched by DREAM at no extra model call, injected once on the next session's first request; new memory_handoff tool and /memory resume.
  • Built-in /memory command (no manual copy); command: false to keep a custom one.
  • DREAM works on OpenCode's free tier: internal generation moved from generate.text (rejected there) to session.generate, with system prompt and conversation stripped; tools are never executed.
  • Host-neutral engine (src/engine) behind a Host interface, ready for other agents.

Breaking

  • Package renamed to rem-memory; OpenCode V1 adapter removed.
  • REM_MEMORY_* env vars (OPENCODE_MEMORY_* still read with a deprecation warning).
  • Default dir ~/.local/share/rem-memory, one-time copy of the old store (old dir untouched).
  • Store schema v3 (1.7.3 refuses it instead of reading it as empty).

See the upgrade guide in the README and CHANGELOG.md.

Verification

  • bun run check: 252 tests pass; retrieval benchmark (dev + held-out) byte-identical to 1.7.2.
  • verify:package against the real OpenCode 2.0.18 CLI with a local mock model.
  • End-to-end with the free muse-spark-1.3 model: anchors fresh/drifted/broken, mechanical + DREAM-enriched handoff, first-request injection, /memory resume (11/11).