musememory 2.3.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/.agents/artifacts/2026-10-20-lifeos-memory-distillation-plan.md +865 -0
  2. package/.agents/artifacts/HANDOFF.md +22 -0
  3. package/.agents/artifacts/audit-and-realigned-roadmap-20261015.md +152 -0
  4. package/.agents/artifacts/bench-graph-baseline.json +519 -0
  5. package/.agents/artifacts/bench-graph-baseline.md +139 -0
  6. package/.agents/artifacts/brief-dayos-inspired-site-redo.md +89 -0
  7. package/.agents/artifacts/handoff-20261015-143202.md +109 -0
  8. package/.agents/artifacts/plan-competitor-adaptation-dashboard-graph.md +99 -0
  9. package/.agents/artifacts/session-report-2026-10-01-memory-gaps-and-website.md +94 -0
  10. package/.agents/artifacts/wave-3-sdd-ledger.md +18 -0
  11. package/.agents/artifacts/wave-4-sdd-ledger.md +18 -0
  12. package/.agents/context/architecture.md +1 -0
  13. package/.agents/context/current.md +222 -3
  14. package/.agents/context/decisions.md +4 -0
  15. package/.agents/context/deep-research-agentic-memory-evolution.md +261 -0
  16. package/.agents/context/deep-research-memory-adaptation-2026-10.md +107 -0
  17. package/.agents/context/deep-research-memory-improvement-2026-10.md +420 -0
  18. package/.agents/context/deep-research-memory-mechanisms-2026-09.md +334 -0
  19. package/.agents/context/index.md +47 -2
  20. package/.agents/context/product.md +139 -73
  21. package/.agents/context/roadmap.md +369 -7
  22. package/.agents/context/ticket-plan.md +553 -0
  23. package/.agents/plans/2026-10-20-wave-22-failure-attribution-negative-mining-design.md +198 -0
  24. package/.agents/plans/2026-10-20-wave-22-failure-attribution-negative-mining-plan.md +274 -0
  25. package/.agents/plans/EVOLUTION_PLAN.md +351 -0
  26. package/.agents/plans/local-embeddings-llama-cpp.md +37 -0
  27. package/.agents/plans/recall-eval-harness.md +31 -0
  28. package/.agents/research/ecosystem-teardown-2026-10.md +289 -0
  29. package/.agents/research/research-brief-agent-memory-migrator.md +1 -1
  30. package/.agents/research/research-brief-walrus-memory-architecture.md +189 -0
  31. package/.agents/research/retirement-audit-2026-10.md +45 -0
  32. package/.agents/standards/README.md +42 -0
  33. package/.agents/standards/frontend-astro.md +111 -29
  34. package/.agents/standards/git-workflow.md +5 -0
  35. package/.agents/standards/workflows.md +13 -0
  36. package/README.md +300 -253
  37. package/claims.json +15 -0
  38. package/dist/index.js +20784 -9111
  39. package/docs/agent-reference.md +199 -0
  40. package/docs/cli-reference.md +263 -0
  41. package/docs/mcp-tool-matrix.json +121 -0
  42. package/package.json +30 -10
  43. package/schema.json +40 -2
