Repository navigation
v2.0.0 — rem-memory
@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_handofftool and/memory resume. - Built-in
/memorycommand (no manual copy);command: falseto keep a custom one. - DREAM works on OpenCode's free tier: internal generation moved from
generate.text(rejected there) tosession.generate, with system prompt and conversation stripped; tools are never executed. - Host-neutral engine (
src/engine) behind aHostinterface, 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:packageagainst the real OpenCode 2.0.18 CLI with a local mock model.- End-to-end with the free
muse-spark-1.3model: anchors fresh/drifted/broken, mechanical + DREAM-enriched handoff, first-request injection,/memory resume(11/11).