Highlights
- Added full observation lifecycle tools:
mem_updateandmem_delete(soft-delete by default, hard-delete optional). - Added scoped memory with
scope(project/personal) across save, search, context, recent lists, and API filters. - Added topic-based memory upserts with
topic_key+revision_countso evolving decisions update in place instead of creating duplicates. - Added
mem_suggest_topic_keyto generate stable topic keys with family heuristics (architecture/*,bug/*,decision/*, etc.).
What's Included
- Store/DB migration (idempotent) for new observation fields and indexes:
scope,topic_key,revision_count,normalized_hash,duplicate_count,last_seen_at,updated_at,deleted_at.
- Deduplication safeguards:
- Exact dedupe by normalized content hash + project + scope + type + title (rolling window).
- Topic upsert by
project + scope + topic_keywith revision tracking.
- MCP tools expanded to 13 tools:
- Added
mem_update,mem_delete,mem_suggest_topic_key.
- Added
- HTTP API updates:
PATCH /observations/{id}andDELETE /observations/{id}.- Scope filters on search/context/recent endpoints.
- Plugin/docs updates for both OpenCode and Claude Code memory protocols.
Quality
- Added/expanded tests:
- Unit tests for store topic/dedupe/scope/update/delete behavior.
- Unit tests for MCP topic suggestion and save behavior.
- E2E HTTP tests for topic upsert + delete/search flow.
- Full test suite passing (
go test ./...).
Notes
- No breaking changes for existing
mem_saveflows; defaults remain backward compatible (scope=project). - Existing databases are migrated automatically on first run of this version.