v0.4.2: Shared Builtin placement and canonical settings
v0.4.2 restores optional conversation placement for the Sidebar-first memory workspace. It does not restore a separate legacy UI or include the planned v0.5 view-based architecture. #142, #139
Changes
- One workspace, two placements. Sidebar remains the default. Choose Builtin in Settings to show the same pages, dialogs, and styling in a conversation tab; changes apply live and the entries never mount together.
- Automatic session scope. Builtin hides the scope badge, workspace picker, and alignment controls. Global storage remains shared, workspace storage follows the owning session's cwd, and custom storage uses
dataDir. Reads, writes, and independent tasks use the existing Host routing; the global USER.md exception is unchanged. - Canonical
builtinspelling. The historicalbuildinvalue is accepted but normalized tobuiltinin runtime/UI state and saved through DSH's revision-fenced settings writer. Startup, external settings edits, and old-client RPC writes are covered. Comments and unrelated fields are preserved; a concurrent newer Sidebar choice wins. - Safe lifecycle behavior.
tabEnabledcontrols the selected placement. Conversation shortcuts open the matching entry, and changing sessions clears stale data and editors without changing stored memories.
Upgrade and compatibility
Install dsh-mnemon@0.4.2 in the owning DSH profile, then restart that profile. To embed the workspace in each conversation:
yaml
mnemon:
displayMode: builtin
storageScope: workspace- Retained preferences become effective again. v0.4.0–v0.4.1 ignored
displayMode: buildin; v0.4.2 restores it and savesbuiltin. Select Sidebar if you want to retain the standalone entry. An omitted display setting still defaults to Sidebar. - Profile-only aliases receive a canonical user-setting override; profile files are not rewritten. A read-only settings provider recognizes the alias without bypassing its permissions. Persistence failures are logged without disabling the normalized entry.
- Runtime, Documents, Memory Spaces, Pack formats, storage paths, Provider credentials, and RPC authority are unchanged. The only automatic migration is the display preference, not memory data. Existing v0.4.1 fixes remain included.
- Published DSH 0.1.1-rc.2 remains the dependency baseline; DSH 0.1.2-alpha.1 remains a source-only compatibility target.
Rollback
Reinstall dsh-mnemon@0.4.1 and restart the same profile. It ignores displayMode and returns to Sidebar without a data conversion. For a rollback to v0.3.x, first use its legacy buildin spelling or sidebar, since those versions do not accept canonical builtin.
Verification
- The v0.4.2 release candidate passed
pnpm run verify: 630 tests passed with one Windows-only skip on macOS; 108 deterministic build files; 35 Headless tools and five representative calls; a 115-file package; ten Node-compatible public entries; strict publint and attw checks. - The actual v0.4.2 tarball was installed in an isolated DSH 0.1.1-rc.2 / Web-all 0.3.6 profile with the official Mnemon 0.2.5 CLI. Startup saved the old
buildinpreference asbuiltin; the UI displayed version 0.4.2, hid the Builtin scope controls, and resolved the owning workspace root. All four pages, three create-dialog open/cancel paths, Chinese/English switching, and all ten imports from the installed tarball passed. No memories or component updates were submitted; the model used only a local fixed response, with no paid model or remote Provider testing. - Implementation PR #142 passed Linux Node.js 22.19/24, Windows Node.js 24, and source-linked DSH 0.1.2-alpha.1 CI before merge.
- The implementation evidence records the unmodified npm 0.4.1 control, real Mnemon 0.2.5 status, all three storage scopes, ten navigation round trips, and unchanged memory-file hashes. Its screenshots are explicitly from the pre-release local build, not a published 0.4.2 package.
Previous release: v0.4.1.