v0.5.0: Composable Memory Plugins
v0.5.0 introduces the View-based execution model and the Source/Strategy extension SDK as a stable npm release. The plugin architecture is developer-facing; ordinary users retain the v0.4 Sidebar workflow.
Scope and compatibility
dsh-mnemonremains the one-package Starter. Runtime, Documents, Memory Spaces, the default Strategy, three Strategy enhancements, and nine Providers ship as sixteen independent plugins. The Starter installs the three enhancements disabled. Existing storage formats, workflows, and normal tools remain the user-facing contract; compared with v0.4, the only UI addition is Active capture, Light context, and Scoped composition switches under Settings → Memory System—there is no View page or plugin-management entry. No memory data is migrated or deleted.- Core exposes
ctx.mnemonMemory; authors register Sources/Strategies throughdsh-mnemon/extension-sdkand verify them throughdsh-mnemon/testing. Source-owned pages use the Client SDK and DSH lifecycle. Memory Spaces owns its Provider SDK and child fibers; there is no additional Core-level Space service. - Source and Strategy are contribution roles, not compulsory package boundaries: one plugin may register both in one Fiber-owned batch. Private indexing and maintenance remain plugin-owned. Operations remain open: no universal memory taxonomy or tree is required.
- Each turn pins one immutable View. Source operations receive only View identity/scope and their own read grant, not another Source's projection or grants. A read grant or action offer never grants write authorization.
- Source facts/projection reads have bounded time and cooperative cancellation. Selected Sources are required by default;
required: falseexplicitly permits omission. Failed optional Sources contribute neither routes nor actions, and sanitized diagnostics explain their absence. Generic guidance follows the active View; automatic three-tier review belongs only todefault-three-tier.
The documented exports from dsh-mnemon/extension-sdk, dsh-mnemon/testing, dsh-mnemon/contracts, and the Source-owned SDKs are the supported v0.5 extension surface. Official packages pin one tested 0.5.0 cohort. External authors should declare and test compatible peer versions explicitly. Internal paths, historical symbols, and Host RPC are not public extension APIs; future pre-1.0 minor versions may revise the extension surface with release notes and migration guidance.
Mutation receipts must state their completion: accepted ingestion/candidates are not committed memory, and only confirmed commits carry committedAt. The receipt helper defaults to unknown; see the operation and result contract.
Upgrade and rollback
Before upgrading, stop writers and back up the complete effective memory root, workspace Documents, DSH profile/configuration, and any separately managed Provider data. Test against copies with an isolated DSH profile; do not point a smoke test at personal memory. v0.5.0 introduces no data-format migration.
Install the stable release explicitly or use the npm latest channel:
dsh plugin --profile web add dsh-mnemon@0.5.0Use headless instead of web for that profile, then restart DSH. The Starter installs all sixteen matching plugins; normal users do not install them individually. Existing exact RC installations must select 0.5.0 to leave the prerelease line.
Verify existing Runtime entries, Document search/read, Provider selection, recall/write receipts, and settings against the copy before adopting it. To roll back, stop DSH, restore the previous profile and matching data backup together, then restart. Do not assume an older version understands data newly written by a third-party plugin.
Intentional v0.5 boundaries
The default Host selects one complete Strategy with memoryTopology.strategyId and composes its root-turn View. The shipped-but-disabled strategy-scoped, strategy-light-context, and strategy-auto-capture packages can contribute simultaneously through distinct slots; users see only their three behavior switches. Slot conflicts are explicit, permissions and quotas stay shared, and no background worker is added. The documented Source/Strategy contract welcomes standalone community repositories, but v0.5 has no generic discovery, installation, or dependency-graph UI. Generic multi-scenario scheduling, automatic Strategy discovery/selection, plugin process sandboxing, and autonomous RSI deployment are also not promised. Generation replacement and isolated author tests provide useful building blocks for future RSI; they are not an autonomous evolution loop. External plugins execute trusted JavaScript, and cancellation cannot preempt synchronous or non-cooperative code.
Release gates include full workspace verification, all independent plugin repositories, tarball-only installation, external Source/Strategy/Provider/Client tests, copied-data compatibility, performance checks, and real WebUI coverage. Controlled HTTP tests do not certify every live Provider account; a fixed model stub does not measure real-model memory quality. See verification and coordinated publication.
From the release candidate
The runtime implementation, UI, configuration, and persisted formats are unchanged from v0.5.0-rc.1. The stable promotion includes the release-verifier correction already applied to the RC publication path and makes the same frozen, resumable workflow select npm latest and create a normal GitHub Release for stable semantic versions.
Related community requests
strategy-auto-captureprovides the opt-in current-turn recording policy requested in Issue #110. It does not add an unsupervised background writer.strategy-light-contextprovides a bounded projection policy related to the cost concern in Issue #40. It deliberately does not claim revisioned incremental injection; that upstream-dependent part remains open.strategy-scopedgeneralizes Source ordering and writable subsets around the global/project composition use case originally raised in Issue #77.