Contents

v0.5.26: Git Sync Across Machines and Memory Subagents on DSH 0.2.1

View source on GitHub

This patch release publishes #335 and #357.

  • Git repository sync (#335). A switch under Storage publishes your memory to a Git repository you own and restores it on another machine. It is off by default. Until it is turned on, the row shows only its title and the switch, and no Git command runs.
    • Sign in with GitHub through the OAuth device flow, then pick or create a repository. The token stays in DSH's credentials service and is offered only to https://github.com repositories; an access token from the optional token field works for other hosts.
    • Push and Pull are confirmed actions and need writeEnabled. Both go through the same validation and importer as the ZIP backup. A push first merges what the branch holds, and every export records deletions, so an older copy cannot bring a deleted memory back.
    • Automatic backup repeats the push at an interval from 1 hour to 7 days. It is off by default.
    • Backups lists every machine's pushes from the branch history, and Check remote compares the branch with this machine entry by entry.
    • Memory reconciliation asks the model for a merge plan and records it for review. Nothing is applied until you accept a plan, and you can apply it operation by operation.
    • The payload is the Mnemon Pack, memory content only. ZIP backups are unchanged, and Safe import still only adds.
  • Memory subagents on DSH 0.2.1-alpha.2 (#357, issue #356). DSH 0.2.1-alpha.2 removed subagents.start. Every memory subagent then failed there with this.subagents.start is not a function: a write to a full USER.md or MEMORY.md, idle review, Save to memory, Document archive and the other delegated tasks.
    • They now start through startActivation where DSH offers it, and still through start on DSH 0.2.0.
    • The result returns to Mnemon only, so the conversation gets no completion notice, and cancelling stops the child as before.
  • Runtime entries are read strictly (#335). Runtime Memory keeps only the provenance and branch scope a Host stamps on an entry. A malformed branches value from memories.json or a Mnemon Pack reads as no scope instead of breaking the runtime projection. The Git branch probe ignores the GIT_* variables a launcher exports.

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.26

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). Memory subagents are also verified on DSH 0.2.1-alpha.2 (npm alpha). Complete profiles use Node ^22.19.0 || >=24.0.0.

Existing memory needs no migration. Git sync stores its settings in state/sync-git.json and a disposable mirror under state/sync/git only after it is turned on and used. No new Starter SDK export is required, so plugin peer floors stay unchanged.

Changed packages

Package Previous New
dsh-mnemon 0.5.25 0.5.26
dsh-mnemon-source-runtime 0.5.13 0.5.14

The Starter pins the new Runtime Memory version. Its other 16 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 and 0.2.1-alpha.2. The changes have their own records:

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

Previous release: v0.5.25.