v0.5.32: A Clearer Save Receipt and Memory Spaces' Own Settings
This patch release publishes the follow-ups to the review after v0.5.31: #414 to #430. One change is visible to users; the rest keep what users and the model see as it was, while components take over what they own and the code gets smaller pieces.
- A save without a vector reads as information (#427). On an install without an embedding service, every save to a Memory Space used to end its receipt with an orange caution, "Saved without a vector: embedding did not succeed", which read as a failure. While DSH does not manage the Mnemon Native embedding settings, as by default, the Save to memory receipt in a conversation and on the Memory Spaces page, and
/mnemon remember, now end with a neutral note: no embedding service is available, keyword search still finds the memory, and its vector can be filled in from Test status once a service is connected. While DSH manages the settings, a service that did not answer keeps the caution, word for word. What the model reads is unchanged. - Memory Spaces brings its own settings (#421). The Providers, the embedding settings Mnemon Native reads and their copy now come from the Memory Spaces package, so it can change them without a dsh-mnemon release. They look and work as before, in every language DSH offers. dsh-mnemon keeps the same settings as a fallback that draws them whenever Memory Spaces' own client registers none, so exactly one set shows, whichever versions a profile runs.
- Documentation. Getting started now begins at the Memory System, installation from the command line, Headless and cloud access move to Install and start, and each topic keeps one home (#415). The screenshots and recordings come from a new gallery captured on DSH 0.2.1-rc.2 with the live DeepSeek model and a local embedding service, in English and Chinese (#424, #429). The roadmap and a design plan list the 23 functional changes the review found, each with what happens today, the change and its tests; this release ships one of them, the neutral note (#417, #422, #430).
- DSH 0.2.1-rc.2 (#420). Development and CI move to DSH 0.2.1-rc.2, the new npm
next, which this release is verified on. The supported range does not change. - For plugin authors.
- A Strategy declares the background work dsh-mnemon runs for its turns in its manifest's
workflowsfield,idle-reviewandruntime-capacity, so a third-party Strategy can opt into either. A Strategy built by spreading the Layered manifest now copiesworkflowstoo, andworkflows: []keeps it out of both;threeTierActionWorkflowstays exported and is deprecated (#414). - Each Source's
./contractsentry names its files and exports the rules for reading them, which backups, Git sync and the storage inventory now use (#416); Memory Spaces adds a Node-only./space-identityentry. - Memory Spaces'
./contractsexportsNATIVE_PROVIDER_ID,isNativeProvider(), the space name and description limits (MEMORY_SPACE_NAME_MAX_LENGTH,MEMORY_SPACE_DESCRIPTION_MAX_LENGTH) andMEMORY_PLACEMENT_CAPABILITIES, and itsMemorySpacesStatusreports an optionalembeddingManaged; its./cliententry addsMemorySpacesSettings,ProviderIconandNATIVE_PROVIDER_ID. Runtime memory's./contractsexportsRUNTIME_MEMORY_LIMIT_MAX_BYTES(#421, #423, #426, #427). dsh-mnemon/clientaddsMNEMON_COMPONENT_FALLBACK_PRIORITY, theMemoryComponentHosta component's settings receive, and the controls and class map Memory Spaces' settings are drawn with (#421);WriteReceipttakes an optionalembeddingManagedthat picks the wording (#427).- A compatibility register in the development guide lists each piece of compatibility code and when it can go (#423).
- A Strategy declares the background work dsh-mnemon runs for its turns in its manifest's
- Maintenance. The memory tools' facts live in one table (#418); constants, wire types, the Host's endpoint list and the Git sync checks each have one owner (#426); the largest Host and client modules are split along their seams, with tests that pin every memory task's instructions and every tool the model sees (#425, #428); tooling that lived only in pull request records became tests and scripts (#419).
Upgrade and compatibility
DSH 0.2.0-rc.2, 0.2.1-rc.1 and 0.2.1-rc.2: use Memory System → Status → Check versions → Update, then restart DSH. On DSH 0.2.0-rc.2 this works from earlier releases too; on DSH 0.2.1 it needs dsh-mnemon 0.5.31 or later. On DSH 0.2.1 with dsh-mnemon 0.5.30 or earlier, the update stops with already-installed: quit DSH, install the exact version once, then start DSH again.
dsh plugin --profile web add dsh-mnemon@0.5.32The desktop app manages its desktop profile on its own Plugins page instead. An explicit version avoids pnpm selecting an older release during its 24-hour release window.
Supported DSH releases are unchanged: DSH 0.2.0-rc.2 and 0.2.1-rc.1, and the 0.2.0 and later 0.2 releases after them (>=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.1 <0.3.0-0), which includes 0.2.1-rc.2. DSH refuses this release on DSH 0.1.7, 0.2.0-rc.1 and the 0.2.1 alphas:
- On DSH 0.1.7-rc.2, 0.2.0-rc.1 or 0.2.1-alpha.2, keep dsh-mnemon 0.5.30 until you upgrade DSH; see Upgrade order.
- On DSH 0.2.1-alpha.3 and later alphas, no release works in full. Upgrade DSH to 0.2.1-rc.2, then install 0.5.32 as above.
If your Profile independently maintains a component this release changes, update that copy too (the versions are below), or remove it and use the Starter's included copy; the Starter pins the new versions automatically. A Memory Spaces 0.5.22 kept beside an older Starter keeps the settings that Starter draws, and a Memory Spaces 0.5.21 or earlier beside this Starter gets this Starter's fallback settings. With Memory Spaces 0.5.21 or earlier beside this Starter, a save without a vector keeps the caution on the Memory Spaces page while the conversation and /mnemon remember show the note; Memory Spaces 0.5.22 beside an older Starter keeps the caution everywhere. A Layered strategy that predates workflows still drives idle review and runtime capacity maintenance.
Existing memory and settings need no migration, and stored settings keep their keys. Profiles that still store the retired conversationInteraction.toolviews preference, which has switched nothing since 0.1.3, load as before; the resolved configuration no longer carries it. Complete profiles use Node ^22.19.0 || >=24.0.0. Plugin peer floors and the Starter's external runtime dependencies are unchanged.
Changed packages
| Package | Previous | New |
|---|---|---|
dsh-mnemon |
0.5.31 | 0.5.32 |
dsh-mnemon-source-runtime |
0.5.14 | 0.5.15 |
dsh-mnemon-source-documents |
0.5.10 | 0.5.11 |
dsh-mnemon-source-memory-spaces |
0.5.21 | 0.5.22 |
dsh-mnemon-strategy-default-three-tier |
0.5.9 | 0.5.10 |
dsh-mnemon-strategy-light-context |
0.5.5 | 0.5.6 |
The other 12 component versions are unchanged.
Verification
Release acceptance installs the six changed packages through Add plugin on fresh DSH 0.2.1-rc.2 and 0.2.0-rc.2 hosts, checks Status, Runtime, a Native space with CLI and WebUI recall, Entities and Check versions, updates a v0.5.31 installation through Check versions on each, and updates a v0.5.30 installation on DSH 0.2.1-rc.2 with the exact install above. The release branch passes the full workspace verification on the pinned DSH 0.2.1-rc.2, the root tests against an installed DSH 0.2.0-rc.2, and 64 real Git sync checks on each of the two releases.
Each change has its own record in the evidence index, among them:
- A neutral note for a save without a vector
- Memory Spaces owns its settings and its copy
- dsh-mnemon on DSH 0.2.1-rc.2
- The v0.5.32 WebUI gallery, captured again with an embedding service
- Strategies declare the background work they drive, Sources own their storage formats, one owner for shared values, wire types and sync checks
- Host module splits, client module splits, one table of memory tools, small cleanups
Publication verifies the complete pinned composition, registry installation and a real upgrade before creating the GitHub release.
Previous release: v0.5.31.