Contents

v0.5.25: Memory Without a Memory Space and a Choice of Where to Save

View source on GitHub

This patch release publishes seven fixes: #343, #344, #345, #346, #347, #348 and #349.

  • Memory keeps working without a Memory Space (#345). When working memory (MEMORY.md) was full and no Memory Space could take an archive, every write was refused. That happened when the layer was off, no Provider was installed or ready, or no space was active. Now the Runtime Source appends the entries compaction leaves out, word for word, to a local archive in runtime/archived/, then completes the compaction and the write. A Project Document is archived locally the same way and keeps its original. When a space could take the archive but the current turn cannot write to it, the write is refused as before and every entry stays. Mnemon Packs carry the local archive.
  • Choose where Save to memory writes (#349). Save to memory on a reply now offers Save to. Let the Agent decide stays the default while a task Agent can write. Working memory (MEMORY.md), User profile (USER.md) and each active Memory Space take the text at once, through the same write as their own pages. Without a task Agent, or without a Memory Space Provider, the dialog starts on working memory instead of a send that would fail.
  • An edited candidate is sent again (#343). After a receipt, editing the candidate and sending it failed with idempotency key was already used for different content. Edited text now reaches the task Agent as a new candidate. Sending the same text again still returns its receipt without a second write.
  • Forget a memory by its id (#346). mnemon_forget and /mnemon forget <ID> failed for any id the current View had not recalled. The Memory Spaces Source now looks the id up through the new optional Provider method get(body, id) among the spaces the View can read, and acts only when exactly one space holds it. Links and related-memory traversal resolve ids the same way. Mnemon Native implements get with a read-only mnemon show.
  • Archiving into Mnemon Native survives duplicates (#347). When a full MEMORY.md archived an entry the space already held, the Host verified it again with a ranked recall. One slow or out-ranked recall failed the whole archive, and every retry failed the same way. A skipped receipt that carries the stored id and exact text is now the evidence. When a search is still needed, the error says whether it was unavailable or found no exact copy, and a Mnemon CLI timeout names its command.
  • Looking does not count as using (#348). Direct search on Memory Spaces and Find related memories on the Entities page now read a snapshot, so they add nothing to Mnemon Native's operation log or access counts, which Mnemon's retention takes into account. Agent recall, /mnemon recall and Ask Agent record their use as before.
  • Component settings in other Settings shells (#344). A shell that draws the dsh-mnemon configuration without DSH's slot renderer showed no gear for Runtime Memory and Memory Spaces, and no background tasks on the Layered strategy's page. The configuration now renders those settings itself when it receives no renderSlot. DSH's own Plugins page is unchanged.

Upgrade and compatibility

From v0.5.22, use Memory System → Status → Check versions → Update, then restart DSH. To install or update to the exact version from the CLI:

sh
dsh plugin --profile web add dsh-mnemon@0.5.25

Restart an existing DSH process after installation; a new installation can choose Enable now on the Plugins page. An explicit version keeps pnpm's 24-hour release window from picking an earlier one. For older desktop installations, see Compatibility and upgrades.

The supported host is DSH 0.2.0-rc.2 (npm latest and next); complete profiles use Node ^22.19.0 || >=24.0.0. Existing memory needs no migration. runtime/archived/ appears only when a local archive is written. Third-party Memory Space Providers keep working without get: ids they cannot look up are handled through the View's evidence, as before. No new Starter SDK export is required, so plugin peer floors stay unchanged.

Changed packages

Package Previous New
dsh-mnemon 0.5.24 0.5.25
dsh-mnemon-source-runtime 0.5.12 0.5.13
dsh-mnemon-source-documents 0.5.9 0.5.10
dsh-mnemon-source-memory-spaces 0.5.16 0.5.17
dsh-mnemon-strategy-default-three-tier 0.5.7 0.5.8
dsh-mnemon-provider-mnemon-native 0.5.8 0.5.9

The Starter pins the new component versions. Its other 12 component versions are unchanged, as are all locked external dependency versions.

Verification

The versioned release acceptance installs the release packages through Add plugin on DSH 0.2.0-rc.2. Each fix has its own before-and-after record:

Publication verifies the complete pinned composition, the Registry installation and a real upgrade before creating the GitHub release.

Previous release: v0.5.24.