v0.5.26: Git Sync Across Machines and Memory Subagents on DSH 0.2.1
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.comrepositories; 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.
- 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
- 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 withthis.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
startActivationwhere DSH offers it, and still throughstarton DSH 0.2.0. - The result returns to Mnemon only, so the conversation gets no completion notice, and cancelling stops the child as before.
- They now start through
- Runtime entries are read strictly (#335). Runtime Memory keeps only the provenance and branch scope a Host stamps on an entry. A malformed
branchesvalue frommemories.jsonor a Mnemon Pack reads as no scope instead of breaking the runtime projection. The Git branch probe ignores theGIT_*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:
dsh plugin --profile web add dsh-mnemon@0.5.26Restart 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.