Skip to content

v0.3.0 — Memory quality & observability

Choose a tag to compare

@theBeautifulIce theBeautifulIce released this 06 Nov 05:42
· 33 commits to main since this release

Memory-quality and observability release.

Highlights

  • Conflict resolution — conflicts.resolve can keep one side or merge title/content/tags into the winner. The loser is archived with supersededBy / validTo; cross-project and cross-layer pairs are rejected. The editor exposes “keep this entry” and “merge body”.
  • Forgetting curve — retrieval score decays exponentially from lastAccessAt with configurable half-life and floor. Importance is never silently rewritten.
  • Project spaces — entries carry an optional normalized workspace. Writes default to the current session cwd; searches see the current project plus global entries; workspace: "*" searches everything.
  • Diagnostics — health score, issue breakdown, maintenance history, slow queries, and injection hit rate via the diagnostics API and maintenance panel.
  • Write lifecycle hooks — register before/after handlers for create, update, import, and conflict resolution. Before hooks can rewrite or block; failures fail open. hooks.list and bootstrap expose the registry.

Fixed

  • maintenance.slowQueryMs = 0 now logs every search instead of clamping to 1 ms.
  • Same-key writes still renew TTL.
  • Conflict resolution no longer merges unrelated workspaces/layers.

Full self-check: 34 syntax modules; engine 57, audit 12, tools 14, search 10, sqlite 13, native 6, go-service 12, engine-go 8, api 23, render 21 — all passing.

Install

Download dsh-memory-plugin-0.3.0.zip, unpack it, then point plugin_manager action=install_bundle target=<path>/dsh-memory-plugin at the unpacked folder.