v0.3.2: Deterministic Runtime and Managed Embeddings
v0.3.2 strengthens the v0.3 composable-memory line in three places: Runtime capacity recovery is deterministic and Host-authoritative, Mnemon Native embedding settings work in desktop sessions without shell configuration, and the invariant Runtime Memory protocol no longer repeats inside every changed dynamic context tail.
Updated
- Runtime capacity recovery now bypasses the model when only one writable Memory Space is available. With multiple destinations, the worker receives bounded excerpts for routing only; the Host imports the exact original entries in destination batches, validates one terminal receipt per source, applies a revision fence, and deterministically packs the hot remainder before committing the pending mutation. Partial external writes leave the local Runtime content intact and safely retryable. This resolves Issue #70 through PR #78.
- Mnemon Native settings can now manage an Ollama-compatible embedding endpoint and model inside DSH. Saved values are injected only into Mnemon child processes, so Finder- or Dock-launched macOS sessions no longer depend on shell files,
launchctl, or a LaunchAgent. A realmnemon embed --statuscheck reports service reachability, the effective model, and Store coverage. This resolves Issue #69 through PR #79. - The invariant 3,450-byte Runtime Memory read/write protocol now lives in a stable system-prompt section. Dynamic runtime context remains a complete replacement snapshot, with revision, entry-count, and UTF-8 usage metadata plus the exact USER.md and MEMORY.md bodies; moving the protocol and former separator removes 3,452 bytes from each changed dynamic tail without introducing a fragile delta chain. This is the safe first phase of Issue #40, delivered by PR #80; incremental upstream context support remains tracked in the open Issue.
Compatibility and upgrade
No Runtime, Document, Memory Space, Provider, configuration, RPC, or tool persistence format changes require migration. The new managed embedding setting defaults off; omitted or disabled configuration preserves the existing inherited environment exactly. When enabled, Mnemon sends memory and query text to the configured endpoint, so use a trusted HTTPS service for remote deployments. Endpoint input rejects credentials, query strings, and fragments, and the status action cannot select an arbitrary per-call destination.
Runtime projection remains a complete latest-snapshot replacement, preserving resume, fork, compaction, deletion, and context-trimming behavior. Provider batch writes are optional, so existing Providers retain their current per-entry remember fallback. Update dsh-mnemon, restart each DSH profile that uses it, and reopen the Memory System surface. Rollback to 0.3.1 requires no reverse migration.
Verification
- The complete TypeScript and Vitest chain passes with 485 tests; one Windows-only smoke test is skipped on the local non-Windows run.
- The deterministic double build verifies 103 generated files with identical hashes.
- An isolated real Headless profile activates with 35 total tools and five representative Mnemon tools exposed to the model request.
- The packed package contains 110 files and 1,673,026 unpacked bytes, below the enforced 1,680,000-byte ceiling; all 10 Node-compatible public entries import successfully, and publint strict plus the attw ESM profile pass.
- The official Mnemon v0.2.3 Native CLI round-trip preserves dense archived source entries, while an official Mnemon v0.2.5 status integration confirms that the saved endpoint overrides a conflicting inherited value and reports the effective embedding model.
git diff --checkpasses for the release changes.
See the v0.3.1 release notes for the previous Web UI patch and the v0.3.0 release notes for the composable-memory architecture and frozen benchmark record.