Contents

v0.5.31: DSH 0.2.1-rc.1 Support and Task Agent Model Choice

View source on GitHub

This patch release publishes #394, #354, #386 and #410 to #412. Thanks to @yz1128 for #394 and @iuuuuuuuu for #354.

  • DSH 0.2.1-rc.1 and 0.2.0-rc.2 (#386). dsh-mnemon supports DSH 0.2.1-rc.1 (npm next) and 0.2.0-rc.2 (npm latest), and the 0.2.0 and later 0.2 releases after them.
    • Memory subagents work on DSH 0.2.1. DSH 0.2.1 no longer takes a subagent's instructions or tool filter at start, so every memory subagent failed there: Save to memory, Memory Space writes, idle review, USER.md compaction, Document archive and Git sync's reconciliation review. Each one now gets Mnemon's instructions and only its memory tools in its own scope while DSH publishes it, before its first step. A provider whose children DSH does not create in this process is not used.
    • Check versions → Update works on DSH 0.2.1. With hot reload, DSH 0.2.1 refuses to install over a plugin the profile has, so the update stopped with already-installed. It now runs DSH's own dsh plugin add, which holds the profile's lock and refuses a release incompatible with the running DSH before installing anything, then asks for a restart as before.
    • When DSH refuses an update as incompatible, the error names the DSH the release needs: requires DSH ^0.3.0 on DSH 0.2.1, requires @deepseek-ai/dsh ^0.3.0 on DSH 0.2.0. Where no subagent provider fits, the error says what both releases need: a provider that limits depth and gives each child its own instructions and tools.
    • The Starter states the supported range in engines.dsh, which DSH 0.2.1 reads, and in its DSH peers, which DSH 0.2.0 reads. dsh-mnemon and Memory Spaces no longer list @deepseek-ai/dsh-client-ui-primitives as a peer: DSH shares it with every client bundle.
  • Task Agent model: Follow global, Follow the conversation or Custom (#354). Under Background tasks on the Layered strategy's page, Task Agent model is one choice of three.
    • Follow global, formerly Follow the main route, is the default and works as before: task Agents use the model DSH keeps for new sessions, which DSH sets to the model last picked in any conversation.
    • Follow the conversation is new. While that conversation is open, its task Agents (Save to memory, Ask Agent, tidying and archiving) get the route DSH gives the conversation's own delegated work: the provider, model and reasoning effort of its last request, or its creation route before the first. Otherwise they follow global, and never take another conversation's route.
    • Custom, formerly Choose a model, pins a Provider and model. Read again reads the whole model directory for it.
    • The page reads the stored choice live and shows where the route comes from.
  • Git sync refuses an inconsistent Documents payload (#394). A store whose documents/index.json disagrees with its own document bodies can no longer be pushed to the branch, where it locked every later sync. Wherever a payload is published or imported, each Documents index entry's contentHash must have the shape the format always writes, a hex sha256 digest, and the error names the document. A ZIP export still downloads such a store, so it can be backed up before it is repaired. manifest.json names the real package version instead of 0.1.0.
  • One name for idle review (#410). The Status alert after a failed review reads Idle review failed instead of Background review failed. On the Layered strategy's page the Agent that reviews is a task Agent, as Task Agent model calls it: Scoped task Agent review replaces Scoped child review, the hints name the task Agent, and Pause review drops "(legacy compatible)". The Status note shown while Agent Teams pauses idle review no longer names DSH 0.1.7-rc.2.
  • Maintenance (#411, #412). Code nothing used is removed, after a check that no public package entry exposed it, and the result of saving to memory is declared once. The release history, the evidence index and the design plans list everything in their folders, and the README and SECURITY links open the current documentation, also from the npm package page.

Upgrade and compatibility

DSH 0.2.0-rc.2: use Memory System → Status → Check versions → Update, then restart DSH.

DSH 0.2.1-rc.1: Check versions → Update in dsh-mnemon 0.5.30 and earlier stops with already-installed. Quit DSH, install the exact version once, then start DSH again. From 0.5.31, Check versions updates on both releases.

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

The desktop app manages its desktop profile on its own Plugins page instead. A fresh installation can choose Enable now on the Plugins page. An explicit version avoids pnpm selecting an older release during its 24-hour release window.

Supported DSH releases. 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). 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. Update dsh-mnemon on your current DSH first, then upgrade DSH, then update dsh-mnemon again; 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.1, then install 0.5.31 as above.

A DSH upgraded first turns a release it does not support off; memory data is untouched, and updating the plugin brings it back. Do not use allow-version to let an unsupported release through.

If your Profile independently maintains Memory Spaces, update that copy too (dsh-mnemon-source-memory-spaces@0.5.21), or remove it and use the Starter's included copy. The Starter pins the new version automatically.

Existing memory and settings need no migration, and stored settings keep their keys. Follow the conversation is stored as a key of its own (taskAgentModel.followConversation), so an earlier release reads it as Follow global. 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.30 0.5.31
dsh-mnemon-source-memory-spaces 0.5.20 0.5.21

The other 16 component versions are unchanged.

Verification

Release acceptance installs the two changed packages through Add plugin on fresh DSH 0.2.1-rc.1 and 0.2.0-rc.2 hosts, checks Status, Runtime, a Native space with CLI and WebUI recall, Entities and Check versions, and updates a v0.5.30 installation on each. The merged source passes the full workspace verification, including 2,035 root tests on the pinned DSH 0.2.1-rc.1, the same tests against an installed DSH 0.2.0-rc.2, and 64 real Git sync checks on each of the two releases with two hosts and a temporary bare repository.

Each change has its own record:

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

Previous release: v0.5.30.