superlocalmemory 3.8.0 → 3.8.2
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.
- package/CHANGELOG.md +112 -0
- package/README.md +32 -120
- package/package.json +9 -2
- package/plugin/.claude-plugin/plugin.json +1 -2
- package/plugin/CLAUDE.md +3 -3
- package/plugin/agents/slm-governance-advisor.md +1 -1
- package/plugin/agents/slm-loop-runner.md +1 -1
- package/plugin/agents/slm-memory-advisor.md +2 -2
- package/plugin/agents/slm-optimize-advisor.md +1 -1
- package/plugin/requirements.txt +1 -1
- package/plugin/skills/slm-cache/SKILL.md +1 -1
- package/plugin/skills/slm-compress/SKILL.md +1 -1
- package/plugin/skills/slm-governance/SKILL.md +1 -1
- package/plugin/skills/slm-graph/SKILL.md +1 -1
- package/plugin/skills/slm-loop/SKILL.md +1 -1
- package/plugin/skills/slm-mesh/SKILL.md +1 -1
- package/plugin/skills/slm-profile/SKILL.md +1 -1
- package/plugin/skills/slm-recall/SKILL.md +3 -5
- package/plugin/skills/slm-remember/SKILL.md +1 -1
- package/plugin/skills/slm-scope/SKILL.md +1 -1
- package/plugin/skills/slm-session/SKILL.md +1 -1
- package/plugin/skills/slm-status/SKILL.md +1 -1
- package/plugin-src/rules/AGENTS.md +2 -1
- package/plugin-src/skills/slm-cache/SKILL.md +1 -1
- package/plugin-src/skills/slm-compress/SKILL.md +1 -1
- package/plugin-src/skills/slm-graph/SKILL.md +1 -1
- package/plugin-src/skills/slm-recall/SKILL.md +3 -5
- package/plugin-src/skills/slm-remember/SKILL.md +1 -1
- package/plugin-src/skills/slm-session/SKILL.md +1 -1
- package/plugin-src/skills/slm-status/SKILL.md +1 -1
- package/pyproject.toml +2 -1
- package/scripts/postinstall.js +7 -1
- package/src/superlocalmemory/__init__.py +1 -1
- package/src/superlocalmemory/cli/commands.py +494 -9
- package/src/superlocalmemory/cli/daemon.py +7 -0
- package/src/superlocalmemory/cli/loop_cmd.py +2 -7
- package/src/superlocalmemory/cli/main.py +72 -7
- package/src/superlocalmemory/cli/setup_wizard.py +142 -16
- package/src/superlocalmemory/cli/version_banner.py +17 -3
- package/src/superlocalmemory/core/backend_orchestrator.py +18 -16
- package/src/superlocalmemory/core/component_healer.py +144 -0
- package/src/superlocalmemory/core/component_registry.py +487 -0
- package/src/superlocalmemory/core/config.py +21 -0
- package/src/superlocalmemory/core/embedding_worker.py +4 -5
- package/src/superlocalmemory/core/embeddings.py +132 -45
- package/src/superlocalmemory/core/engine.py +29 -22
- package/src/superlocalmemory/core/engine_ingestion.py +332 -45
- package/src/superlocalmemory/core/ingestion_command.py +154 -25
- package/src/superlocalmemory/core/injection.py +12 -7
- package/src/superlocalmemory/core/maintenance.py +43 -0
- package/src/superlocalmemory/core/maintenance_scheduler.py +44 -6
- package/src/superlocalmemory/core/recall_pipeline.py +42 -4
- package/src/superlocalmemory/core/store_pipeline.py +195 -20
- package/src/superlocalmemory/hooks/hook_handlers.py +6 -1
- package/src/superlocalmemory/hooks/portable_kit.py +34 -2
- package/src/superlocalmemory/learning/model_rollback.py +3 -0
- package/src/superlocalmemory/learning/ranker_retrain_online.py +2 -0
- package/src/superlocalmemory/learning/reward.py +50 -0
- package/src/superlocalmemory/learning/source_quality.py +523 -1
- package/src/superlocalmemory/loops/ledger.py +25 -5
- package/src/superlocalmemory/mcp/_daemon_proxy.py +6 -2
- package/src/superlocalmemory/mcp/_pool_adapter.py +4 -1
- package/src/superlocalmemory/mcp/server.py +11 -30
- package/src/superlocalmemory/mcp/tools_active.py +1 -1
- package/src/superlocalmemory/mcp/tools_core.py +21 -5
- package/src/superlocalmemory/mcp/tools_learning.py +2 -2
- package/src/superlocalmemory/retrieval/bridge_discovery.py +14 -0
- package/src/superlocalmemory/retrieval/engine.py +53 -21
- package/src/superlocalmemory/retrieval/reranker.py +3 -4
- package/src/superlocalmemory/retrieval/spreading_activation.py +68 -38
- package/src/superlocalmemory/server/config_file.py +90 -0
- package/src/superlocalmemory/server/origin.py +50 -0
- package/src/superlocalmemory/server/routes/backup.py +293 -70
- package/src/superlocalmemory/server/routes/behavioral.py +342 -61
- package/src/superlocalmemory/server/routes/brain.py +57 -16
- package/src/superlocalmemory/server/routes/config_api.py +84 -82
- package/src/superlocalmemory/server/routes/entity.py +100 -23
- package/src/superlocalmemory/server/routes/evolution.py +103 -100
- package/src/superlocalmemory/server/routes/learning.py +286 -105
- package/src/superlocalmemory/server/routes/learning_telemetry.py +153 -0
- package/src/superlocalmemory/server/routes/memories.py +8 -3
- package/src/superlocalmemory/server/routes/mesh.py +121 -32
- package/src/superlocalmemory/server/routes/ratelimit.py +33 -25
- package/src/superlocalmemory/server/routes/stats.py +93 -155
- package/src/superlocalmemory/server/routes/token.py +3 -13
- package/src/superlocalmemory/server/routes/v3_api.py +184 -20
- package/src/superlocalmemory/server/unified_daemon.py +732 -41
- package/src/superlocalmemory/storage/embedding_migrator.py +235 -0
- package/src/superlocalmemory/storage/migration_runner.py +79 -1
- package/src/superlocalmemory/storage/migrations/M010_evolution_config.py +5 -0
- package/src/superlocalmemory/storage/migrations/M028_fact_entity_associations.py +270 -0
- package/src/superlocalmemory/storage/migrations/M029_behavioral_history_indexes.py +137 -0
- package/src/superlocalmemory/storage/migrations/M030_entity_explorer_indexes.py +93 -0
- package/src/superlocalmemory/storage/migrations/__init__.py +4 -0
- package/src/superlocalmemory/storage/schema.py +49 -1
- package/src/superlocalmemory/storage/schema_v32.py +2 -0
- package/src/superlocalmemory/storage/schema_v347.py +4 -0
- package/src/superlocalmemory/ui/index.html +6 -8
- package/src/superlocalmemory/ui/js/core.js +52 -9
- package/src/superlocalmemory/ui/js/dashboard.js +169 -82
- package/src/superlocalmemory/ui/js/od-backup.js +156 -65
- package/src/superlocalmemory/ui/js/od-brain.js +88 -51
- package/src/superlocalmemory/ui/js/od-components.js +147 -0
- package/src/superlocalmemory/ui/js/od-entities.js +65 -22
- package/src/superlocalmemory/ui/js/od-graph.js +46 -4
- package/src/superlocalmemory/ui/js/od-health.js +18 -0
- package/src/superlocalmemory/ui/js/od-memories.js +84 -5
- package/src/superlocalmemory/ui/js/od-mesh.js +23 -9
- package/src/superlocalmemory/ui/js/od-operations.js +36 -0
- package/src/superlocalmemory/ui/js/od-settings.js +186 -63
- package/src/superlocalmemory/ui/js/od-shell.js +249 -33
- package/src/superlocalmemory/ui/js/od-skills.js +44 -17
- package/src/superlocalmemory/ui/js/settings.js +15 -1
- package/plugin-src/.mcp.json +0 -12
- package/plugin-src/agents/slm-governance-advisor.md +0 -80
- package/plugin-src/agents/slm-loop-runner.md +0 -71
- package/plugin-src/agents/slm-memory-advisor.md +0 -49
- package/plugin-src/agents/slm-optimize-advisor.md +0 -44
- package/plugin-src/commands/slm-loop.md +0 -31
- package/plugin-src/hooks/.gitkeep +0 -0
- package/plugin-src/hooks/hooks.json +0 -102
- package/plugin-src/manifest.json +0 -30
- package/plugin-src/requirements.txt +0 -1
- package/plugin-src/rules/CLAUDE.md.fragment +0 -44
- package/plugin-src/scripts/ensure-venv.bat +0 -122
- package/plugin-src/scripts/ensure-venv.sh +0 -105
- package/plugin-src/scripts/slm-launch +0 -62
- package/plugin-src/scripts/slm-launch.bat +0 -23
- package/plugin-src/settings.json +0 -25
- package/plugin-src/skills/slm-governance/SKILL.md +0 -248
- package/plugin-src/skills/slm-loop/SKILL.md +0 -99
- package/plugin-src/skills/slm-mesh/SKILL.md +0 -282
- package/plugin-src/skills/slm-profile/SKILL.md +0 -148
- package/plugin-src/skills/slm-scope/SKILL.md +0 -176
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,118 @@ All notable changes to SuperLocalMemory V3 will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.8.2] - 2026-07-24 — Self-healing upgrades & faster, consistent recall
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Self-healing on startup.** After an upgrade the daemon quietly repairs its
|
|
13
|
+
own index in the background — backfilling any missing embeddings and rebuilding
|
|
14
|
+
vector indexes — with no manual steps and no interruption to recall. Progress
|
|
15
|
+
is visible in the dashboard. Upgrading is now genuinely zero-touch.
|
|
16
|
+
- **Confidence-aware recall.** Every recall result now carries clear confidence
|
|
17
|
+
signals (`no_confident_match`, `answer_confidence`, `abstained`). Connected
|
|
18
|
+
assistants are guided to sharpen and re-run a query when confidence is low
|
|
19
|
+
rather than guessing — better answers, with no extra server-side wait.
|
|
20
|
+
- **New `client_driven_agentic` setting** controls whether query refinement is
|
|
21
|
+
delegated to the calling assistant (default) or performed inside the server.
|
|
22
|
+
- **Self-repairing components.** On startup SLM checks that the models and
|
|
23
|
+
dependencies it needs are present and quietly re-downloads or reinstalls the
|
|
24
|
+
ones it can, in the background — no commands to run. Anything it can't fix on
|
|
25
|
+
its own (for example a missing Ollama install) is reported with the exact
|
|
26
|
+
command to fix it.
|
|
27
|
+
- **Dashboard “System Health” report.** A new panel in the dashboard Help area
|
|
28
|
+
shows every component as ready / missing / degraded, with copy-paste fixes and
|
|
29
|
+
a “Retry now” button.
|
|
30
|
+
- **Editable memory settings in the dashboard.** A new “Recall & Memory
|
|
31
|
+
Behaviour” group lets you tune recall depth, the quality reranker, and memory
|
|
32
|
+
injection from the UI. Changes apply immediately and persist — no config files
|
|
33
|
+
to edit by hand.
|
|
34
|
+
- **`slm help` and `slm doctor --fix`.** `slm help` now prints a grouped guide to
|
|
35
|
+
every command plus focused topics (`slm help modes | config | self-heal`), and
|
|
36
|
+
`slm doctor --fix` auto-repairs the components it can.
|
|
37
|
+
- **Friendlier first-time setup.** `slm setup` detects a local Ollama and offers
|
|
38
|
+
Smart-Local mode in one keypress, summarizes what will download and asks before
|
|
39
|
+
the large optional compression model, can connect all your detected IDEs in one
|
|
40
|
+
step, and finishes with a health check. Skill Evolution is now off by default.
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
|
|
44
|
+
- **Recall is faster and consistent across every surface.** The CLI, MCP, and
|
|
45
|
+
editor integrations now return the same fast local results (all retrieval
|
|
46
|
+
channels plus reranking) in about 1–2 seconds and behave identically. The
|
|
47
|
+
occasional multi-second tail on some queries is gone.
|
|
48
|
+
- **Dashboard search stays snappy.** The search box returns a quick result list;
|
|
49
|
+
richer synthesis remains available in the memory chat and knowledge-cluster
|
|
50
|
+
summaries.
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
54
|
+
- **Large databases no longer produce an occasional multi-second recall spike**
|
|
55
|
+
(graph bridge discovery is now time-bounded).
|
|
56
|
+
- **Upgrades that only relabel an embedding model no longer trigger a full
|
|
57
|
+
re-embed** of every stored memory.
|
|
58
|
+
- Dashboard search now reliably reflects the active profile.
|
|
59
|
+
|
|
60
|
+
## [3.8.1] - 2026-07-23 — Existing-install stability
|
|
61
|
+
|
|
62
|
+
### Fixed
|
|
63
|
+
|
|
64
|
+
- **Large existing databases no longer delay daemon readiness for a full tier
|
|
65
|
+
rebalance.** Startup now initializes bounded backend state and leaves the
|
|
66
|
+
scheduled full-database tier evaluation to maintenance.
|
|
67
|
+
- **Failed enrichment can no longer retry forever.** Automatic durable-ingestion
|
|
68
|
+
materialization stops after ten attempts; an operator can still request an
|
|
69
|
+
explicit retry after correcting the underlying issue.
|
|
70
|
+
- **Background enrichment no longer monopolizes SQLite.** Durable
|
|
71
|
+
materialization now uses short saga checkpoints instead of holding one
|
|
72
|
+
database write transaction across model extraction and embedding work, so
|
|
73
|
+
remember, update, delete, and dashboard actions remain writable while
|
|
74
|
+
enrichment continues.
|
|
75
|
+
- **Durable enrichment retries are idempotent after partial failure.** Fact,
|
|
76
|
+
evidence, provenance, graph, temporal, and entity-association effects are
|
|
77
|
+
checkpointed or keyed so retries and process recovery cannot inflate them.
|
|
78
|
+
- **Entity counts stay O(1) on mature databases.** A normalized, indexed
|
|
79
|
+
fact/entity association ledger replaces per-entity scans of the full facts
|
|
80
|
+
table; existing associations are backfilled once during upgrade.
|
|
81
|
+
- **Newly queryable memories are immediately visible to recall.** A strong
|
|
82
|
+
exact BM25/FTS hit now retains one bounded result slot even when semantic
|
|
83
|
+
candidates would otherwise fill a small `limit`, preserving the
|
|
84
|
+
queryable-before-enrichment contract.
|
|
85
|
+
- **Mesh heartbeat writes no longer block the async HTTP event loop.** SQLite
|
|
86
|
+
work runs in FastAPI's worker thread pool, keeping health, token, dashboard,
|
|
87
|
+
recall, and remember endpoints responsive during peer activity.
|
|
88
|
+
- **Dashboard navigation preserves mounted pane state.** Brain, Knowledge Graph,
|
|
89
|
+
Memories, and Entity Explorer do not remount and refetch on every return.
|
|
90
|
+
Successful writes and configuration changes invalidate pane state once so
|
|
91
|
+
the next visit refreshes deliberately.
|
|
92
|
+
- **Brain telemetry is historical and provenance-backed.** Existing reward
|
|
93
|
+
outcomes are repaired into source-quality observations in resumable bounded
|
|
94
|
+
batches, and transient database errors can no longer be reported as a
|
|
95
|
+
completed repair.
|
|
96
|
+
- **Company-mode learning controls enforce workspace permissions.** Learning
|
|
97
|
+
and behavioral reads and mutations now apply the same read, write, delete,
|
|
98
|
+
and manage gates as the rest of the control plane.
|
|
99
|
+
- **Large graph views have a fixed browser-compute budget.** The dashboard can
|
|
100
|
+
render the requested graph result while force simulation is bounded, with a
|
|
101
|
+
short initial settle and finite animation window; selecting a large graph can
|
|
102
|
+
no longer monopolize the browser main thread.
|
|
103
|
+
- **Interactive model workers stay warm instead of repeatedly cold-starting.**
|
|
104
|
+
Embedding and reranker workers now remain resident for a 30-minute working
|
|
105
|
+
session by default, and the embedding peak guard matches the daemon's
|
|
106
|
+
2.5 GB per-worker watchdog. Low-RAM installations can retain shorter idle
|
|
107
|
+
windows and stricter recycling through the existing environment overrides.
|
|
108
|
+
- **CLI mutations use the resident daemon as the single database writer.**
|
|
109
|
+
Exact delete and update commands no longer initialize a competing engine
|
|
110
|
+
beside a running daemon, preventing lock failures on active existing
|
|
111
|
+
installations.
|
|
112
|
+
- **Skill Evolution repairs incomplete historical schemas.** The migration
|
|
113
|
+
runner verifies a completed migration's promised end-state before skipping
|
|
114
|
+
it and reapplies additive DDL when an older upgrade left a required table
|
|
115
|
+
missing.
|
|
116
|
+
- **Release packages are deterministic again.** Canonical data-root routing,
|
|
117
|
+
generated plugin parity checks, truthful integration instructions, and the
|
|
118
|
+
bounded npm package surface are restored.
|
|
119
|
+
|
|
8
120
|
## [3.8.0] - 2026-07-23 — Teams, bounded loops, and nine framework adapters
|
|
9
121
|
|
|
10
122
|
### Added
|
package/README.md
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
<h1 align="center">SuperLocalMemory V3.8.
|
|
8
|
+
<h1 align="center">SuperLocalMemory V3.8.2</h1>
|
|
9
9
|
<p align="center"><strong>Enterprise-grade, local-first memory for AI agents and teams.</strong><br/>
|
|
10
10
|
<em>A persistent, auditable long-term brain for your agents that runs on your own infrastructure — with multi-workspace isolation, role-based access, and GDPR + EU AI Act governance controls built in.</em></p>
|
|
11
|
-
<p align="center"><code>v3.8.
|
|
11
|
+
<p align="center"><code>v3.8.2</code> — one control plane: auditable retrieval · multi-scope memory (personal / shared / global) · Cache · Compress · trusted-peer Mesh · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
|
|
12
12
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
13
13
|
<p align="center"><strong>3 public research preprints</strong> (arXiv + Zenodo archives) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
|
|
14
14
|
|
|
@@ -34,11 +34,14 @@ SuperLocalMemory is an enterprise-grade, local-first memory control plane for AI
|
|
|
34
34
|
|
|
35
35
|
Agent-memory systems make different storage, model-provider, and deployment trade-offs. SuperLocalMemory starts with a local runtime and makes provider-backed enrichment, cloud backup, connectors, and proxy use explicit choices.
|
|
36
36
|
|
|
37
|
+
Different products solve different boundaries. The published benchmark evidence carried into V3.8.0 is protocol-scoped evidence from the published V3 research, not a claim of a newly rerun V3.8.0 package benchmark.
|
|
38
|
+
|
|
37
39
|
SuperLocalMemory V3 combines conventional dense and lexical retrieval with graph, temporal, associative, and statistical relevance scoring. The default local runtime does not require Docker, a separately operated graph database, or an API key.
|
|
38
40
|
|
|
39
41
|
**Memory with a sense of time.** SLM does not only store *what* an agent learned — it records *when*. Every fact carries ingestion timing and provenance; recall runs a dedicated temporal candidate channel alongside semantic, lexical, and associative retrieval; scenes and entity timelines reconstruct sequence; and the lifecycle lets neglected memory decay and self-archive instead of growing without bound. Time is a first-class ranking and lifecycle signal rather than a timestamp column an agent never reads — which is what lets a long-lived agent reason about how its context changed, not only what it currently holds.
|
|
40
42
|
|
|
41
|
-
**What V3.8.0
|
|
43
|
+
**What V3.8.0 added.** The 3.8.0 capability release introduced the following
|
|
44
|
+
foundation; 3.8.1 is the existing-install stability patch for it:
|
|
42
45
|
|
|
43
46
|
- **Temporal depth** — the time-aware retrieval and lifecycle described above.
|
|
44
47
|
- **Governance & EU compliance** — [team roles, workspace isolation, a login gate, multi-scope memory, GDPR access/erasure/portability rights, a hash-chained audit trail, and per-mode EU AI Act self-assessment](#teams-and-enterprise-memory-v380).
|
|
@@ -49,7 +52,7 @@ SuperLocalMemory V3 combines conventional dense and lexical retrieval with graph
|
|
|
49
52
|
|
|
50
53
|
SLM is one strand of Qualixar's work on AI reliability engineering: making agent behavior observable, bounded, and reproducible instead of best-effort.
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
The architecture evaluated in the V3 paper remains the foundation of this release. The figures below keep their original LoCoMo protocol, answer-construction, model, and sample scope.
|
|
53
56
|
|
|
54
57
|
### How SLM fits beside other memory systems
|
|
55
58
|
|
|
@@ -82,7 +85,7 @@ memory, retrieve bounded evidence for an agent, and expose cache, compression,
|
|
|
82
85
|
and peer-coordination controls through a CLI, MCP, dashboard, and supported
|
|
83
86
|
IDE integrations.
|
|
84
87
|
|
|
85
|
-

|
|
86
89
|
|
|
87
90
|
*Architecture boundary: SQLite + sqlite-vec remain canonical; CozoDB and
|
|
88
91
|
LanceDB are parity-gated projections; Mesh coordinates trusted peers rather
|
|
@@ -464,27 +467,21 @@ not a byte-preserving operation; use it only when you want the MCP server
|
|
|
464
467
|
configured. Check the result with `slm codex status`; undo SLM-owned add-ons
|
|
465
468
|
with `slm codex remove`.
|
|
466
469
|
|
|
467
|
-
## GitHub Copilot
|
|
470
|
+
## GitHub Copilot integration
|
|
468
471
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
the Copilot CLI:
|
|
472
|
+
The shipped installer configures the SuperLocalMemory MCP server and additive
|
|
473
|
+
agent instructions for VS Code with GitHub Copilot:
|
|
472
474
|
|
|
473
475
|
```bash
|
|
474
|
-
slm connect copilot
|
|
476
|
+
slm connect vscode-copilot --here
|
|
475
477
|
```
|
|
476
478
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
- **`.github/hooks/slm-hooks.json`** — session lifecycle (stable on Copilot CLI and cloud agents; VS Code Preview as of 2026).
|
|
484
|
-
|
|
485
|
-
MCP works on every Copilot IDE at GA; prompts, agents, and hooks are additive and
|
|
486
|
-
degrade gracefully where an IDE does not yet support them. An instruction-level
|
|
487
|
-
fallback in `copilot-instructions.md` keeps memory working even without hooks.
|
|
479
|
+
Run it from the project root. It semantically merges the SLM server into
|
|
480
|
+
`.vscode/mcp.json` and adds SLM-owned guidance inside
|
|
481
|
+
`.github/copilot-instructions.md`, preserving unrelated servers and existing
|
|
482
|
+
instructions. The generated `copilot-plugin/` source bundle is maintained for
|
|
483
|
+
parity checks, but v3.8.1 does not claim that `slm connect` installs its prompt,
|
|
484
|
+
agent, or hook files.
|
|
488
485
|
|
|
489
486
|
---
|
|
490
487
|
|
|
@@ -670,84 +667,19 @@ configuration for that framework.
|
|
|
670
667
|
| Retrieval score contract | [docs/retrieval-score-contract.md](docs/retrieval-score-contract.md) |
|
|
671
668
|
| Wiki | [github.com/qualixar/superlocalmemory/wiki](https://github.com/qualixar/superlocalmemory/wiki) |
|
|
672
669
|
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
```
|
|
677
|
-
The dashboard includes Dashboard, Brain, Knowledge Graph, Memories, Health,
|
|
678
|
-
Operations, Entity Explorer, Skill Evolution, Multi-Agent Memory, Mesh Peers,
|
|
679
|
-
Settings, and Optimize workspaces. Features are populated only when their
|
|
680
|
-
corresponding runtime capability is enabled and healthy.
|
|
681
|
-
|
|
682
|
-
**Release history:**
|
|
683
|
-
|
|
684
|
-
| Version | Codename | Key Features |
|
|
685
|
-
|---|---|---|
|
|
686
|
-
| **v3.8.0** | Teams & Bounded Loops | Team/role/GDPR controls, bounded loops with gate-verified iteration (`slm loop`, MCP tools `slm_loop_run/history/show`, `/slm-loop` skill), nine framework adapters (LangGraph · Semantic Kernel · Microsoft Agent Framework · LangChain · LlamaIndex · CrewAI · AutoGen · Google ADK · OpenAI Agents), multi-agent memory dashboard |
|
|
687
|
-
| **v3.7.x** | Security & Stability | Profile-isolation leak fix, loopback auth opt-in, Scale Engine parity promotion, skill-evolution cost caps, dashboard landing page fixes, auth hardening across MCP/API/dashboard |
|
|
688
|
-
| **v3.6.23** | Cross-platform Patch | Windows doctor/cache stats fixes (#65), neutral SLM hook guidance (#64), pi.dev MCP docs (#31), contributor fixes for dashboard profile path resolution (#63) and tz-naive Langevin maintenance backfill (#66) |
|
|
689
|
-
| **v3.6.22** | Stability | backbone.py JSONDecodeError on empty HTTP 200 body (issue #62) — retries 3× then returns "" gracefully; remaining dashboard UI audit: clusters/compliance/entities r.ok guards, math-health status badge colors |
|
|
690
|
-
| **v3.6.21** | Dashboard Audit | Full UI audit across all 7 dashboard tabs — auth fix for mesh panel (issue #60 frontend), Quick Store endpoint, timeline endpoint, r.ok guards, SSE \r fix, event delegation for lazy tabs, optimize toggle revert |
|
|
691
|
-
| **v3.6.20** | Mesh Auth | Remote mesh auth fix (issue #60) — `_get_broker` now accepts Bearer + X-Mesh-Secret from non-loopback callers; config settings preservation on hot reload |
|
|
692
|
-
| **v3.6.17** | Community | 8 contributor PRs (observability events, marker-bounded adapter writes, daemon port discovery, anthropic `api_base`, OpenMP workers, atomic-write rehash, `_jl` sentinel, LFS pointer); dashboard-feedback fix (#53/#59); env-tunable SQLite knobs + idle backoff; remote LLM test-probe (#40) |
|
|
693
|
-
| **v3.6.16** | Docs | Corrected Claude Code plugin install — adds the required `/plugin marketplace add` step; clarifies plugin vs pip/npm delivery |
|
|
694
|
-
| **v3.6.15** | Multi-scope | **Opt-in [shared memory](docs/shared-memory.md)** (personal/shared/global, off by default), default-deny scope at every read path, recall scope-race fix, contributor PRs #42/#43/#44, fixes #46–#49 |
|
|
695
|
-
| **v3.6.14** | Plugin-native | Claude Code Plugin (WP-06), MCP profiles (WP-01), IDE connect (WP-08), asset consolidation, UI polish (WP-12) |
|
|
696
|
-
| **v3.6.x** | Optimize Everywhere / Distributed-ready | Three surfaces (proxy/MCP/skill), `SLM_REMOTE=1` LAN mode, remote dashboard, custom LLM endpoints |
|
|
697
|
-
| **v3.5.0** | Historical scale work | Early CozoDB/LanceDB projection paths, retrieval additions, Core Memory Block, context injection v2, score normalization |
|
|
698
|
-
| **v3.4.x** | Scale-Ready (foundation) | Tiered storage, graph pruning, Hopfield channel, LightGBM ranking, mDNS mesh discovery |
|
|
699
|
-
| **v3.3.x** | Foundation | BM25Plus, Fisher-Rao, sqlite-vec, RRF fusion, cross-encoder rerank. 3 published papers |
|
|
700
|
-
|
|
701
|
-
---
|
|
670
|
+
Open the web dashboard with `slm dashboard`; workspaces appear only when their
|
|
671
|
+
runtime capability is enabled and healthy. See [CHANGELOG.md](CHANGELOG.md) for
|
|
672
|
+
the complete release history.
|
|
702
673
|
|
|
703
674
|
## Research Papers
|
|
704
675
|
|
|
705
|
-
SuperLocalMemory is backed by three
|
|
706
|
-
|
|
707
|
-
### Paper 3: The Living Brain (V3.3)
|
|
708
|
-
> **SuperLocalMemory V3.3: The Living Brain — Biologically-Inspired Forgetting, Cognitive Quantization, and Multi-Channel Retrieval for Zero-LLM Agent Memory Systems**
|
|
709
|
-
> Varun Pratap Bhardwaj (2026)
|
|
710
|
-
> [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo DOI: 10.5281/zenodo.19435120](https://zenodo.org/records/19435120)
|
|
711
|
-
|
|
712
|
-
### Paper 2: Information-Geometric Foundations (V3)
|
|
713
|
-
> **SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory**
|
|
714
|
-
> Varun Pratap Bhardwaj (2026)
|
|
715
|
-
> [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo DOI: 10.5281/zenodo.19038659](https://zenodo.org/records/19038659)
|
|
716
|
-
|
|
717
|
-
### Paper 1: Trust & Behavioral Foundations (V2)
|
|
718
|
-
> **SuperLocalMemory: A Structured Local Memory Architecture for Persistent AI Agent Context**
|
|
719
|
-
> Varun Pratap Bhardwaj (2026)
|
|
720
|
-
> [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo DOI: 10.5281/zenodo.18709670](https://zenodo.org/records/18709670)
|
|
721
|
-
|
|
722
|
-
### Cite This Work
|
|
723
|
-
|
|
724
|
-
```bibtex
|
|
725
|
-
@article{bhardwaj2026slmv33,
|
|
726
|
-
title={SuperLocalMemory V3.3: The Living Brain — Biologically-Inspired
|
|
727
|
-
Forgetting, Cognitive Quantization, and Multi-Channel Retrieval
|
|
728
|
-
for Zero-LLM Agent Memory Systems},
|
|
729
|
-
author={Bhardwaj, Varun Pratap},
|
|
730
|
-
journal={arXiv preprint arXiv:2604.04514},
|
|
731
|
-
year={2026},
|
|
732
|
-
url={https://arxiv.org/abs/2604.04514}
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
@article{bhardwaj2026slmv3,
|
|
736
|
-
title={Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory},
|
|
737
|
-
author={Bhardwaj, Varun Pratap},
|
|
738
|
-
journal={arXiv preprint arXiv:2603.14588},
|
|
739
|
-
year={2026}
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
@article{bhardwaj2026slm,
|
|
743
|
-
title={A Structured Local Memory Architecture for Persistent AI Agent Context},
|
|
744
|
-
author={Bhardwaj, Varun Pratap},
|
|
745
|
-
journal={arXiv preprint arXiv:2603.02240},
|
|
746
|
-
year={2026}
|
|
747
|
-
}
|
|
748
|
-
```
|
|
676
|
+
SuperLocalMemory is backed by three preprints by Varun Pratap Bhardwaj (2026):
|
|
749
677
|
|
|
750
|
-
|
|
678
|
+
- **The Living Brain (V3.3):** [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo 19435120](https://zenodo.org/records/19435120)
|
|
679
|
+
- **Information-Geometric Foundations (V3):** [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo 19038659](https://zenodo.org/records/19038659)
|
|
680
|
+
- **Trust & Behavioral Foundations (V2):** [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo 18709670](https://zenodo.org/records/18709670)
|
|
681
|
+
|
|
682
|
+
Use the citation metadata on the linked arXiv or Zenodo records.
|
|
751
683
|
|
|
752
684
|
## Support / License / Qualixar
|
|
753
685
|
|
|
@@ -763,34 +695,14 @@ Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](http
|
|
|
763
695
|
|
|
764
696
|
### Acknowledgments
|
|
765
697
|
|
|
766
|
-
- **[Everything Claude Code (ECC)](https://github.com/affaan-m/everything-claude-code)**
|
|
767
|
-
- **[HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace)**
|
|
698
|
+
- **[Everything Claude Code (ECC)](https://github.com/affaan-m/everything-claude-code)** inspired SLM's skill-observation patterns; SLM can ingest ECC observations with `slm ingest --source ecc`.
|
|
699
|
+
- **[HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace)** informed the skill-evolution verification design (arXiv:2604.01687).
|
|
768
700
|
|
|
769
701
|
### Qualixar AI Agent Reliability Platform
|
|
770
702
|
|
|
771
|
-
Qualixar
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|---------|---------|---------|
|
|
775
|
-
| **[SuperLocalMemory](https://github.com/qualixar/superlocalmemory)** | Persistent memory + learning | `npm install -g superlocalmemory` |
|
|
776
|
-
| **[Qualixar OS](https://github.com/qualixar/qualixar-os)** | Universal agent runtime | `npx qualixar-os` |
|
|
777
|
-
| **[SLM Mesh](https://github.com/qualixar/slm-mesh)** | P2P coordination across sessions | `npm i slm-mesh` |
|
|
778
|
-
| **[SLM MCP Hub](https://github.com/qualixar/slm-mcp-hub)** | Federate 430+ MCP tools | `pip install slm-mcp-hub` |
|
|
779
|
-
| **[AgentAssay](https://github.com/qualixar/agentassay)** | Token-efficient agent testing | `pip install agentassay` |
|
|
780
|
-
| **[AgentAssert](https://github.com/qualixar/agentassert-abc)** | Behavioral contracts + drift detection | `pip install agentassert-abc` |
|
|
781
|
-
| **[SkillFortify](https://github.com/qualixar/skillfortify)** | Formal verification for agent skills | `pip install skillfortify` |
|
|
782
|
-
|
|
783
|
-
**Local-first architecture. Deployment-specific privacy and compliance controls.**
|
|
784
|
-
|
|
785
|
-
Start here → **[qualixar.com](https://qualixar.com)** · [All papers on Qualixar HuggingFace](https://huggingface.co/Qualixar)
|
|
786
|
-
|
|
787
|
-
---
|
|
788
|
-
|
|
789
|
-
<p align="center">
|
|
790
|
-
<sub>Built with mathematical rigor. Not in the race — here to help everyone build better AI memory systems.</sub>
|
|
791
|
-
</p>
|
|
792
|
-
|
|
793
|
-
---
|
|
703
|
+
Qualixar builds open-source infrastructure for AI reliability engineering.
|
|
704
|
+
Start at **[qualixar.com](https://qualixar.com)** or browse the
|
|
705
|
+
[Qualixar research archive](https://huggingface.co/Qualixar).
|
|
794
706
|
|
|
795
707
|
## Star This Project
|
|
796
708
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superlocalmemory",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.2",
|
|
4
4
|
"description": "Local-first agent memory with MCP and an agent-native CLI. Documented clients include Claude Code, Cursor, and Windsurf.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-memory",
|
|
@@ -79,7 +79,14 @@
|
|
|
79
79
|
"scripts/preuninstall.js",
|
|
80
80
|
".claude-plugin/",
|
|
81
81
|
"plugin/",
|
|
82
|
-
"plugin-src/",
|
|
82
|
+
"plugin-src/skills/slm-cache/SKILL.md",
|
|
83
|
+
"plugin-src/skills/slm-compress/SKILL.md",
|
|
84
|
+
"plugin-src/skills/slm-graph/SKILL.md",
|
|
85
|
+
"plugin-src/skills/slm-recall/SKILL.md",
|
|
86
|
+
"plugin-src/skills/slm-remember/SKILL.md",
|
|
87
|
+
"plugin-src/skills/slm-session/SKILL.md",
|
|
88
|
+
"plugin-src/skills/slm-status/SKILL.md",
|
|
89
|
+
"plugin-src/rules/AGENTS.md",
|
|
83
90
|
"docs/pi-dev-integration.md",
|
|
84
91
|
"pyproject.toml",
|
|
85
92
|
"README.md",
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
},
|
|
6
6
|
"description": "Local-first agent memory + reversible context compression and KV cache, as an MCP server. 21-tool code profile with graph intelligence.",
|
|
7
7
|
"displayName": "SuperLocalMemory",
|
|
8
|
-
"hooks": "./hooks/hooks.json",
|
|
9
8
|
"keywords": [
|
|
10
9
|
"memory",
|
|
11
10
|
"mcp",
|
|
@@ -16,5 +15,5 @@
|
|
|
16
15
|
"mcpServers": "./.mcp.json",
|
|
17
16
|
"name": "superlocalmemory",
|
|
18
17
|
"repository": "https://github.com/qualixar/superlocalmemory",
|
|
19
|
-
"version": "3.8.
|
|
18
|
+
"version": "3.8.2"
|
|
20
19
|
}
|
package/plugin/CLAUDE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- BEGIN SuperLocalMemory v3.8.
|
|
1
|
+
<!-- BEGIN SuperLocalMemory v3.8.2 -->
|
|
2
2
|
|
|
3
3
|
## SuperLocalMemory (SLM) — Agent Rules
|
|
4
4
|
|
|
@@ -39,6 +39,6 @@ slm-recall · slm-remember · slm-session · slm-status · slm-cache · slm-comp
|
|
|
39
39
|
### Subagents
|
|
40
40
|
slm-memory-advisor (memory decisions, session hygiene, scope/profile guidance) · slm-optimize-advisor (context compression + KV cache) · slm-governance-advisor (scope/roles/compliance/GDPR)
|
|
41
41
|
|
|
42
|
-
<!-- END SuperLocalMemory v3.8.
|
|
42
|
+
<!-- END SuperLocalMemory v3.8.2 -->
|
|
43
43
|
|
|
44
|
-
SuperLocalMemory v3.8.
|
|
44
|
+
SuperLocalMemory v3.8.2 · Qualixar · AGPL-3.0-or-later
|
|
@@ -77,4 +77,4 @@ slm-scope · slm-governance · slm-profile · slm-remember · slm-recall
|
|
|
77
77
|
# What NOT to do
|
|
78
78
|
Never session_init twice; never forget without dry-run preview; never store secrets; never bypass role checks; never claim an erasure succeeded without verifying via recall.
|
|
79
79
|
|
|
80
|
-
SuperLocalMemory v3.8.
|
|
80
|
+
SuperLocalMemory v3.8.2 · Qualixar · AGPL-3.0-or-later
|
|
@@ -17,7 +17,7 @@ When the main agent: starts a session and hasn't loaded project context; is abou
|
|
|
17
17
|
|
|
18
18
|
# Tools you may use (real SLM MCP tools, core profile)
|
|
19
19
|
- `session_init(project_path, query, max_results, max_age_days)` — ONCE at session start; returns recent decisions + relevant memories.
|
|
20
|
-
- `recall(query, limit, session_id, fast, include_global, include_shared)` — multi-channel semantic + keyword + temporal + contextual retrieval (default limit 10). Leave `include_global`/`include_shared` unset — recall is private-by-default (v3.6.15).
|
|
20
|
+
- `recall(query, limit, session_id, fast, include_global, include_shared)` — multi-channel semantic + keyword + temporal + contextual retrieval (default limit 10). Leave `include_global`/`include_shared` unset — recall is private-by-default (v3.6.15). Returns fast local results (~1–2s, no server-side LLM round) plus confidence signals: if `no_confident_match` is true or `answer_confidence` is low, advise the main agent to rewrite into 1–3 sharper sub-queries and recall again rather than treating the memory as absent.
|
|
21
21
|
- `search(query, limit, profile_id)` — exact keyword / FTS5 BM25.
|
|
22
22
|
- `remember(content, tags, project, importance, session_id, scope, shared_with)` — store atomic fact; importance 1-10. Leave `scope` unset (defaults to `personal`/private).
|
|
23
23
|
- `update_memory(fact_id, content)` — correct by exact id.
|
|
@@ -46,4 +46,4 @@ slm-recall · slm-remember · slm-session · slm-scope · slm-profile · slm-gov
|
|
|
46
46
|
# What NOT to do
|
|
47
47
|
Never session_init twice; never forget dry_run=False without reporting preview; never dump a whole file into remember; never invent a memory; never claim "saved" without success:true / clean CLI exit; never bypass scope or governance restrictions.
|
|
48
48
|
|
|
49
|
-
SuperLocalMemory v3.8.
|
|
49
|
+
SuperLocalMemory v3.8.2 · Qualixar · AGPL-3.0-or-later
|
|
@@ -41,4 +41,4 @@ slm-compress · slm-cache · slm-status · slm-profile
|
|
|
41
41
|
# What NOT to do
|
|
42
42
|
Never compress code-for-edit/JSON-to-parse/<500 chars; never store secrets/ccr_ids; never let optimize failure block/alter the task; never claim a specific savings %; never carry ccr_ids across profile switches.
|
|
43
43
|
|
|
44
|
-
SuperLocalMemory v3.8.
|
|
44
|
+
SuperLocalMemory v3.8.2 · Qualixar · AGPL-3.0-or-later
|
package/plugin/requirements.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
superlocalmemory==3.8.
|
|
1
|
+
superlocalmemory==3.8.2
|
|
@@ -87,9 +87,7 @@ Real response shape (`--json` equivalent):
|
|
|
87
87
|
}
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
**
|
|
91
|
-
evidence floor. Do not invent a memory — tell the user nothing was found and
|
|
92
|
-
offer to search more broadly or store a new fact.
|
|
90
|
+
**Refine on low confidence.** `recall` returns confidence signals with every result. If `no_confident_match` is `true` (or `answer_confidence` is low / `abstained` is `true`), do NOT invent a memory — rewrite the query into 1–3 more specific sub-queries (split multi-hop questions; try entity names, synonyms, or broader phrasing) and call `recall` again before concluding nothing was found. A confident match → use it directly. SLM returns fast local results (~1–2s, no server-side LLM round on the hot path) and lets you, the calling model, drive this refinement.
|
|
93
91
|
|
|
94
92
|
### 2. Passing session_id
|
|
95
93
|
|
|
@@ -196,7 +194,7 @@ Flags verified in source (main.py):
|
|
|
196
194
|
|
|
197
195
|
## Never fabricate a memory
|
|
198
196
|
|
|
199
|
-
|
|
197
|
+
After re-querying with refined sub-queries (see **Refine on low confidence** above), if `no_confident_match` is still `true` or results are empty, report it plainly.
|
|
200
198
|
Never construct a response as if a memory was found when it was not. The user
|
|
201
199
|
trusts that what you surface came from the store.
|
|
202
200
|
|
|
@@ -238,4 +236,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
|
|
|
238
236
|
|
|
239
237
|
---
|
|
240
238
|
|
|
241
|
-
*SuperLocalMemory v3.8.
|
|
239
|
+
*SuperLocalMemory v3.8.2 · Qualixar · AGPL-3.0-or-later*
|
|
@@ -28,6 +28,7 @@ Call `session_init(project_path, query, max_results, max_age_days)` **once** at
|
|
|
28
28
|
- **Concept phrasing** — phrase queries as concepts, not vague words ("database migration strategy" not "database").
|
|
29
29
|
- **Pass session_id** when available to narrow results to the current session.
|
|
30
30
|
- **Empty / low results** — broaden the query, try `search`, or fall back to `list_recent`. Never fabricate a memory.
|
|
31
|
+
- **Refine on low confidence** — if `no_confident_match` is `true` (or `answer_confidence` is low / `abstained` is `true`), rewrite the query into 1–3 more specific sub-queries (split multi-hop questions; try entity names, synonyms, or broader phrasing) and call `recall` again before concluding nothing was found. SLM returns fast local results (~1–2s, no server-side LLM round on the hot path) — you, the calling model, drive refinement.
|
|
31
32
|
|
|
32
33
|
---
|
|
33
34
|
|
|
@@ -127,4 +128,4 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
|
|
|
127
128
|
- **slm-optimize-advisor** — context compression and KV cache
|
|
128
129
|
- **slm-governance-advisor** — scope/role compliance, retention policies, GDPR
|
|
129
130
|
|
|
130
|
-
SuperLocalMemory v3.8.
|
|
131
|
+
SuperLocalMemory v3.8.2 · Qualixar · AGPL-3.0-or-later
|
|
@@ -87,9 +87,7 @@ Real response shape (`--json` equivalent):
|
|
|
87
87
|
}
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
**
|
|
91
|
-
evidence floor. Do not invent a memory — tell the user nothing was found and
|
|
92
|
-
offer to search more broadly or store a new fact.
|
|
90
|
+
**Refine on low confidence.** `recall` returns confidence signals with every result. If `no_confident_match` is `true` (or `answer_confidence` is low / `abstained` is `true`), do NOT invent a memory — rewrite the query into 1–3 more specific sub-queries (split multi-hop questions; try entity names, synonyms, or broader phrasing) and call `recall` again before concluding nothing was found. A confident match → use it directly. SLM returns fast local results (~1–2s, no server-side LLM round on the hot path) and lets you, the calling model, drive this refinement.
|
|
93
91
|
|
|
94
92
|
### 2. Passing session_id
|
|
95
93
|
|
|
@@ -196,7 +194,7 @@ Flags verified in source (main.py):
|
|
|
196
194
|
|
|
197
195
|
## Never fabricate a memory
|
|
198
196
|
|
|
199
|
-
|
|
197
|
+
After re-querying with refined sub-queries (see **Refine on low confidence** above), if `no_confident_match` is still `true` or results are empty, report it plainly.
|
|
200
198
|
Never construct a response as if a memory was found when it was not. The user
|
|
201
199
|
trusts that what you surface came from the store.
|
|
202
200
|
|
|
@@ -238,4 +236,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
|
|
|
238
236
|
|
|
239
237
|
---
|
|
240
238
|
|
|
241
|
-
*SuperLocalMemory v3.8.
|
|
239
|
+
*SuperLocalMemory v3.8.2 · Qualixar · AGPL-3.0-or-later*
|