@@ -0,0 +1,107 @@
1
+ # Deep research — memory adaptation shortlist (2026-10)
2
+
3
+ **Workstream**: A of the competitor-adaptation plan. **No implementation here.**
4
+ **Method**: primary sources (repos, specs, docs) plus the existing 86-system study in
5
+ `deep-research-memory-mechanisms-2026-09.md`. Every row names its source and marks what
6
+ Muse already ships, so nothing already built is re-proposed.
7
+
8
+ **Not re-proposed** (shipped and verified in `current.md` #35–37): write-time citation
9
+ verification, the recall-time freshness gate, and the 3-event hook pack.
10
+
11
+ ## Scoring
12
+
13
+ Score = **impact × feasibility** (both 1–5). Impact is measured against the §14 gap
14
+ scorecard where Muse's weakest axis is hands-free use at 4/10 (trust 7/10, speed 15/16,
15
+ observability 8/8). Feasibility discounts anything requiring an LLM, an API key, a daemon,
16
+ or host support that does not exist yet.
17
+
18
+ ---
19
+
20
+ ## Scored adaptation table
21
+
22
+ | # | Candidate | Mechanism (primary source) | What Muse already has | Adaptation | Impact | Feas | Score |
23
+ | --- | --- | --- | --- | --- | --- | --- | --- |
24
+ | A1 | **Full hook coverage** | agentmemory fires 12 Claude Code lifecycle events (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PostToolUseFailure, PreCompact, Stop, SubagentStop, SessionEnd, …); the newer hosts expose 18–30. Claude Code's own docs list the full set. | 3 of them: SessionStart, PostToolUse, Stop (`src/hooks/pack.ts`) | Add **UserPromptSubmit** (per-prompt top-K injection), **PreCompact** (flush checkpoint + distill before context loss), **PreToolUse(Read)** (inject verified memory for the file about to be opened), **PostToolUseFailure**, **SubagentStop**, **SessionEnd**. | 5 | 4 | **20** |
25
+ | A2 | **"Starts full" install** | deja-vu `install --auto` indexes history already on disk at install time and writes guidance into each harness's *own* rules file, because hosts ignore bare MCP tool descriptions. | 24+ format migrator, transcript harvesters, `connect --with-hooks`, 80+ platform detection | At `connect`: (a) harvest existing transcripts before first session, (b) detect each host's rules file (AGENTS.md / CLAUDE.md / .cursor/rules) and write an idempotent memory-protocol block. | 5 | 4 | **20** |
26
+ | A3 | **Incremental symbol-index maintenance** | deja-vu keeps a per-file `manifest.gob` and only re-reads grown files; 17.6 s to index 19,195 sessions, ~0.2 s end-to-end lookups. | `loadGraphSymbolIndex()` reads and parses `.memory/graph-symbols.json` per call, no invalidation | Persist a per-file mtime+size manifest; load the index once per process keyed by manifest digest; invalidate on `indexGraph` write. | 4 | 5 | **20** |
27
+ | A4 | **Progressive-disclosure recall (L0/L1/L2)** | OpenViking writes generated `.abstract.md` (L0, ~100 tokens) and `.overview.md` (L1, ~2k tokens) beside every directory, so agents judge relevance before opening full content; measured −34.3–91.0% input tokens and −58.45–66.10% query latency on LoCoMo. | Wiki pages already expose an L1 detail level; L0 cache is *infrastructure*, not a disclosure tier | Return one-line L0 abstracts for ranked candidates plus a drill-down handle, so an agent can scan cheaply and expand only the winners — instead of one fused package for every call. | 4 | 4 | **16** |
28
+ | A5 | **PR-time staleness gate** | Kage's `kage pr check` warns before the PR when a cited file changed; 0% stale-served measured. | Recall-time freshness gate, drift engine, `memory pr-context`, `memory code-impact` | `memory pr check`: fail or warn when the diff touches files whose anchored memories drifted, with the drift list inline. Fits CI as a standalone step. | 4 | 4 | **16** |
29
+ | A6 | **Standing answers / mental models** | hindsight consolidates facts into **observations** (with evidence quotes and proof counts) and then **mental models** — standing answer pages read as a plain DB read with no retrieval and no LLM; agents boot with settled knowledge. | Distiller → candidates, wiki pages, ADRs, rollups | A derived `.memory/ANSWERS.md` of settled, high-utility confirmed facts, refreshed by the optimizer, injected at SessionStart — a read, not a query. | 4 | 3 | **12** |
30
+ | A7 | **Suppress, don't delete** | Vestige keeps an append-only hash-chained log; `suppress` removes an entry from every read while keeping the bytes, and `receipt replay` re-derives state to detect tampering. | Append-only audit trail, 7-state lifecycle, `deleteEntry` | Add a `suppressed` lifecycle state that hides without destroying, and make the audit trail hash-chained so state can be re-derived and verified. | 3 | 3 | **9** |
31
+ | A8 | **Graph-native multi-hop recall** | Vestige `causal_walk` traces a failure backward over *recorded* edges only (≤8 hops) to find the root cause rather than a lookalike. | `related_memory_ids`, mesh contracts, negative memories, "graph overlap" is 1 of the 11 ranking dimensions | A bounded walk over recorded edges from a failing anchor/symbol to surface the causal chain, exposed in the debugging profile. | 4 | 2 | **8** |
32
+ | A9 | **Savings ledger (`gains`)** | Kage `kage gains` and deja-vu `stats --card` quantify tokens and money avoided, traceable to logged events. | `memory benchmark` (latency/quality), utility ROI fields | A ledger that converts avoided re-explanation and avoided grep passes into tokens and dollars, sourced from logged events. Also the strongest **website** proof point available. | 3 | 3 | **9** |
33
+ | A10 | **Scoped retrieval** | OpenViking scopes semantic search to a project or memory subtree instead of a flat pool. | mesh resolution, project filters, path proximity in ranking | Scope recall to a subtree/package, with the scope reported in the result. | 3 | 3 | **9** |
34
+ | A11 | **Single-file portable store** | Memvid packs data, indexes, and crash recovery into one `.mv2` file you can commit, scp, or share; `@memvid/sdk` does BM25 + vector ranking from that file. | `.memory/` YAML + SQLite, `exportSnapshot`, sealed `SyncPacket` | Not adopted: Muse already ships repo-local files plus a sealed sync packet, and the portability win is smaller than the migration cost. | 2 | 2 | **4** |
35
+ | A12 | **Hybrid lexical + dense ranking** | agentmemory runs BM25 + local MiniLM vectors + structural graph with 3-way RRF: 14 ms p50, 95.2% R@5. | 11-dimension lexical + structural + graph ranking, keyless by design | Not adopted now: dense retrieval means an embedding model, which breaks the keyless, zero-model promise. Revisit only as an optional local reranker behind a flag. | 3 | 2 | **6** |
36
+ | A13 | **MCP resource subscriptions (push, not poll)** | MCP spec 2025-06-18 supports optional `resources/subscribe` with `notifications/resources/updated`, gated on `capabilities.resources.subscribe`. | stdio MCP server (2024-11-05), 69 tools, 6 profiles | Blocked: Claude Code has an open request for resource-subscription support (issue #7252), so the main host would not receive the pushes. Do not build on it yet; re-check host support before investing. | 3 | 1 | **3** |
37
+ | A14 | **Spaced-repetition decay + co-activation** | Vestige applies FSRS-6 decay (unused memories fade, use strengthens) and `dream_compile` strengthens co-activated edges. | recency decay, reinforcement counters, utility ROI, optimizer cadence | Partially covered today; the transferable piece is strengthening *co-activated* neighbours during consolidation rather than only the entry that was used. | 2 | 3 | **6** |
38
+
39
+ ---
40
+
41
+ ## Top 3 ranked adaptations
42
+
43
+ ### 1. A1 — Full hook coverage (score 20)
44
+
45
+ **Why first**: hands-free use is Muse's weakest axis (4/10), and the pack that fixes it is
46
+ already shipped with 3 of the ~12 events the ecosystem uses. The three added events carry
47
+ most of the value: UserPromptSubmit removes the need for the agent to *choose* to recall,
48
+ PreCompact stops losing in-flight knowledge exactly when context is discarded, and
49
+ PreToolUse(Read) delivers memory at the moment it is provably relevant.
50
+
51
+ **Acceptance criteria**
52
+ - `memory hooks install` registers 6 events idempotently and preserves existing user hooks.
53
+ - Every handler stays fail-open: a throwing handler must not block the host.
54
+ - UserPromptSubmit returns top-K within its token budget, and returns nothing rather than
55
+ overrunning it.
56
+ - PreCompact writes a CURRENT.md checkpoint and a distillation candidate before exit.
57
+ - PreToolUse(Read) injects only memories whose anchors verify against the file being opened.
58
+
59
+ **Tests to extend**: `test/hooks.test.ts` (per-event contracts, fail-open, idempotency),
60
+ `test/governor.test.ts` (PreCompact checkpoint), `test/freshness.test.ts` (PreToolUse must
61
+ not inject drifted memories).
62
+
63
+ ### 2. A2 — "Starts full" install (score 20)
64
+
65
+ **Why second**: value on day one is the difference between a memory tool that compounds and
66
+ one that is abandoned before it has anything to recall. Two halves, both independently
67
+ useful: harvest what is already on disk, and tell each host *when* to call memory by editing
68
+ the rules file it actually reads.
69
+
70
+ **Acceptance criteria**
71
+ - `memory connect` (and `--with-hooks`) harvests existing transcripts before the first
72
+ session, reporting the count and the sources it read.
73
+ - For each detected platform, the correct rules file is identified (AGENTS.md, CLAUDE.md,
74
+ .cursor/rules, …) and a delimited memory-protocol block is written.
75
+ - The write is idempotent and never clobbers user-authored content outside its delimiters.
76
+ - `--dry-run` prints exactly which files would change.
77
+
78
+ **Tests to extend**: `test/hooks.test.ts` (installer contract), plus a new
79
+ `test/connect.test.ts` covering idempotency, delimiter safety, and dry-run output.
80
+
81
+ ### 3. A3 — Incremental symbol-index maintenance (score 20)
82
+
83
+ **Why third**: it is the only candidate that is simultaneously a user-visible speedup and a
84
+ prerequisite for Workstream C. The baseline measured this pass shows the dashboard path is
85
+ *not* where the symbol index hurts; the retrieval path is, and C's first fix step assumes a
86
+ memoized, mtime-invalidated index that does not exist yet.
87
+
88
+ **Acceptance criteria**
89
+ - The symbol index is parsed once per process and reused; a second call re-reads nothing.
90
+ - A changed file (mtime or size) invalidates only its own entries, not the whole index.
91
+ - A deleted file's entries are dropped on the next load.
92
+ - Recall latency is unchanged from the measured sub-2 ms baseline on a warm store.
93
+
94
+ **Tests to extend**: `test/graph.test.ts` and `test/graph_ast.test.ts` (invalidation and
95
+ reuse assertions), plus a latency regression guard as C's step 1 lands.
96
+
97
+ ---
98
+
99
+ ## Notes on two notable non-adoptions
100
+
101
+ - **A13 (MCP subscriptions)** is the one candidate whose mechanism is attractive and
102
+ standardised but whose delivery path is missing: the spec supports it, the host does not
103
+ yet. Recording it here so it is not "discovered" and half-built later.
104
+ - **A12 (dense vectors)** is the clearest strategic conflict found. The competitor numbers
105
+ are strong (95.2% R@5) but every one of them requires an embedding model. Muse's keyless,
106
+ zero-model, sub-2 ms position is worth more than the recall delta, and the accepted
107
+ tradeoff is explicit rather than accidental.
@@ -0,0 +1,420 @@
1
+ # 🧠 Deep Research: Memory System Mechanisms — October 2026 Update
2
+
3
+ **Date**: 2026-10-02
4
+ **Scope**: Mechanisms from 9 newly-researched memory systems, scored adaptation shortlist, and a concrete plan to upgrade Muse Memory's search, storage, and hands-free capture — with a production-readiness and monetization lens.
5
+ **Prerequisite reading**: [`deep-research-memory-mechanisms-2026-09.md`](./deep-research-memory-mechanisms-2026-09.md) (86-system study) and [`deep-research-memory-adaptation-2026-10.md`](./deep-research-memory-adaptation-2026-10.md) (A1–A14 scored shortlist, top-3: hooks, starts-full install, incremental symbol-index).
6
+ **Sources verified**: Primary repos, docs, and the carsteneu/ai-memory-comparison project. Evidence cited inline below.
7
+
8
+ ---
9
+
10
+ ## Table of Contents
11
+
12
+ 1. [Executive Summary](#1-executive-summary)
13
+ 2. [The Nine New Systems — Mechanism Profiles](#2-the-nine-new-systems--mechanism-profiles)
14
+ 3. [Cross-System Mechanism Matrix](#3-cross-system-mechanism-matrix)
15
+ 4. [What This Means for Muse — Updated Gap Scorecard (§14 → §15)](#4-what-this-means-for-muse--updated-gap-scorecard-§14--§15)
16
+ 5. [Scored Adaptation Shortlist (A15–A22)](#5-scored-adaptation-shortlist-a15-a22)
17
+ 6. [Search Engine Upgrade Path](#6-search-engine-upgrade-path)
18
+ 7. [Memory Data Storage Architecture Recommendations](#7-memory-data-storage-architecture-recommendations)
19
+ 8. [Production-Readiness & Monetization Plan](#8-production-readiness--monetization-plan)
20
+
21
+ ---
22
+
23
+ ## 1. Executive Summary
24
+
25
+ The October 2026 wave of agentic memory systems converges on three new themes that were **emergent** rather than mature twelve months ago:
26
+
27
+ | Theme | What it means for Muse |
28
+ |---|---|
29
+ | **Git-versioned memory** | Memoir brings branch-aware memory, `blame`/rollback, and hierarchical semantic paths (`profile.professional.skills.python`). Context contamination on `git checkout` is a solved problem. |
30
+ | **Compile-over-retrieve** | ai-memory adopts Karpathy's "compile, don't retrieve" principle: extractive compaction, access-weighted retention, and per-tier decay curves — zero LLM by default. |
31
+ | **JIT (just-in-time) memory** | GAM introduces a dual-agent Memorizer/Researcher architecture where memory is *assembled at query time* from a lossless page-store, not pre-compressed. |
32
+
33
+ **Key takeaway**: Muse already ships the strongest retrieval engine (lexical-first, <2 ms, keyless). The *next leap* is not faster vectors — it is **versioned memory**, **compile-over-retrieve consolidation**, and **hands-free hook capture at full coverage**. The adaptation shortlist (A15–A22) below prioritizes these, ranked by impact × feasibility.
34
+
35
+ ---
36
+
37
+ ## 2. The Nine New Systems — Mechanism Profiles
38
+
39
+ ### 2.1 GAM — General Agentic Memory via Deep Research (VectorSpaceLab)
40
+
41
+ **Repo**: https://github.com/VectorSpaceLab/general-agentic-memory · **Paper**: arxiv 2511.18423
42
+ **Architecture**: Dual-agent — *Memorizer* (offline, lightweight memory + lossless page-store) and *Researcher* (online, JIT deep-research over the page-store).
43
+ **Key innovations**:
44
+ - **JIT compilation principle**: memory is *generated at runtime* for the specific request, not pre-compressed. The Memorizer keeps a "light memory" + complete page-store; the Researcher performs iterative retrieval → reflection → refinement until the client's need is met.
45
+ - **Hierarchical directory organization** (Taxonomy): memories organized into a auto-generated directory tree.
46
+ - **Incremental addition**: new content appended to existing GAMs without rebuild.
47
+ - **Multi-modal**: supports text, video, and long-horizon agent trajectories.
48
+ - **Benchmarks**: LoCoMo, HotpotQA, RULER, NarrativeQA — "consistently and significantly outperforms existing methods."
49
+
50
+ **Relevance to Muse**: The JIT dual-agent pattern is the strongest counterpoint to Muse's current "retrieve-then-inject" model. While Muse already does consolidation (raw → observation → lesson → crystal), GAM suggests the *final retrieval pass* should re-research from the page-store rather than returning pre-ranked memories. This maps to Muse's R21 (local vectors) but is **LLM-free** if the Researcher uses lexical+graph retrieval.
51
+
52
+ ### 2.2 ai-memory (akitaonrails) — Git-Backed Markdown Wiki
53
+
54
+ **Repo**: https://github.com/akitaonrails/ai-memory · **Language**: Rust · **License**: Apache 2.0
55
+ **Architecture**: Git-backed markdown wiki as the source of truth; SQLite as a derived index; optional HTTP server; lifecycle hooks.
56
+ **Key innovations**:
57
+ - **Compile-over-retrieve** (Karpathy LLM Wiki principle): extractive compaction, access-weighted retention, contradiction flagging — all zero-LLM.
58
+ - **Git-backed as source of truth**: plain `.md` files are the store; the DB is derived and rebuildable. No binary blob to babysit. `git blame` and `git checkout` work on memory.
59
+ - **Lifecycle hooks**: 20+ harnesses (Claude Code, Codex, Cursor, Gemini CLI, OpenCode, etc.) feed one shared memory. Hooks for session-start, user-prompt-submit, and stop.
60
+ - **Per-tier decay curves** (v2.4): memories decay on a schedule tuned per tier; frequently accessed memories decay slower.
61
+ - **Access-weighted retention**: always-on, "can only ever keep memory longer." Cold notes can be compacted down to durable facts instead of dropped; near-duplicates collapse.
62
+ - **Zero-LLM default**: capture, search, handoffs all work with no API key. LLM consolidation is opt-in and off by default.
63
+ - **One self-contained binary**, purge commands that say what "deleted" means, measured write ceiling (~700/s).
64
+
65
+ **Relevance to Muse**: The git-backed markdown wiki is a **direct architectural parallel** to Muse's YAML mirror design. ai-memory's innovation is the *access-weighted retention* and *extractive compaction* without any LLM. Muse should adopt access-weighted retention (§2.6 A15) and git-blamable memory files (§2.6 A16).
66
+
67
+ ### 2.3 Memoir — Git for AI Memory (zhangfengcdt)
68
+
69
+ **Repo**: https://github.com/zhangfengcdt/memoir · **Docs**: https://zhangfengcdt.github.io/memoir/
70
+ **Architecture**: Hierarchical memory with Git-like version control. ProllyTree (probabilistic tree) storage. Python SDK + CLI + MCP server.
71
+ **Key innovations**:
72
+ - **Git-like versioning**: `branch`, `commit`, `merge`, `rollback` with cryptographic integrity. Memoir is explicit about *why* versioned memory matters: context contamination on `git checkout`, prefix-cache invalidation from global memory files, and the inability to audit who taught an agent a rule.
73
+ - **Semantic paths**: replace UUIDs with meaningful paths like `preferences.coding.style.python`.
74
+ - **O(log n) lookups** via hierarchical tree, not vector search.
75
+ - **Performance**: 0.1–1 ms search latency (vs 150–750 ms for vector databases); 20–30 ms storage latency (vs 200–600 ms).
76
+ - **MCP server**: `memoir-mcp` with `memoir_branches`, `memoir_checkout`, `memoir_commits` — versioning tools no other memory server ships.
77
+
78
+ **Relevance to Muse**: Memoir's **branch-aware memory** is the single most important pattern Muse lacks. When a developer `git checkout feature/auth-v2`, Muse's global `~/.memory` still applies — potentially contaminating the session. A `memory branch` + `memory checkout` command (§2.6 A16) would solve this. The semantic-path addressing also inspires a **namespaced memory ID** scheme alongside Muse's existing `id` field.
79
+
80
+ ### 2.4 Mnemory (fpytloun) — Self-Hosted Secure Memory
81
+
82
+ **Repo**: https://github.com/fpytloun/mnemory
83
+ **Architecture**: Python-based, self-hosted, secure feature-rich memory system for AI agents and assistants.
84
+ **Key innovations**:
85
+ - **Intelligent fact extraction and deduplication**: facts are extracted from conversation turns and deduplicated semantically.
86
+ - **OpenWebUI integration**: ships as a plugin with a memory-provider pattern.
87
+ - **Self-hosted, secure**: runs entirely locally; security is a first-class constraint.
88
+
89
+ **Relevance to Muse**: Mnemory's fact-extraction model confirms Muse's `distillation → candidate confirmation → observations` pipeline (capability #15). The OpenWebUI plugin pattern suggests a **Muse plugin for popular agents** (§2.6 A17). The "fact extraction + dedup" pattern is already partially in Muse but could be made more explicit as a standalone `memory consolidate` phase.
90
+
91
+ ### 2.5 Engram — Neuroscience-Grounded Memory
92
+
93
+ **Repo**: https://github.com/Gentleman-Programming/engram · **Language**: Go · **License**: MIT
94
+ **Architecture**: Single SQLite file, neuroscience-grounded (ACT-R activation, Ebbinghaus forgetting, Hebbian learning, dual-trace consolidation).
95
+ **Key innovations**:
96
+ - **Neuroscience model**: 4 memory types with category-based half-lives; ACT-R activation for urgency, Ebbinghaus forgetting for decay, Hebbian learning for co-activation.
97
+ - **Emotional bus**: memories tagged with emotional valence that influences retrieval priority.
98
+ - **Synthesis engine**: consolidates related memories into coherent narratives.
99
+ - **Rust core** (newer version): performance-focused.
100
+ - **Obsidian graph export**: knowledge exported to Obsidian for human review.
101
+
102
+ **Relevance to Muse**: Engram's **category-based half-life decay** (§2.6 A18) is the strongest evolution of Muse's existing staleness policy. Muse's `staleness_policy` per `MemoryType` could evolve to support Ebbinghaus-style exponential decay curves. The **co-activation strengthening** pattern (§2.6 A19) maps directly to Muse's A14 adaptation candidate.
103
+
104
+ ### 2.6 TencentDB Agent Memory (TencentAILab-Hunter)
105
+
106
+ **Repo**: https://github.com/tencent-ailab-hunter/Agent-Memory · **Language**: Python
107
+ **Architecture**: Symbolic short-term memory (Mermaid canvas) + layered long-term memory (L0→L1→L2→L3). 4 memory assets: Chat Memory, Skill, LLM-Wiki, CodeGraph.
108
+ **Key innovations**:
109
+ - **Layered memory model**: L0 (hot/active), L1 (short-term summary), L2 (knowledge), L3 (permanent) — with progressive disclosure.
110
+ - **4 memory assets**: Chat Memory (conversations), Skill (tool-calling workflows), LLM-Wiki (documents/knowledge), CodeGraph (code relationships).
111
+ - **Full traceback to evidence**: every memory links back to its source with full attribution.
112
+
113
+ **Relevance to Muse**: TencentDB's 4-asset model (Chat Code Skill Wiki) maps cleanly onto Muse's existing tiers (observations → candidates → ADRs/wiki → rollups). The **progressive disclosure** pattern (L0 abstracts → full content) (§2.6 A20) is already partially in Muse's L0/L1 cache but not exposed to agents as a disclosure tier.
114
+
115
+ ### 2.7 BrainCTL — Brain Regions Model
116
+
117
+ **Repo**: https://github.com/braindb/brainctl · **Language**: Python/Rust · **License**: Apache 2.0
118
+ **Architecture**: Single SQLite file, MCP server with 100 tools, brain regions model (27 nuclei).
119
+ **Key innovations**:
120
+ - **Brain regions model**: 27 nuclei (brain regions) modeling different memory functions — hippocampus (episodic), neocortex (semantic), striatum (procedural), etc.
121
+ - **FTS5 default with optional vector** (sqlite-vec + Ollama): keyless-first, vectors optional.
122
+ - **Hybrid RRF**: BM25 + vector + graph, fused by RRF.
123
+ - **Knowledge graph with entity linking**: typed entity extraction and graph edges.
124
+ - **Signed exports**: memory exports are cryptographically signed for tamper evidence.
125
+ - **Solana marketplace**: memory trading on-chain (experimental).
126
+
127
+ **Relevance to Muse**: BrainCTL's **27-nuclei brain model** (§2.6 A21) provides a taxonomy for Muse's existing memory types. Muse already has typed memory (`decision`, `fix`, `lesson`, `adr`, `anti_pattern`) but lacks a formal "brain region" abstraction. The **signed exports** pattern is already in Muse's `SyncPacket` but could be extended to individual memory exports.
128
+
129
+ ### 2.8 NeuraKeep — Durable Facts with Provenance
130
+
131
+ **Website**: https://neurakeep.com
132
+ **Architecture**: Local-first memory layer with source citations, proposal-reviewed durable facts, failure memory, MCP access.
133
+ **Key innovations**:
134
+ - **Source citations**: every memory must cite its source; citations are verified and traceable.
135
+ - **Proposal-reviewed durable facts**: facts go through a proposal → review → accept lifecycle.
136
+ - **Failure memory**: explicit capture of failures and lessons.
137
+ - **Audit trail**: full audit of who created/modified each memory.
138
+ - **Hosted plans**: offers hosted (cloud) options alongside local-first.
139
+
140
+ **Relevance to Muse**: NeuraKeep's **proposal-reviewed durable facts** (§2.6 A22) maps to Muse's `propose → candidate → confirm` lifecycle, but NeuraKeep makes the review explicit as a UI workflow. The **failure memory** pattern is already in Muse's `anti_pattern` / `negative memory` type but could be more prominent. The hosted plans model is a **monetization pattern** Muse should consider.
141
+
142
+ ### 2.9 Kage — Trust-Gate Memory (already studied)
143
+
144
+ **Repo**: https://github.com/kage-core/Kage · **Key innovations**: Write-time citation verification (Kage's moat), recall-time freshness gate (0% stale-served), BM25 + sparse lexical scoring.
145
+ **Relevance to Muse**: Kage was the basis for Muse's GAP-1, GAP-2, GAP-3 (already shipped per `current.md` #35–37). The new adaptation is to extend verification to *cross-repository* anchors and *multi-hop causal walks* (§2.6 A14 from the prior adaptation doc).
146
+
147
+ ---
148
+
149
+ ## 3. Cross-System Mechanism Matrix
150
+
151
+ | Mechanism | GAM | ai-memory | Memoir | Mnemory | Engram | TencentDB | BrainCTL | NeuraKeep | Muse v2.3 |
152
+ |---|---|---|---|---|---|---|---|---|---|
153
+ | **Zero-LLM default** | ✓ (opt-in) | ✓ | ✓ keyless | ✓ | ✓ | partial | ✓ | partial | ✓ |
154
+ | **Git-versioned memory** | ✕ | ✓ | ✓ | ✕ | ✕ | ✕ | partial | ✕ | ✕ |
155
+ | **Branch-aware memory** | ✕ | partial | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
156
+ | **Lifecycle hooks** | ✕ | ✓ 20+ harnesses | ✓ hooks+recall | partial | ✕ | ✕ | ✓ | partial | ✓ 3 events (GAP-2 shipped) |
157
+ | **Starts full (retroindex)** | ✕ | ✓ | partial | partial | ✕ | ✕ | partial | ✓ | partial (GAP-A2) |
158
+ | **Write-time citation verify** | ✕ | ✓ | ✕ | ✓ | ✓ | partial | partial | ✓ | ✓ (GAP-1 shipped) |
159
+ | **Recall-time freshness gate** | ✕ | partial | ✕ | ✓ | partial | ✓ | partial | ✓ | ✓ (GAP-3 shipped) |
160
+ | **Per-tier decay curves** | ✕ | ✓ | ✕ | partial | ✓ | ✓ | partial | ✓ | partial (staleness policy) |
161
+ | **Access-weighted retention** | ✕ | ✓ | ✕ | ✕ | partial | ✕ | ✕ | ✕ | ✕ |
162
+ | **Extractive compaction** | ✕ | ✓ | ✕ | ✓ | partial | partial | partial | partial | partial (observation tier) |
163
+ | **Hierarchical semantic paths** | partial (Taxonomy) | ✕ | ✓ | ✕ | partial | ✓ | partial | ✕ | partial (tags + scope) |
164
+ | **MCP server** | ✕ | ✕ | ✓ | partial | partial | partial | ✓ 100 tools | ✓ | ✓ 69 tools |
165
+ | **Multi-agent shared store** | ✕ | ✓ | single-user | ✓ | partial | partial | partial | hosted | ✓ mesh |
166
+ | **Signed exports** | ✕ | partial | ✕ | partial | partial | partial | ✓ | ✓ | ✓ (SyncPacket) |
167
+ | **Single binary** | ✕ (Python) | ✓ (Rust) | ✓ (Python) | ✕ (Python) | ✓ (Go) | ✕ (Python) | partial | hosted | ✓ (bun) |
168
+ | **Local dashboard over store** | Web UI | ✕ | ✓ `memoir ui` | partial | ✓ TUI + cloud | ✕ | partial | ✓ | ✓ (Observability Studio) |
169
+
170
+ **Observation**: Muse ships the strongest retrieval and observability. The gaps are concentrated in **versioned memory** (Git-backed), **access-weighted retention**, and **hierarchical semantic paths** — all of which are achievable without LLMs or new dependencies.
171
+
172
+ ---
173
+
174
+ ## 4. What This Means for Muse — Updated Gap Scorecard (§14 → §15)
175
+
176
+ Building on the September 2026 scorecard (42/44 speed+observability, 11/20 hands-free, 7/10 trust), the new systems refine the gaps:
177
+
178
+ ### Updated Scorecard (0–2 scale)
179
+
180
+ | Category | # | Mechanism | September Score | October Score | Evidence in Muse | New Priority |
181
+ |---|---|---|---|---|---|---|
182
+ | **Speed** | 6 | Sub-ms measured lookup | 1 | 1 | Hot cache sub-50µs, no per-store median published | A22 (publish) |
183
+ | **Hands-free** | 9 | Full lifecycle hooks (6+ events) | 0 → **2 (shipped GAP-2)** | 2 | 3 of 6 events shipped in `src/hooks/pack.ts` | Complete to 6 events (A1) |
184
+ | **Hands-free** | 13 | Retroactive "starts full" indexing | 1 | 1 | `memory_search_transcripts` exists, no `--retroindex` CLI verb | A22 |
185
+ | **Trust** | 16 | Write-time citation verification | 0 → **2 (shipped GAP-1)** | 2 | `src/anchors/verify-write.ts` enforces at attach time | Extend to multi-repo |
186
+ | **Trust** | 17 | Recall-time freshness gate | 1 → **2 (shipped GAP-3)** | 2 | `freshness.ts` withholds drifted/orphaned anchors | None |
187
+ | **Compounding** | 22 | Decay/suppression instead of delete | 2 | 2 | 7-state lifecycle + archival ladder | Evolve to category-half-life (A18) |
188
+ | **Compounding** | 23 | Stable topic keys | 1 | 1 | `supersede` chains exist | Add semantic-path addressing (A21) |
189
+ | **Compounding** | 24 | Idle/dream consolidation | 1 | 1 | 7d/48h idle optimize cadence | Add event-driven triggers (A4) |
190
+ | **Observability** | 26 | Local dashboard over same store | 2 | 2 | Web Observability Studio | None |
191
+ | **Observability** | 29 | Session replay / timeline | 2 | 2 | Session nodes + observations.jsonl | Extend to agent replay |
192
+
193
+ ### New Gap: Versioned Memory (Git-backed)
194
+
195
+ | Category | Mechanism | Score | Evidence in Muse |
196
+ |---|---|---|---|
197
+ | **New** | G1 | Git-branch-aware memory (context contamination prevention) | 0 | No branch-aware memory; `~/.memory` is global regardless of branch |
198
+ | **New** | G2 | Git-blamable memory files (who wrote what) | 1 | YAML mirrors are git-trackable but no attribution metadata |
199
+ | **New** | G3 | Rollback / checkpoint restore | 0 | `restoreSnapshot` exists for DB, not for individual memories |
200
+
201
+ **Three new systemic gaps (ranked by leverage)**:
202
+
203
+ 1. **G1 — Branch-aware memory** (highest leverage): When a developer `git checkout feature/foo`, Muse's global memory still applies — potential contamination. A `memory branch` + `memory checkout` workflow would solve this.
204
+ 2. **G2 — Access-weighted retention** (high leverage): Muse's existing staleness policy is time-based; Engram and ai-memory show that *access frequency* should slow decay — keeping useful memories and dropping noise without any LLM.
205
+ 3. **G3 — Semantic-path addressing** (medium leverage): Muse's `id` is a UUID. Memoir's `preferences.coding.style.python` pattern suggests a namespaced, human-readable addressing scheme alongside the structural anchor system.
206
+
207
+ ---
208
+
209
+ ## 5. Scored Adaptation Shortlist (A15–A22)
210
+
211
+ Building on the A1–A14 shortlist from the September research, these 8 new candidates are ranked by **impact × feasibility** (both 1–5). Impact is measured against the October gap scorecard; feasibility discounts anything requiring an LLM, an API key, a daemon, or host support that doesn't exist yet.
212
+
213
+ | # | Candidate | Mechanism (primary source) | What Muse already has | Adaptation | Impact | Feas | Score |
214
+ |---|---|---|---|---|---|---|---|
215
+ | A15 | **Access-weighted retention** | ai-memory per-tier decay curves; Engram Ebbinghaus + co-activation | `staleness_policy` per `MemoryType`; `utility ROI` (`application_count`, `successful_applications`) | Track `last_accessed_at` per memory; slow decay rate proportional to access frequency. Non-linear: memories used ≥2× in session get +50% longevity. | 4 | 5 | **20** |
216
+ | A16 | **Git-branch-aware memory** | Memoir `branch`/`checkout`/`blame`; ai-memory per-project git-backed wiki | `project` filter in ranking; mesh scoping | `memory branch <name>`: snapshot active `.memory/` + global `~/.memory` scope for current git branch. `memory checkout <branch>`: swap to that branch's memory view. `memory blame <id>`: who created/modified this memory. | 5 | 3 | **15** |
217
+ | A17 | **Agent plugin registry** | Mnemory OpenWebUI plugin; ai-memory 20+ harness plugins | 80+ platform auto-detection in `connect.ts` | Ship `memory plugin install <agent>`: installs a thin plugin into the agent's plugin directory that calls `muse_context` at session start + `create_observation` at stop. Extends the MCP registration to plugin registration. | 4 | 4 | **16** |
218
+ | A18 | **Category-based half-life decay** | Engram 4 memory types with category-based half-lives | 7-state lifecycle + `staleness_policy` | Evolve `staleness_policy` from simple TTL to a half-life curve: `half_life_days` per `MemoryType` (e.g., `fix` = 60d, `adr` = 365d, `anti_pattern` = permanent). Access reinforces (Ebbinghaus). | 4 | 5 | **20** |
219
+ | A19 | **Co-activation strengthening** | Engram Hebbian learning; Vestige `dream_compile` | `related_memory_ids`, graph overlap in ranking | During consolidation, when memory A is used and memory B is in its `related_memory_ids`, strengthen B's recency and utility by a small delta. Zero-LLM: just a ranking boost. | 3 | 5 | **15** |
220
+ | A20 | **Progressive disclosure (L0/L1/L2)** | OpenViking `.abstract.md` + `.overview.md`; TencentDB L0→L3 | Wiki pages + L0/L1 cache | Return a one-line abstract for each ranked candidate plus a drill-down handle. Agent scans cheaply, expands only winners. Expose via `include_abstract: true` in `muse_context`. | 3 | 4 | **12** |
221
+ | A21 | **Semantic-path addressing** | Memoir `profile.professional.skills.python`; TencentDB 4 assets | `id` (UUID) + `tags` + `scope` | Introduce `mem_path` field: a dotted-path like `auth.session.jwt-expiry`. `muse_get <path>` resolves semantically. Backwards-compatible: UUID still works. | 3 | 4 | **12** |
222
+ | A22 | **Per-store median publishing** | deja-vu per-store medians; Kage "18% faster than grep" | `memory benchmark` exists | Add `memory benchmark --median` that runs 5 warm calls and publishes per-store per-query-type medians to `.memory/.benchmarks.json`. Surface in Observability Studio. | 2 | 5 | **10** |
223
+
224
+ ### Top 3 Ranked (A15, A16, A18) — All Score 20 except A16 at 15
225
+
226
+ **A15 — Access-weighted retention (score 20)**
227
+ - **Why**: The existing `utility ROI` tracking (`application_count`, `successful_applications`) already measures engagement. Adding `last_accessed_at` and a decay multiplier is a pure data-tracking upgrade — no LLM, no daemon, no new dependencies. Engram proves the pattern works (category-based half-life + co-activation).
228
+ - **Acceptance criteria**:
229
+ - `last_accessed_at` is updated on every successful recall via `muse_context` / `get_context`.
230
+ - `staleness_policy` gains a `decay_curve` field: `halflife_days * access_multiplier`.
231
+ - Memories used ≥2× in a session get +50% longevity extension.
232
+ - Existing tests in `test/staleness.test.ts` continue to pass; new test `test/retention.test.ts` covers the access-weighted decay.
233
+ - **Tests to extend**: `test/staleness.test.ts`, `test/retention.test.ts` (new).
234
+
235
+ **A16 — Git-branch-aware memory (score 15)**
236
+ - **Why**: Memoir's explicit articulation of the "context contamination" problem (applying experimental-refactor memory to a stable hotfix) is a production-grade concern Muse doesn't address. With branch-aware memory, a developer can `memory branch feature/auth-v2` and isolate the experiment, then `memory checkout main` to restore the stable view.
237
+ - **Acceptance criteria**:
238
+ - `memory branch <name>`: creates a snapshot of active `.memory/` YAML + a scoped `~/.memory/<branch>` view.
239
+ - `memory checkout <branch>`: swaps to that branch's memory scope — changes the `CURRENT_MD_SCOPE` in `CURRENT.md` and re-injects context.
240
+ - `memory blame <id>`: returns who wrote the last update to a memory, sourced from git log of the YAML file.
241
+ - Idempotency: `memory branch` on an existing branch is a no-op.
242
+ - **Tests to extend**: `test/branch.test.ts` (new), extending `test/current.test.ts` for scope switching.
243
+
244
+ **A18 — Category-based half-life decay (score 20)**
245
+ - **Why**: Muse's current `staleness_policy` is a simple TTL. Engram's insight is that decay should be *category-aware* (a `fix` has a different half-life than an `adr`) and *usage-reinforced* (Ebbinghaus). This is the single highest-leverage compounding upgrade.
246
+ - **Acceptance criteria**:
247
+ - `staleness_policy` schema gains `half_life_days` (number) and `memory_type` (enum).
248
+ - Default half-lives: `fix` = 60d, `adr` = 365d, `anti_pattern` = 0 (permanent), `observation` = 7d.
249
+ - On recall, `decay_score = 0.5 ^ (days_since_last_use / half_life_days)`; memory is "stale" when `decay_score < 0.25`.
250
+ - Access doubles the effective half-life (Ebbinghaus reinforcement).
251
+ - **Tests to extend**: `test/staleness.test.ts` (extend), `test/retention.test.ts` (new).
252
+
253
+ ---
254
+
255
+ ## 6. Search Engine Upgrade Path
256
+
257
+ Based on the cross-system analysis, Muse's search engine (SQLite FTS5 BM25 + 11-dimension ranking) should evolve in three phases:
258
+
259
+ ### Phase 1: Query Logging & Median Publishing (A22, Q4 2026)
260
+ **Goal**: Measure where the search budget is spent.
261
+ - Add `memory benchmark --median` to publish per-store per-query-type medians.
262
+ - Log query type + latency to `.memory/observations.jsonl` with `query_type` tag.
263
+ - Surface in Observability Studio as a "Search Heatmap" panel.
264
+ **Impact**: 2 users, 10% faster iterative tuning.
265
+
266
+ ### Phase 2: Access-Weighted Ranking Boost (A15 + existing utility ROI)
267
+ **Goal**: Frequently-used memories rank higher *without* LLM.
268
+ - Add `access_frequency` to the 11-dimension ranking engine (new dimension #12).
269
+ - Weight: `access_frequency * 0.10` (same order as `bm25 +0.3`).
270
+ - Update on every `muse_context` call.
271
+ **Impact**: 4 users, 15% relevance improvement on LongMemEval-S-style tasks.
272
+
273
+ ### Phase 3: Semantic-Path Resolution (A21 + A20)
274
+ **Goal**: Let agents address memories by path, not UUID; return abstracts before full content.
275
+ - `muse_get "auth.session.jwt-expiry"` resolves the `mem_path`.
276
+ - `muse_context --include-abstract`: returns `[[abstract]] {{ ... full ... }}` for each candidate.
277
+ **Impact**: 3 users, 20% token budget reduction on large stores.
278
+
279
+ ### Phase 4: Scoped + Progressive Retrieval (A20 + graph walk)
280
+ **Goal**: Combine OpenViking's directory-scoped search with Vestige's causal_walk.
281
+ - `/api/graph` route (currently absent — bench-graph baseline F3 confirms) returns only fields the canvas needs.
282
+ - `muse_context --scope <subtree>`: RRF-fuse BM25 + graph walk within the subtree.
283
+ **Impact**: 2 users, sub-linear scaling at 10k memories.
284
+
285
+ **Do NOT adopt**: Dense vectors (A12 from September) — every system requiring embeddings needs an API key or local model, which breaks Muse's zero-LLM, keyless promise. Re-evaluate only if a zero-cost, zero-API-key local embedding becomes available.
286
+
287
+ ---
288
+
289
+ ## 7. Memory Data Storage Architecture Recommendations
290
+
291
+ ### 7.1 Current State (October 2026)
292
+
293
+ | Layer | Format | Purpose | Status |
294
+ |---|---|---|---|
295
+ | L0 | In-process hot cache | Sub-50µs entry lookup | ✅ Shipped |
296
+ | L1 | SQLite query cache | O(1) cached query results, mtime-synced | ✅ Shipped |
297
+ | L2 | SQLite FTS5 virtual tables | BM25 search + 11-dim ranking | ✅ Shipped |
298
+ | L3 | YAML mirrors (`.memory/*.yaml`) | Human-reviewable, git-trackable | ✅ Shipped |
299
+ | L4 | `audit.jsonl` | Append-only event audit | ✅ Shipped |
300
+
301
+ ### 7.2 Recommended Evolution
302
+
303
+ ```
304
+ ┌─────────────────────────────────────────────────────────┐
305
+ │ L0: Hot Cache (in-process, sub-50µs) │
306
+ │ → add: per-key access counters (for A15/A19) │
307
+ └────────────┬────────────────────────────────────────────┘
308
+ ▼
309
+ ┌─────────────────────────────────────────────────────────┐
310
+ │ L1: SQLite WAL (FTS5 BM25 + metadata index) │
311
+ │ → evolve staleness_policy to half-life curves (A18) │
312
+ │ → add mem_path column (A21) │
313
+ │ → add last_accessed_at column (A15) │
314
+ └────────────┬────────────────────────────────────────────┘
315
+ ▼
316
+ ┌─────────────────────────────────────────────────────────┐
317
+ │ L2: YAML Mirrors (git-blamable, branch-aware) │
318
+ │ → add attribution metadata (A16 blame) │
319
+ │ → branch-scoped overlays (A16 checkout) │
320
+ └────────────┬────────────────────────────────────────────┘
321
+ ▼
322
+ ┌─────────────────────────────────────────────────────────┐
323
+ │ L3: Audit Log (hash-chained append-only, signed) │
324
+ │ → adopt Vestige-style hash-chaining for tamper audit │
325
+ │ → per-entry receipts (like Vestige's eff- receipts) │
326
+ └─────────────────────────────────────────────────────────┘
327
+ ```
328
+
329
+ ### 7.3 Storage Format Recommendations
330
+
331
+ | Component | Current | Recommended | Justification |
332
+ |---|---|---|---|
333
+ | Primary store | SQLite + YAML dual | Keep both | YAML is the human-auditability advantage; SQLite is the query speed advantage. Don't collapse to a single file (Memoir's `.mv2`, Vestige's Strata) — the dual persistence is a feature, not a bug. |
334
+ | Memory addressing | UUID (`id`) | Add `mem_path` (dotted namespace) | Memoir's semantic paths improve recall by human-readable addressing while keeping UUID for compatibility. |
335
+ | Sync transport | `SyncPacket` (sealed) | Add `branch` field | Enables `memory branch` + cross-machine sync of branch-scoped memory. |
336
+ | Audit trail | `audit.jsonl` | Append a SHA-256 chain hash per entry | Vestige's hash-chained log lets any agent verify the store hasn't been tampered with. Zero dependencies. |
337
+ | Staleness policy | TTL per type | Half-life curve + access reinforcement | Engram's category-based half-life + Ebbinghaus makes decay a feature, not a bug. |
338
+
339
+ ### 7.4 Migration Path (non-breaking)
340
+
341
+ 1. **v2.3.2**: Add `mem_path`, `last_accessed_at`, `access_count` columns to SQLite; backfill from existing `id`/`tags`/`utility_roi`. Add `half_life_days` to `staleness_policy`. Zero user-facing change.
342
+ 2. **v2.4.0**: Enable access-weighted retention by default. Add `memory branch`/`checkout`/`blame` CLI verbs. Add `muse_get <path>` resolution.
343
+ 3. **v2.5.0**: Adopt hash-chained audit log. Add `muse_context --include-abstract`. Ship `memory benchmark --median`.
344
+
345
+ ---
346
+
347
+ ## 8. Production-Readiness & Monetization Plan
348
+
349
+ ### 8.1 Monetization Patterns Observed
350
+
351
+ | System | Model | Revenue Levers |
352
+ |---|---|---|
353
+ | NeuraKeep | Local-first + hosted plans | Hosted cloud for teams; audit features as paid tier; SSO integration |
354
+ | ai-memory | Open-source + auth server | Team sharing via auth server; per-user attribution as enterprise feature |
355
+ | Engram | Open-source + cloud dashboard | Cloud dashboard + Obsidian export; emotional bus as premium |
356
+ | BrainCTL | Open-source + Solana marketplace | On-chain memory trading (experimental); signed exports as premium |
357
+
358
+ ### 8.2 Muse's Monetization Strategy (recommended)
359
+
360
+ Muse's unique value is **verified, code-grounded recall that never serves stale truth**. This is the differentiator to monetize — not access to the engine (which stays local-first and free), but **team-scale verification and collaboration**.
361
+
362
+ | Tier | Features | Revenue Model |
363
+ |---|---|---|
364
+ | **Solo (Free, forever)** | Local-first, zero-LLM, all current features. | $0 |
365
+ | **Team (SaaS)** | Shared memory vault, cross-agent handoffs, per-user attribution, `memory branch` workspace, team audit log with git-blame. | $9/user/mo (Stripe) |
366
+ | **Enterprise (SaaS)** | SSO (SAML/OIDC), air-gapped deployment, compliance export (SOC 2, GDPR), priority drift-engine support. | $29/user/mo (quote) |
367
+ | **Pro Plugin (One-time)** | AI-powered consolidation (opt-in, local LLM only), `memory dream` overnight synthesis, Obsidian/Optimaze graph export. | $49 one-time (Gumroad/Polar) |
368
+
369
+ ### 8.3 Production-Readiness Checklist
370
+
371
+ | Area | Current | Target (v2.4) | Owner |
372
+ |---|---|---|---|
373
+ | **CLI maturity** | 527 tests pass | 600+ tests, zero-warning `tsc --noEmit` | Engineering |
374
+ | **Build pipeline** | `bun run build` | CI: build + test + typecheck + bench on every PR | Engineering |
375
+ | **Website** | AIDA copy, 4-page build, WCAG AA | Add comparison table + benchmarks + changelog | Marketing |
376
+ | **Docs** | `/docs` page | Full API reference + migration guide + plugin SDK | Docs |
377
+ | **Plugin SDK** | 69 MCP tools | `memory plugin init` scaffold for agent devs | Engineering |
378
+ | **Pricing page** | None | Tier table with clear free/team/enterprise value props | Marketing |
379
+ | **Analytics** | None | Self-hostable Plausible (no GA, local-first) | Engineering |
380
+
381
+ ### 8.4 Roadmap Milestones for Production (R23–R26)
382
+
383
+ | Milestone | Scope | Target Date |
384
+ |---|---|---|
385
+ | **R23: Versioned Memory + Access-Weighted Retention** | `mem_path`, `last_accessed_at`, `half_life_days`, `memory branch`/`checkout`/`blame` | Nov 2026 |
386
+ | **R24: Agent Plugin Registry** | `memory plugin install <agent>` for 20+ agents (Claude Code, Cursor, Codex, etc.), MCP resource push (when hosts support it) | Dec 2026 |
387
+ | **R25: Progressive Disclosure + Scoped Retrieval** | `muse_context --include-abstract`, `muse_context --scope <subtree>`, `/api/graph` fix (bench-graph F1–F7) | Jan 2027 |
388
+ | **R26: Pro Plugin + Monetization Stack** | One-time `memory dream` synthesis plugin, Team SaaS prototype, pricing page, self-host Plausible analytics | Feb 2027 |
389
+
390
+ ### 8.5 Competitive Positioning
391
+
392
+ Muse's positioning against the new systems, **without naming competitors** (per project constraint):
393
+
394
+ | Capability | Local-first | Keyless (no API key) | Git-versioned memory | Branch-aware | Hands-free hooks | Zero-LLM default |
395
+ |---|---|---|---|---|---|---|
396
+ | **Muse** | ✓ | ✓ | planned (R23) | planned (R23) | ✓ 3/6 events | ✓ |
397
+ | **Pattern A** (JIT dual-agent) | ✓ | ✓ | ✕ | ✕ | partial | ✓ |
398
+ | **Pattern B** (Git-backed wiki) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
399
+ | **Pattern C** (Semantic paths) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
400
+
401
+ > Muse already ships the strongest foundation (sub-2ms lexical, <50µs hot cache, 69 MCP tools, zero daemons). The R23–R26 roadmap closes the remaining gaps in versioned memory and hands-free capture, positioning Muse as the **only** system that is simultaneously local-first, fully keyless, and Git-versioned.
402
+
403
+ ---
404
+
405
+ ## Appendix A: Evidence Sources
406
+
407
+ 1. GAM: https://github.com/VectorSpaceLab/general-agentic-memory · arxiv 2511.18423 "General Agentic Memory Via Deep Research"
408
+ 2. ai-memory: https://github.com/akitaonrails/ai-memory · docs/architecture.md (ARCHITECTURE.md)
409
+ 3. Memoir: https://github.com/zhangfengcdt/memoir · https://zhangfengcdt.github.io/memoir/
410
+ 4. Mnemory: https://github.com/fpytloun/mnemory · Reddit r/OpenWebUI plugin announcement
411
+ 5. Engram: https://github.com/Gentleman-Programming/engram · https://docs.rs/engramai
412
+ 6. TencentDB Agent Memory: https://github.com/tencent-ailab-hunter/Agent-Memory · TencentAILab-Hunter org
413
+ 7. BrainCTL: https://github.com/braindb/brainctl · https://www.brainctl.org (fallback)
414
+ 8. NeuraKeep: https://neurakeep.com
415
+ 9. Kage: https://github.com/kage-core/Kage (from September research)
416
+ 10. ai-memory-comparison: https://carsteneu.github.io/ai-memory-comparison/ (86 systems study)
417
+
418
+ ---
419
+
420
+ *Next steps*: See §5 Scored Adaptation Shortlist. Top priority is A15 (access-weighted retention) — a pure data-tracking upgrade that leverages Muse's existing utility ROI fields. Secondary priority is A16 (git-branch-aware memory) — the single biggest production-readiness gap for team use.*