superlocalmemory 3.8.14 → 4.0.0
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/ATTRIBUTION.md +4 -4
- package/CHANGELOG.md +113 -137
- package/README.md +65 -63
- package/docs/pi-dev-integration.md +1 -1
- package/package.json +6 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -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-governance/SKILL.md +248 -0
- package/plugin-src/skills/slm-graph/SKILL.md +1 -1
- package/plugin-src/skills/slm-loop/SKILL.md +99 -0
- package/plugin-src/skills/slm-mesh/SKILL.md +282 -0
- package/plugin-src/skills/slm-profile/SKILL.md +148 -0
- package/plugin-src/skills/slm-recall/SKILL.md +1 -1
- package/plugin-src/skills/slm-remember/SKILL.md +1 -1
- package/plugin-src/skills/slm-scope/SKILL.md +176 -0
- package/plugin-src/skills/slm-session/SKILL.md +1 -1
- package/plugin-src/skills/slm-status/SKILL.md +1 -1
- package/pyproject.toml +11 -4
- package/src/superlocalmemory/__init__.py +1 -1
- package/src/superlocalmemory/cli/commands.py +125 -11
- package/src/superlocalmemory/cli/daemon.py +5 -1
- package/src/superlocalmemory/cli/main.py +35 -2
- package/src/superlocalmemory/cli/ops_cmd.py +281 -0
- package/src/superlocalmemory/cli/setup_wizard.py +1 -1
- package/src/superlocalmemory/compliance/audit.py +65 -0
- package/src/superlocalmemory/compliance/eu_ai_act.py +27 -57
- package/src/superlocalmemory/compliance/gdpr.py +416 -20
- package/src/superlocalmemory/compliance/retention.py +74 -22
- package/src/superlocalmemory/compliance/scheduler.py +78 -9
- package/src/superlocalmemory/core/actor_context.py +166 -0
- package/src/superlocalmemory/core/admission.py +549 -0
- package/src/superlocalmemory/core/backend_orchestrator.py +23 -10
- package/src/superlocalmemory/core/config.py +202 -24
- package/src/superlocalmemory/core/consolidation_engine.py +13 -13
- package/src/superlocalmemory/core/context_cache.py +28 -0
- package/src/superlocalmemory/core/embeddings.py +64 -2
- package/src/superlocalmemory/core/engine.py +7 -2
- package/src/superlocalmemory/core/engine_ingestion.py +65 -3
- package/src/superlocalmemory/core/engine_wiring.py +32 -5
- package/src/superlocalmemory/core/ingest_policy.py +38 -0
- package/src/superlocalmemory/core/maintenance.py +255 -0
- package/src/superlocalmemory/core/modes.py +40 -13
- package/src/superlocalmemory/core/mutations.py +437 -44
- package/src/superlocalmemory/core/operation_policy.py +92 -0
- package/src/superlocalmemory/core/operation_policy_registry.py +542 -0
- package/src/superlocalmemory/core/operation_request.py +127 -0
- package/src/superlocalmemory/core/ops_remediation.py +542 -0
- package/src/superlocalmemory/core/recall_pipeline.py +7 -0
- package/src/superlocalmemory/core/remember_runtime.py +202 -4
- package/src/superlocalmemory/core/remote_mode.py +20 -5
- package/src/superlocalmemory/core/store_pipeline.py +150 -0
- package/src/superlocalmemory/core/topic_signature.py +19 -4
- package/src/superlocalmemory/core/transactions/__init__.py +78 -0
- package/src/superlocalmemory/core/transactions/concrete_owners.py +597 -0
- package/src/superlocalmemory/core/transactions/erasure.py +825 -0
- package/src/superlocalmemory/core/transactions/manifest.py +255 -0
- package/src/superlocalmemory/core/transactions/manifest_key.py +155 -0
- package/src/superlocalmemory/core/transactions/obligations.py +272 -0
- package/src/superlocalmemory/core/transactions/owners.py +114 -0
- package/src/superlocalmemory/core/transactions/reconciler.py +285 -0
- package/src/superlocalmemory/core/transactions/service.py +330 -0
- package/src/superlocalmemory/core/worker_pool.py +33 -5
- package/src/superlocalmemory/encoding/cognitive_consolidator.py +70 -28
- package/src/superlocalmemory/encoding/emotional.py +75 -14
- package/src/superlocalmemory/encoding/temporal_parser.py +4 -0
- package/src/superlocalmemory/evolution/blind_verifier.py +11 -4
- package/src/superlocalmemory/evolution/evolution_store.py +244 -4
- package/src/superlocalmemory/evolution/llm_dispatch.py +40 -0
- package/src/superlocalmemory/evolution/model_selection.py +18 -3
- package/src/superlocalmemory/evolution/mutation_generator.py +3 -0
- package/src/superlocalmemory/evolution/skill_activator.py +270 -0
- package/src/superlocalmemory/evolution/skill_evolver.py +281 -59
- package/src/superlocalmemory/evolution/types.py +30 -8
- package/src/superlocalmemory/graph/cozo_backend.py +17 -9
- package/src/superlocalmemory/hooks/auto_invoker.py +2 -1
- package/src/superlocalmemory/hooks/auto_recall.py +64 -30
- package/src/superlocalmemory/hooks/codex_assets.py +14 -1
- package/src/superlocalmemory/infra/backup.py +434 -7
- package/src/superlocalmemory/infra/process_reaper.py +18 -0
- package/src/superlocalmemory/infra/self_heal.py +401 -0
- package/src/superlocalmemory/learning/feedback.py +52 -9
- package/src/superlocalmemory/loops/engine.py +10 -0
- package/src/superlocalmemory/mcp/_daemon_proxy.py +3 -0
- package/src/superlocalmemory/mcp/http_transport.py +30 -331
- package/src/superlocalmemory/mcp/profiles.py +5 -0
- package/src/superlocalmemory/mcp/resources.py +8 -0
- package/src/superlocalmemory/mcp/server.py +51 -4
- package/src/superlocalmemory/mcp/shared.py +19 -0
- package/src/superlocalmemory/mcp/tools_active.py +25 -4
- package/src/superlocalmemory/mcp/tools_code_graph.py +26 -18
- package/src/superlocalmemory/mcp/tools_context.py +50 -8
- package/src/superlocalmemory/mcp/tools_core.py +69 -21
- package/src/superlocalmemory/mcp/tools_evolution.py +9 -2
- package/src/superlocalmemory/mcp/tools_learning.py +21 -10
- package/src/superlocalmemory/mcp/tools_loops.py +29 -18
- package/src/superlocalmemory/mcp/tools_mesh.py +8 -0
- package/src/superlocalmemory/mcp/tools_ops.py +115 -0
- package/src/superlocalmemory/mcp/tools_optimize.py +4 -0
- package/src/superlocalmemory/mcp/tools_v28.py +10 -3
- package/src/superlocalmemory/mcp/tools_v3.py +34 -14
- package/src/superlocalmemory/mcp/tools_v33.py +18 -33
- package/src/superlocalmemory/mesh/broker.py +124 -46
- package/src/superlocalmemory/mesh/broker_security.py +470 -0
- package/src/superlocalmemory/mesh/discovery.py +365 -0
- package/src/superlocalmemory/mesh/lock_protocol.py +313 -0
- package/src/superlocalmemory/mesh/node_identity.py +97 -0
- package/src/superlocalmemory/mesh/outbox_remote.py +429 -0
- package/src/superlocalmemory/mesh/remote_sync.py +511 -28
- package/src/superlocalmemory/mesh/state_sync.py +286 -0
- package/src/superlocalmemory/optimize/config/store.py +45 -0
- package/src/superlocalmemory/parameterization/cross_project.py +12 -0
- package/src/superlocalmemory/parameterization/prompt_injector.py +13 -11
- package/src/superlocalmemory/parameterization/prompt_lifecycle.py +8 -2
- package/src/superlocalmemory/parameterization/workflow_miner.py +17 -0
- package/src/superlocalmemory/retrieval/ann_index.py +5 -0
- package/src/superlocalmemory/retrieval/bm25_channel.py +49 -2
- package/src/superlocalmemory/retrieval/engine.py +19 -4
- package/src/superlocalmemory/retrieval/fusion.py +4 -1
- package/src/superlocalmemory/retrieval/hopfield_channel.py +9 -3
- package/src/superlocalmemory/retrieval/remote_reranker.py +47 -22
- package/src/superlocalmemory/retrieval/reranker.py +32 -1
- package/src/superlocalmemory/retrieval/temporal_channel.py +16 -3
- package/src/superlocalmemory/retrieval/temporal_utils.py +107 -0
- package/src/superlocalmemory/retrieval/temporal_validity_filter.py +155 -42
- package/src/superlocalmemory/retrieval/vector_store.py +214 -8
- package/src/superlocalmemory/server/api.py +5 -5
- package/src/superlocalmemory/server/egress_policy.py +258 -0
- package/src/superlocalmemory/server/rbac_enforce.py +32 -0
- package/src/superlocalmemory/server/route_mutations.py +20 -0
- package/src/superlocalmemory/server/routes/compliance.py +153 -7
- package/src/superlocalmemory/server/routes/data_io.py +43 -2
- package/src/superlocalmemory/server/routes/events.py +15 -0
- package/src/superlocalmemory/server/routes/memories.py +56 -3
- package/src/superlocalmemory/server/routes/mesh.py +82 -1
- package/src/superlocalmemory/server/routes/mesh_lock.py +54 -0
- package/src/superlocalmemory/server/routes/mesh_state.py +63 -0
- package/src/superlocalmemory/server/routes/v3_api.py +50 -27
- package/src/superlocalmemory/server/routes/ws.py +86 -0
- package/src/superlocalmemory/server/ui.py +6 -6
- package/src/superlocalmemory/server/unified_daemon.py +942 -119
- package/src/superlocalmemory/storage/_migration_internals.py +568 -0
- package/src/superlocalmemory/storage/_schema_version.py +110 -0
- package/src/superlocalmemory/storage/database.py +329 -24
- package/src/superlocalmemory/storage/embedding_migrator.py +246 -51
- package/src/superlocalmemory/storage/erasure_fence.py +45 -0
- package/src/superlocalmemory/storage/generation_fence.py +63 -0
- package/src/superlocalmemory/storage/migration_runner.py +140 -424
- package/src/superlocalmemory/storage/migrations/M009_model_lineage.py +40 -0
- package/src/superlocalmemory/storage/migrations/M033_projection_transactions.py +148 -0
- package/src/superlocalmemory/storage/migrations/M034_obligation_integrity.py +58 -0
- package/src/superlocalmemory/storage/migrations/M035_erasure_receipts.py +113 -0
- package/src/superlocalmemory/storage/migrations/M036_vector_row_map.py +107 -0
- package/src/superlocalmemory/storage/migrations/M037_manifest_hmac_version.py +162 -0
- package/src/superlocalmemory/storage/migrations/{M033_learning_feedback_channel.py → M038_learning_feedback_channel.py} +3 -3
- package/src/superlocalmemory/storage/migrations/{M034_scene_fact_members.py → M039_scene_fact_members.py} +15 -5
- package/src/superlocalmemory/storage/migrations/__init__.py +4 -4
- package/src/superlocalmemory/storage/schema.py +10 -2
- package/src/superlocalmemory/storage/write_coordinator.py +125 -0
- package/src/superlocalmemory/trust/scorer.py +28 -4
- package/src/superlocalmemory/ui/index.html +14 -3
- package/src/superlocalmemory/ui/js/auto-settings.js +12 -1
- package/src/superlocalmemory/ui/js/brain.js +6 -4
- package/src/superlocalmemory/ui/js/compliance.js +66 -12
- package/src/superlocalmemory/ui/js/dashboard.js +13 -3
- package/src/superlocalmemory/ui/js/feedback.js +8 -2
- package/src/superlocalmemory/ui/js/lifecycle.js +7 -1
- package/src/superlocalmemory/ui/js/modal.js +272 -5
- package/src/superlocalmemory/ui/js/od-backup.js +9 -2
- package/src/superlocalmemory/ui/js/od-compliance-ext.js +301 -0
- package/src/superlocalmemory/ui/js/od-operations.js +154 -23
- package/src/superlocalmemory/ui/js/od-ops-health.js +417 -0
- package/src/superlocalmemory/ui/js/od-optimize.js +35 -21
- package/src/superlocalmemory/ui/js/od-team.js +9 -2
- package/src/superlocalmemory/ui/js/optimize.js +13 -16
- package/src/superlocalmemory/ui/js/profiles.js +7 -3
- package/src/superlocalmemory/ui/js/settings.js +7 -1
- package/src/superlocalmemory/vector/lancedb_backend.py +19 -9
- package/src/superlocalmemory/attribution/mathematical_dna.py +0 -235
- package/src/superlocalmemory/cli/post_install.py +0 -114
- package/src/superlocalmemory/core/clock_monitor.py +0 -45
- package/src/superlocalmemory/core/db_pool.py +0 -80
- package/src/superlocalmemory/core/error_catalog.py +0 -113
- package/src/superlocalmemory/core/loop_watchdog.py +0 -56
- package/src/superlocalmemory/core/priority_queue.py +0 -61
- package/src/superlocalmemory/core/pruning_engine.py +0 -216
- package/src/superlocalmemory/core/queue_dispatcher.py +0 -73
- package/src/superlocalmemory/core/slmignore.py +0 -125
- package/src/superlocalmemory/infra/heartbeat_monitor.py +0 -140
- package/src/superlocalmemory/infra/webhook_dispatcher.py +0 -247
- package/src/superlocalmemory/learning/quantization_scheduler.py +0 -320
- package/src/superlocalmemory/storage/access_control.py +0 -182
package/README.md
CHANGED
|
@@ -5,22 +5,41 @@
|
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
<h1 align="center">SuperLocalMemory
|
|
9
|
-
|
|
10
|
-
<
|
|
11
|
-
|
|
8
|
+
<h1 align="center">SuperLocalMemory V4.0.0</h1>
|
|
9
|
+
|
|
10
|
+
<h2 align="center">Rent the LLM. Own the memory.</h2>
|
|
11
|
+
|
|
12
|
+
<p align="center"><em>Rent an LLM — but own the memory, for your company and for your industry.</em></p>
|
|
13
|
+
|
|
14
|
+
<p align="center"><strong>The governed memory layer for AI agents: local-first, auditable, and built for the compliance obligations teams now actually carry.</strong><br/>
|
|
15
|
+
Models are interchangeable and rented by the token. What your agents <em>remember</em> is
|
|
16
|
+
yours — it is your customers' data, your retention obligations, and your audit trail. SLM
|
|
17
|
+
keeps that layer on infrastructure you control, with multi-workspace isolation, role-based
|
|
18
|
+
access, and GDPR + EU AI Act governance controls built in.</p>
|
|
19
|
+
|
|
20
|
+
<p align="center"><strong>The boundary.</strong> SuperLocalMemory starts with a local runtime;
|
|
21
|
+
provider-backed enrichment, cloud backup, connectors, and proxy use are explicit choices.
|
|
22
|
+
Different products solve different boundaries. Published benchmark evidence carried into V4
|
|
23
|
+
comes from the published V3 research architecture; it is not a claim of a newly rerun V4 package benchmark.</p>
|
|
24
|
+
|
|
25
|
+
<p align="center"><strong>How to check that, rather than believe it.</strong> Every reliability
|
|
26
|
+
guarantee here is stated as a falsifiable invariant, tested under an adversarial condition with a
|
|
27
|
+
negative control, and shipped with the harness that regenerates the evidence:
|
|
28
|
+
<code>python benchmark/run_all.py --trials 200 --output-dir results/</code>. What each experiment
|
|
29
|
+
does <em>not</em> exercise is stated too.</p>
|
|
30
|
+
<p align="center"><code>v4.0.0</code> — one control plane: <strong>SLM-Mesh</strong> peer coordination · multi-scope memory (personal / shared / global) · profiles · Cache · Compress · 7-layer retrieval · code graph · Entity Explorer · skill evolution · Modes A/B/C · GDPR retention & audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
|
|
12
31
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
13
32
|
<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
33
|
|
|
15
34
|
<p align="center">
|
|
16
|
-
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/
|
|
35
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.0-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.0 — Current Release"/></a>
|
|
17
36
|
<a href="https://arxiv.org/abs/2603.14588"><img src="https://img.shields.io/badge/arXiv-2603.14588-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="arXiv Paper"/></a>
|
|
18
37
|
<a href="#three-surfaces-proxy--mcp-tools--skill"><img src="https://img.shields.io/badge/Proxy_|_MCP_|_Skill-22c55e?style=for-the-badge" alt="Three Surfaces: Proxy, MCP Tools, Skill"/></a>
|
|
19
38
|
<a href="https://pypi.org/project/superlocalmemory/"><img src="https://img.shields.io/pypi/v/superlocalmemory?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"/></a>
|
|
20
39
|
<a href="https://www.npmjs.com/package/superlocalmemory"><img src="https://img.shields.io/npm/v/superlocalmemory?style=for-the-badge&logo=npm&logoColor=white" alt="npm"/></a>
|
|
21
40
|
<a href="https://www.gnu.org/licenses/agpl-3.0"><img src="https://img.shields.io/badge/License-AGPL_v3-blue.svg?style=for-the-badge" alt="AGPL v3"/></a>
|
|
22
41
|
<a href="#privacy-controls-and-operating-modes"><img src="https://img.shields.io/badge/Privacy-Deployment_Assessed-brightgreen?style=for-the-badge" alt="Privacy controls require deployment assessment"/></a>
|
|
23
|
-
<a href="#teams-and-enterprise-memory-
|
|
42
|
+
<a href="#teams-and-enterprise-memory-v4"><img src="https://img.shields.io/badge/Enterprise-GDPR_%7C_EU_AI_Act-0b5394?style=for-the-badge" alt="Enterprise governance: GDPR and EU AI Act controls"/></a>
|
|
24
43
|
<a href="https://superlocalmemory.com"><img src="https://img.shields.io/badge/Web-superlocalmemory.com-ff6b35?style=for-the-badge" alt="Website"/></a>
|
|
25
44
|
<a href="#dual-interface-mcp--cli"><img src="https://img.shields.io/badge/MCP-Native-blue?style=for-the-badge" alt="MCP Native"/></a>
|
|
26
45
|
<a href="#dual-interface-mcp--cli"><img src="https://img.shields.io/badge/CLI-Agent--Native-green?style=for-the-badge" alt="CLI Agent-Native"/></a>
|
|
@@ -35,21 +54,24 @@ SuperLocalMemory is an enterprise-grade, local-first memory control plane for AI
|
|
|
35
54
|
|
|
36
55
|
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.
|
|
37
56
|
|
|
38
|
-
Different products solve different boundaries. The published benchmark evidence
|
|
57
|
+
Different products solve different boundaries. The published LoCoMo benchmark evidence in this README is protocol-scoped evidence from the published V3 research architecture; it is carried forward for continuity and is not a claim of a newly rerun V4 package benchmark.
|
|
39
58
|
|
|
40
|
-
SuperLocalMemory
|
|
59
|
+
SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph, temporal, associative, and statistical relevance scoring in a **7-layer** control plane (admission → queryable core → enrichment → brain → multi-channel retrieval → context safety → operations). The default local runtime does not require Docker, a separately operated graph database, or an API key.
|
|
41
60
|
|
|
42
61
|
**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.
|
|
43
62
|
|
|
44
|
-
**What
|
|
45
|
-
foundation; 3.8.1 is the existing-install stability patch for it:
|
|
63
|
+
**What V4.0.0 ships.** V4 is a *governed* local-first control plane — every canonical write is admitted, policy-authorized, tracked as durable per-store obligations (lexical, temporal, vector), and sealed by a completion manifest, so it is either fully applied or explicitly marked degraded, never silently half-done. Flagship surfaces in this release:
|
|
46
64
|
|
|
47
|
-
- **
|
|
48
|
-
- **
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
- **
|
|
52
|
-
- **
|
|
65
|
+
- **[SLM-Mesh](#slm-mesh-cross-session--cross-machine-coordination)** — authenticated cross-session and cross-machine peer coordination (messages, locks, shared state, inbox/outbox, optional discovery). Coordination only — not automatic replicated memory.
|
|
66
|
+
- **Multi-scope memory & profiles** — workspaces (profiles) plus `personal` / `shared` / `global` scopes; cross-profile recall is default-deny.
|
|
67
|
+
- **Cache & compression (context optimization)** — exact-match cache with tagged invalidation, safe compression, and opt-in reversible/aggressive paths across proxy, MCP, and skill surfaces.
|
|
68
|
+
- **Entity Explorer & skill evolution** — compiled entity summaries/timelines; opt-in skill lineage, budgets, and verification outcomes.
|
|
69
|
+
- **Modes A / B / C** — local-only (A), on-device LLM enrichment (B), provider-assisted (C). An operating mode records technical locality facts; it does **not** determine EU AI Act legal compliance (that is deployment-context assessment — see [Privacy controls](#privacy-controls-and-operating-modes)).
|
|
70
|
+
- **GDPR posture, retention & audit chain** — export, fail-closed cross-store erasure, retention policies, and a hash-chained audit trail. Engineering controls for compliance programs, not a legal certification.
|
|
71
|
+
- **7-layer retrieval/recall stack & code graph** — multi-channel candidates (semantic, BM25, temporal, Hopfield, spreading activation) plus optional code-graph tools for blast radius and review context.
|
|
72
|
+
- **MCP profiles** — `full` exposes **42** tools (default everyday surface); `power` **54**; `whole` **87** (all registered). Also `core` (14), `code` (24), and `mesh` (8).
|
|
73
|
+
- **Governed write path & verifiable transactions** — admission + policy control, a per-owner obligation ledger, and a hash-sealed completion manifest with a reconciler that redrives unmet obligations.
|
|
74
|
+
- **Self-healing lifecycle & admin remediation** — stale locks cleared on restart; list/resolve stuck operations from CLI, MCP, or the dashboard.
|
|
53
75
|
|
|
54
76
|
SLM is one strand of Qualixar's work on AI reliability engineering: making agent behavior observable, bounded, and reproducible instead of best-effort.
|
|
55
77
|
|
|
@@ -60,7 +82,7 @@ The architecture evaluated in the V3 paper remains the foundation of this releas
|
|
|
60
82
|
Different products solve different boundaries. SLM is for developers who want
|
|
61
83
|
one local-first operating control plane—not only an SDK, managed context API,
|
|
62
84
|
or agent runtime. It combines dated evidence, graph-aware retrieval, cache and
|
|
63
|
-
compression controls,
|
|
85
|
+
compression controls, **SLM-Mesh**, and MCP/CLI/hooks/dashboard/IDE
|
|
64
86
|
surfaces in one install.
|
|
65
87
|
|
|
66
88
|
| If your primary need is… | Product boundary to evaluate |
|
|
@@ -78,24 +100,24 @@ for current primary sources and protocol-scoped benchmark evidence. A LoCoMo
|
|
|
78
100
|
percentage is comparable only when the dataset scope, answer model, judge,
|
|
79
101
|
retrieval stack, and release artifact match.
|
|
80
102
|
|
|
81
|
-
### The
|
|
103
|
+
### The V4 capability architecture
|
|
82
104
|
|
|
83
105
|
SuperLocalMemory is one local control plane for persistent agent context. It is
|
|
84
106
|
not just a vector store: the same runtime can accept evidence, build and govern
|
|
85
107
|
memory, retrieve bounded evidence for an agent, and expose cache, compression,
|
|
86
|
-
and peer-coordination controls through a CLI, MCP, dashboard, and supported
|
|
108
|
+
and **SLM-Mesh** peer-coordination controls through a CLI, MCP, dashboard, and supported
|
|
87
109
|
IDE integrations.
|
|
88
110
|
|
|
89
|
-

|
|
90
112
|
|
|
91
113
|
*Architecture boundary: SQLite + sqlite-vec remain canonical; CozoDB and
|
|
92
|
-
LanceDB are parity-gated projections; Mesh coordinates trusted peers rather
|
|
114
|
+
LanceDB are parity-gated projections; **SLM-Mesh** coordinates trusted peers rather
|
|
93
115
|
than replicating a distributed memory database; connectors are opt-in.*
|
|
94
116
|
|
|
95
117
|
**Memory boundaries:** profiles isolate workspaces by default. Every memory is
|
|
96
118
|
`personal`, `shared` with named profile readers, or `global`; cross-profile
|
|
97
119
|
recall is default-deny and must be explicitly enabled. This scoped sharing is
|
|
98
|
-
local authorization, not SLM
|
|
120
|
+
local authorization, not **SLM-Mesh** synchronization. See
|
|
99
121
|
[shared-memory.md](docs/shared-memory.md).
|
|
100
122
|
|
|
101
123
|
```text
|
|
@@ -130,7 +152,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
130
152
|
| **Knowledge graph and entities** | Canonical entities, aliases, entity profiles, graph edges, scenes, timelines, explorer and graph APIs | Stored/derived graph data is evidence, not an instruction authority. |
|
|
131
153
|
| **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are managed with prepare → verify → promote → rollback; a structurally detected pre-v3.7 projection can be explicitly adopted. | Promotion is parity-gated and crash-recoverable. Legacy adoption preserves the prior projection as a rollback backup; repeated physical edge rows normalize to one logical edge with the strongest weight. |
|
|
132
154
|
| **Optimize** | Exact cache, tagged invalidation, safe compression, opt-in aggressive prose compression, CCR originals, proxy/MCP/skill surfaces | Only proxy intercepts a primary provider turn. MCP/skill cache results explicitly routed through SLM. |
|
|
133
|
-
| **Mesh** | Authenticated peer messages, inbox/outbox, locks, offline queue, optional discovery and mesh MCP tools | Mesh is coordination, not automatic replicated memory or conflict resolution. |
|
|
155
|
+
| **SLM-Mesh** | Authenticated peer messages, inbox/outbox, locks, offline queue, optional discovery and mesh MCP tools | SLM-Mesh is coordination, not automatic replicated memory or conflict resolution. |
|
|
134
156
|
| **Governance and operations** | Provenance, audit/retention/policy surfaces, export/erasure controls, diagnostics, health, backups and daemon lifecycle | These are engineering controls, not a legal certification. |
|
|
135
157
|
| **Integrations** | CLI, Python SDK, MCP HTTP/stdio, Claude plugin, Codex add-on, supported IDE configurations, Gmail/Calendar/transcript adapters | Hooks, IDE edits, connectors, and networked adapters require explicit operator activation. |
|
|
136
158
|
|
|
@@ -146,7 +168,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
146
168
|
| Operations | ingestion-operation state, traces, maintenance and lifecycle work |
|
|
147
169
|
| Entity Explorer and Skill Evolution | compiled entity summaries/timelines; opt-in skill lineage, budgets and verification outcomes |
|
|
148
170
|
| Multi-Agent Memory | per-agent write activity and attribution; memories stamped by `SLM_AGENT_ID`, agent write counts, and trust signals |
|
|
149
|
-
| Mesh Peers | configured peers, inbox/outbox, pending coordination and locks |
|
|
171
|
+
| SLM-Mesh Peers | configured peers, inbox/outbox, pending coordination and locks |
|
|
150
172
|
| Settings and Optimize | mode/provider/configuration; cache, compression and savings telemetry |
|
|
151
173
|
|
|
152
174
|
Dashboard visibility is not a substitute for runtime proof: use `slm doctor`,
|
|
@@ -159,9 +181,9 @@ deployment.
|
|
|
159
181
|
|
|
160
182
|
**[Watch the SuperLocalMemory demo on YouTube](https://www.youtube.com/watch?v=PMWW_ypsL60)** — a five-minute walkthrough of installation, setup, recall, cache, and compression. The video shows a product walkthrough; use the commands and release notes in this README as the current release contract.
|
|
161
183
|
|
|
162
|
-
### Published LoCoMo evidence (V3 architecture, carried into
|
|
184
|
+
### Published LoCoMo evidence (V3 architecture, carried into V4)
|
|
163
185
|
|
|
164
|
-
The V3 paper evaluates the architecture
|
|
186
|
+
The V3 paper evaluates the multi-channel architecture that V4 still runs. Every figure below
|
|
165
187
|
is protocol-scoped, so a reader can distinguish local retrieval, answer
|
|
166
188
|
construction, and cloud-assisted evaluation rather than treating unlike runs as
|
|
167
189
|
one score.
|
|
@@ -182,7 +204,7 @@ information-geometric layers versus **58.9%** without them: **+12.7pp**.
|
|
|
182
204
|
See [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) and the [official
|
|
183
205
|
LoCoMo paper](https://arxiv.org/abs/2402.17753) for the full protocol,
|
|
184
206
|
ablation table, and limitations. These are published V3 architecture results
|
|
185
|
-
carried into
|
|
207
|
+
carried into V4—not a substitute for a newly rerun release-artifact benchmark.
|
|
186
208
|
|
|
187
209
|
---
|
|
188
210
|
|
|
@@ -294,10 +316,6 @@ quality must be evaluated for the target client and workload; V3.8.0 publishes n
|
|
|
294
316
|
|
|
295
317
|
**Multilingual models:** configure an OpenAI-compatible embedding endpoint such as Ollama, vLLM, LiteLLM, `bge-m3`, `multilingual-e5`, or `Qwen3-Embedding`. Language coverage and retrieval quality depend on the selected model and should be evaluated for the deployment corpus.
|
|
296
318
|
|
|
297
|
-
<a id="remote-embedding-and-rerank-endpoints"></a>
|
|
298
|
-
|
|
299
|
-
**Remote embedding + rerank endpoints.** The bundled reranker `cross-encoder/ms-marco-MiniLM-L-12-v2` is **English-only**, so a Chinese, Japanese, or Arabic corpus is scored by a model that cannot read it. Set `retrieval.cross_encoder_backend: "openai"` plus `retrieval.cross_encoder_endpoint` to route reranking to any Cohere-shaped `POST /v1/rerank` service — llama-server, text-embeddings-inference, Infinity — running a multilingual model such as `BAAI/bge-reranker-v2-m3` (v3.8.12, [#105](https://github.com/qualixar/superlocalmemory/issues/105); the same escape hatch embeddings got in v3.4.24, [#16](https://github.com/qualixar/superlocalmemory/issues/16)). No subprocess and no local model download. An unreachable, slow, or malformed endpoint logs an error and returns fusion-ranked results — SLM never silently substitutes the local English model. Keys, auth, and failure semantics: **[docs/configuration.md](docs/configuration.md#remote-embedding-and-rerank-endpoints)**.
|
|
300
|
-
|
|
301
319
|
### Cache + Compress
|
|
302
320
|
|
|
303
321
|
<a id="three-surfaces-proxy--mcp-tools--skill"></a>
|
|
@@ -327,11 +345,12 @@ actual cost and latency savings depend on the intercepted surface and provider.
|
|
|
327
345
|
|
|
328
346
|
**Savings dashboard:** `slm optimize savings --since 7` — live USD/INR/tokens saved. Hot-reload config, fail-open.
|
|
329
347
|
|
|
330
|
-
### Mesh
|
|
348
|
+
### SLM-Mesh (cross-session / cross-machine coordination)
|
|
331
349
|
|
|
332
350
|
<a id="multi-machine-mesh-coordination"></a>
|
|
351
|
+
<a id="slm-mesh-cross-session--cross-machine-coordination"></a>
|
|
333
352
|
|
|
334
|
-
Mesh
|
|
353
|
+
**SLM-Mesh** is the V4 peer-coordination plane: authenticated messages, locks, shared lightweight state, inbox/outbox, and an offline queue between configured peers (same machine sessions or cross-machine). Optional mDNS discovery (`SLM_MESH_DISCOVERY=on`). It is **not** a replicated or conflict-resolving distributed-memory database — multi-scope memory sharing is a separate local-authorization feature.
|
|
335
354
|
|
|
336
355
|
```bash
|
|
337
356
|
# Machine A (broker)
|
|
@@ -345,7 +364,7 @@ export SLM_MESH_SHARED_SECRET=my-secret-key
|
|
|
345
364
|
slm init
|
|
346
365
|
```
|
|
347
366
|
|
|
348
|
-
|
|
367
|
+
Eight **SLM-Mesh** MCP tools: `mesh_summary`, `mesh_peers`, `mesh_send`, `mesh_inbox`, `mesh_state`, `mesh_lock`, `mesh_events`, `mesh_status`.
|
|
349
368
|
|
|
350
369
|
Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-deployment.md](docs/distributed-deployment.md)
|
|
351
370
|
|
|
@@ -353,6 +372,8 @@ Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-d
|
|
|
353
372
|
|
|
354
373
|
## Install Paths
|
|
355
374
|
|
|
375
|
+
> **V4 platform support:** Apple Silicon macOS, 64-bit Windows, and 64-bit Linux. Intel Mac and 32-bit Windows are not supported by the patched `cryptography` 50 runtime.
|
|
376
|
+
|
|
356
377
|
| Path | Command | When |
|
|
357
378
|
|:-----|:--------|:-----|
|
|
358
379
|
| **npm global CLI** (primary) | `npm install -g superlocalmemory` | Node 18+; package-owned virtual environment; system Python is not modified; run `slm setup` explicitly afterward |
|
|
@@ -398,10 +419,10 @@ Control tool surface via `SLM_MCP_PROFILE`:
|
|
|
398
419
|
|:--------|:-----:|:---------|
|
|
399
420
|
| `core` | 14 | Memory, session, and optimize core |
|
|
400
421
|
| `code` | 24 | Core + code-graph tools + profile switching + bounded loops |
|
|
401
|
-
| `mesh` | 8 | Mesh
|
|
422
|
+
| `mesh` | 8 | SLM-Mesh only — multi-session / multi-machine coordination |
|
|
402
423
|
| `full` | 42 | Memory + optimize + evolution + mesh + bounded loops |
|
|
403
424
|
| `power` | 54 | Full + administration, lifecycle, and diagnostics |
|
|
404
|
-
| `whole` |
|
|
425
|
+
| `whole` | 87 | Every registered MCP tool |
|
|
405
426
|
|
|
406
427
|
**Precedence:** `ALL` > `TOOLS` > `PROFILE` > `default`
|
|
407
428
|
|
|
@@ -514,9 +535,9 @@ Available controls include local export and erasure commands, hash-chained audit
|
|
|
514
535
|
|
|
515
536
|
---
|
|
516
537
|
|
|
517
|
-
## Teams and Enterprise Memory (
|
|
538
|
+
## Teams and Enterprise Memory (V4)
|
|
518
539
|
|
|
519
|
-
|
|
540
|
+
V4 includes multi-user, multi-workspace controls for teams and organizations (introduced on the 3.8 line and retained). These are opt-in — personal single-user installs work exactly as before with no required login.
|
|
520
541
|
|
|
521
542
|
### Users and roles
|
|
522
543
|
|
|
@@ -570,12 +591,9 @@ These are engineering controls. Compliance depends on deployment configuration,
|
|
|
570
591
|
|
|
571
592
|
### EU AI Act mode verification
|
|
572
593
|
|
|
573
|
-
SLM includes a per-mode EU AI Act
|
|
594
|
+
SLM includes a per-mode EU AI Act *technical posture* report (`EUAIActChecker`). It records facts the runtime can know — whether data is configured to stay local, whether generative AI is used, and that transparency / human-oversight need deployment evidence.
|
|
574
595
|
|
|
575
|
-
-
|
|
576
|
-
- **Mode C (Provider-assisted)** — flagged non-compliant, because query or enrichment content is sent to a cloud model provider.
|
|
577
|
-
|
|
578
|
-
This is operator self-assessment tooling, not a legal certification or conformity assessment; actual EU AI Act obligations depend on your system, deployment, and role. See [docs/compliance.md](docs/compliance.md).
|
|
596
|
+
**An operating mode does not establish legal compliance under the EU AI Act.** Legal risk classification and conformity assessment depend on intended purpose, affected persons, sector, deployment context, and operator controls. The checker therefore returns `compliant=None` / risk category `undetermined` for every mode and always requires deployment-context review. Mode A/B/C only change technical locality and enrichment options (for example Mode C may send content to a configured provider). See [docs/compliance.md](docs/compliance.md) and `src/superlocalmemory/core/modes.py`.
|
|
579
597
|
|
|
580
598
|
### Deployment tiers
|
|
581
599
|
|
|
@@ -594,7 +612,7 @@ Full reference: [docs/rbac-teams.md](docs/rbac-teams.md) · [docs/deployment-tie
|
|
|
594
612
|
|
|
595
613
|
---
|
|
596
614
|
|
|
597
|
-
## Bounded Loops (
|
|
615
|
+
## Bounded Loops (V4)
|
|
598
616
|
|
|
599
617
|
A bounded loop terminates only when an **independent gate** passes — a test
|
|
600
618
|
suite exit code, a linter, a JSON-schema check, or an SLM-recall condition.
|
|
@@ -625,7 +643,7 @@ Multi-Agent Memory workspace.
|
|
|
625
643
|
|
|
626
644
|
---
|
|
627
645
|
|
|
628
|
-
## Framework Adapters (
|
|
646
|
+
## Framework Adapters (V4)
|
|
629
647
|
|
|
630
648
|
SLM ships nine framework adapters under `ide/integrations/`. Each adapter
|
|
631
649
|
wires SLM as the memory and history provider for the respective framework
|
|
@@ -687,32 +705,16 @@ SuperLocalMemory is backed by three preprints by Varun Pratap Bhardwaj (2026):
|
|
|
687
705
|
Use the citation metadata on the linked arXiv or Zenodo records.
|
|
688
706
|
|
|
689
707
|
## Support / License / Qualixar
|
|
690
|
-
|
|
691
708
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. [Wiki](https://github.com/qualixar/superlocalmemory/wiki) for detailed documentation.
|
|
692
|
-
|
|
693
709
|
GNU Affero General Public License v3.0 (AGPL-3.0). See [LICENSE](LICENSE).
|
|
694
|
-
|
|
695
710
|
For commercial licensing (closed-source, proprietary, or hosted use), see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
|
|
696
|
-
|
|
697
711
|
Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar.
|
|
698
|
-
|
|
699
712
|
Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
- **[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`.
|
|
704
|
-
- **[HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace)** informed the skill-evolution verification design (arXiv:2604.01687).
|
|
705
|
-
|
|
706
|
-
### Qualixar AI Agent Reliability Platform
|
|
707
|
-
|
|
708
|
-
Qualixar builds open-source infrastructure for AI reliability engineering.
|
|
709
|
-
Start at **[qualixar.com](https://qualixar.com)** or browse the
|
|
710
|
-
[Qualixar research archive](https://huggingface.co/Qualixar).
|
|
713
|
+
Acknowledgments: [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) informed skill observation; [HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace) informed skill-evolution verification.
|
|
714
|
+
Qualixar builds open-source infrastructure for AI reliability engineering. Start at [qualixar.com](https://qualixar.com) or browse the [research archive](https://huggingface.co/Qualixar).
|
|
711
715
|
|
|
712
716
|
## Star This Project
|
|
713
717
|
|
|
714
718
|
If this project solves a real problem for you, **please star the repo** — it helps other developers discover Qualixar and signals that the AI agent reliability community is growing.
|
|
715
719
|
|
|
716
720
|
[](https://github.com/qualixar/superlocalmemory)
|
|
717
|
-
|
|
718
|
-
The live Star History chart is intentionally not embedded: its upstream service timed out during release validation. The link above is the stable, direct way to star and follow the repository.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superlocalmemory",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
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",
|
|
@@ -81,9 +81,14 @@
|
|
|
81
81
|
"plugin/",
|
|
82
82
|
"plugin-src/skills/slm-cache/SKILL.md",
|
|
83
83
|
"plugin-src/skills/slm-compress/SKILL.md",
|
|
84
|
+
"plugin-src/skills/slm-governance/SKILL.md",
|
|
84
85
|
"plugin-src/skills/slm-graph/SKILL.md",
|
|
86
|
+
"plugin-src/skills/slm-loop/SKILL.md",
|
|
87
|
+
"plugin-src/skills/slm-mesh/SKILL.md",
|
|
88
|
+
"plugin-src/skills/slm-profile/SKILL.md",
|
|
85
89
|
"plugin-src/skills/slm-recall/SKILL.md",
|
|
86
90
|
"plugin-src/skills/slm-remember/SKILL.md",
|
|
91
|
+
"plugin-src/skills/slm-scope/SKILL.md",
|
|
87
92
|
"plugin-src/skills/slm-session/SKILL.md",
|
|
88
93
|
"plugin-src/skills/slm-status/SKILL.md",
|
|
89
94
|
"plugin-src/rules/AGENTS.md",
|
package/plugin/CLAUDE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- BEGIN SuperLocalMemory
|
|
1
|
+
<!-- BEGIN SuperLocalMemory v4.0.0 -->
|
|
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
|
|
42
|
+
<!-- END SuperLocalMemory v4.0.0 -->
|
|
43
43
|
|
|
44
|
-
SuperLocalMemory
|
|
44
|
+
SuperLocalMemory v4.0.0 · 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
|
|
80
|
+
SuperLocalMemory v4.0.0 · Qualixar · AGPL-3.0-or-later
|
|
@@ -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
|
|
49
|
+
SuperLocalMemory v4.0.0 · 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
|
|
44
|
+
SuperLocalMemory v4.0.0 · Qualixar · AGPL-3.0-or-later
|
package/plugin/requirements.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
superlocalmemory==
|
|
1
|
+
superlocalmemory==4.0.0
|
|
@@ -128,4 +128,4 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
|
|
|
128
128
|
- **slm-optimize-advisor** — context compression and KV cache
|
|
129
129
|
- **slm-governance-advisor** — scope/role compliance, retention policies, GDPR
|
|
130
130
|
|
|
131
|
-
SuperLocalMemory
|
|
131
|
+
SuperLocalMemory v4.0.0 · Qualixar · AGPL-3.0-or-later
|