Contents

v0.5.0-rc.1: Composable Memory Plugins

View source on GitHub

v0.5 introduces the View-based execution model and Source/Strategy extension SDK as a release candidate. The plugin architecture is developer-facing in this release; ordinary users retain the v0.4 Sidebar workflow.

Scope and compatibility

  • dsh-mnemon remains 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 through dsh-mnemon/extension-sdk and verify them through dsh-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: false explicitly 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 to default-three-tier.

The extension SDK remains prerelease and may change before v0.5 becomes stable. Official packages pin the same tested version; external authors should test and declare compatible peer versions explicitly. An earlier experimental Source that read a full request.view must use request.view.id, request.view.scope and its own request.grant instead. Internal imports, historical symbols and Host RPC are not stable extension APIs.

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 trying the release candidate, 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. No data-format migration is introduced by this release.

Opt in explicitly; the rc channel never replaces npm latest:

sh
dsh plugin --profile web add dsh-mnemon@0.5.0-rc.1

Use headless instead of web for that profile, then restart DSH. The Starter installs all sixteen matching plugins; normal users do not install them individually. Stable users do not enter the release candidate implicitly through npm latest.

Verify existing Runtime entries, Document search/read, Provider selection, recall/write receipts and settings before adopting the copy. To roll back, stop DSH, restore the previous profile and matching data backup together, then restart. Do not assume an old version understands data newly written by an experimental third-party plugin.

Deliberate release-candidate limits

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 are the full workspace verification, all independent plugin repositories, tarball-only installation, external Source/Strategy/Provider/Client tests, copied-data compatibility, performance and real WebUI checks. 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.

  • strategy-auto-capture provides an opt-in, current-turn capture policy for the workflow requested in Issue #110. It does not add an unsupervised background writer, so the broader request remains open for feedback.
  • strategy-light-context provides 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-scoped generalizes Source ordering and writable subsets around the global/project composition use case originally raised in Issue #77.