superlocalmemory 4.0.1 → 4.0.3

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 (86) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +37 -43
  3. package/package.json +1 -1
  4. package/plugin/.claude-plugin/plugin.json +1 -1
  5. package/plugin/CLAUDE.md +3 -3
  6. package/plugin/agents/slm-governance-advisor.md +1 -1
  7. package/plugin/agents/slm-loop-runner.md +1 -1
  8. package/plugin/agents/slm-memory-advisor.md +1 -1
  9. package/plugin/agents/slm-optimize-advisor.md +1 -1
  10. package/plugin/requirements.txt +1 -1
  11. package/plugin/skills/slm-cache/SKILL.md +1 -1
  12. package/plugin/skills/slm-compress/SKILL.md +1 -1
  13. package/plugin/skills/slm-governance/SKILL.md +1 -1
  14. package/plugin/skills/slm-graph/SKILL.md +1 -1
  15. package/plugin/skills/slm-loop/SKILL.md +1 -1
  16. package/plugin/skills/slm-mesh/SKILL.md +1 -1
  17. package/plugin/skills/slm-profile/SKILL.md +4 -4
  18. package/plugin/skills/slm-recall/SKILL.md +1 -1
  19. package/plugin/skills/slm-remember/SKILL.md +1 -1
  20. package/plugin/skills/slm-scope/SKILL.md +1 -1
  21. package/plugin/skills/slm-session/SKILL.md +1 -1
  22. package/plugin/skills/slm-status/SKILL.md +1 -1
  23. package/plugin-src/rules/AGENTS.md +3 -3
  24. package/plugin-src/skills/slm-cache/SKILL.md +1 -1
  25. package/plugin-src/skills/slm-compress/SKILL.md +1 -1
  26. package/plugin-src/skills/slm-governance/SKILL.md +1 -1
  27. package/plugin-src/skills/slm-graph/SKILL.md +1 -1
  28. package/plugin-src/skills/slm-loop/SKILL.md +1 -1
  29. package/plugin-src/skills/slm-mesh/SKILL.md +1 -1
  30. package/plugin-src/skills/slm-profile/SKILL.md +4 -4
  31. package/plugin-src/skills/slm-recall/SKILL.md +1 -1
  32. package/plugin-src/skills/slm-remember/SKILL.md +1 -1
  33. package/plugin-src/skills/slm-scope/SKILL.md +1 -1
  34. package/plugin-src/skills/slm-session/SKILL.md +1 -1
  35. package/plugin-src/skills/slm-status/SKILL.md +1 -1
  36. package/pyproject.toml +3 -2
  37. package/scripts/postinstall-interactive.js +1 -0
  38. package/scripts/postinstall.js +4 -0
  39. package/src/superlocalmemory/__init__.py +1 -1
  40. package/src/superlocalmemory/cli/commands.py +70 -20
  41. package/src/superlocalmemory/cli/host_upgrades.py +175 -0
  42. package/src/superlocalmemory/cli/main.py +53 -5
  43. package/src/superlocalmemory/compliance/gdpr.py +104 -73
  44. package/src/superlocalmemory/contracts/__init__.py +1 -0
  45. package/src/superlocalmemory/contracts/schemas/agent-experience-v1.schema.json +92 -0
  46. package/src/superlocalmemory/contracts/schemas/agent-integration-contract-v2.schema.json +46 -0
  47. package/src/superlocalmemory/contracts/schemas/cognitive-turn-receipt-v1.schema.json +59 -0
  48. package/src/superlocalmemory/contracts/v402.py +62 -0
  49. package/src/superlocalmemory/core/engine.py +10 -0
  50. package/src/superlocalmemory/core/recall_pipeline.py +6 -0
  51. package/src/superlocalmemory/core/recall_worker.py +12 -0
  52. package/src/superlocalmemory/core/worker_pool.py +12 -0
  53. package/src/superlocalmemory/hooks/hook_handlers.py +16 -0
  54. package/src/superlocalmemory/hooks/post_tool_outcome_hook.py +12 -6
  55. package/src/superlocalmemory/hooks/session_registry.py +136 -3
  56. package/src/superlocalmemory/hooks/user_prompt_hook.py +9 -2
  57. package/src/superlocalmemory/integrations/__init__.py +1 -0
  58. package/src/superlocalmemory/integrations/bounded_loops_v051.py +236 -0
  59. package/src/superlocalmemory/learning/database.py +21 -14
  60. package/src/superlocalmemory/mcp/_daemon_proxy.py +9 -0
  61. package/src/superlocalmemory/mcp/profiles.py +21 -12
  62. package/src/superlocalmemory/mcp/server.py +9 -6
  63. package/src/superlocalmemory/mcp/tools_brain.py +132 -0
  64. package/src/superlocalmemory/mcp/tools_core.py +25 -6
  65. package/src/superlocalmemory/mcp/tools_v3.py +16 -2
  66. package/src/superlocalmemory/retrieval/engine.py +43 -1
  67. package/src/superlocalmemory/retrieval/temporal_utils.py +16 -1
  68. package/src/superlocalmemory/retrieval/temporal_validity_filter.py +151 -0
  69. package/src/superlocalmemory/server/routes/brain.py +206 -1
  70. package/src/superlocalmemory/server/routes/helpers.py +53 -35
  71. package/src/superlocalmemory/server/routes/v3_api.py +118 -11
  72. package/src/superlocalmemory/server/unified_daemon.py +25 -0
  73. package/src/superlocalmemory/storage/_migration_internals.py +4 -0
  74. package/src/superlocalmemory/storage/_schema_version.py +2 -2
  75. package/src/superlocalmemory/storage/agent_experience.py +490 -0
  76. package/src/superlocalmemory/storage/database.py +189 -34
  77. package/src/superlocalmemory/storage/migration_runner.py +8 -0
  78. package/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +18 -0
  79. package/src/superlocalmemory/storage/migrations/M040_agent_experience_receipts.py +254 -0
  80. package/src/superlocalmemory/storage/migrations/__init__.py +2 -0
  81. package/src/superlocalmemory/storage/schema.py +4 -0
  82. package/src/superlocalmemory/ui/js/auto-settings.js +18 -14
  83. package/src/superlocalmemory/ui/js/brain.js +57 -1
  84. package/src/superlocalmemory/ui/js/od-brain.js +114 -40
  85. package/src/superlocalmemory/ui/js/od-mcp.js +6 -6
  86. package/src/superlocalmemory/ui/js/od-settings.js +8 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,56 @@ All notable changes to SuperLocalMemory 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
+ ## [4.0.3] - 2026-08-15 — Consented host integration upgrades
9
+
10
+ ### Added
11
+ - `slm upgrade-hosts` provides a read-only preview of existing SLM host
12
+ integrations. `--apply` requires either explicit `--host` targets or
13
+ `--all-detected`; unbounded host mutation is rejected.
14
+ - The npm runtime installer and interactive setup checklist direct existing
15
+ users to the upgrade preview. README, source docs, and Wiki source document
16
+ the host-specific upgrade and restart path.
17
+ - Portable Brain evidence is now reachable from the `code`, `full`, and
18
+ `power` MCP profiles used by installed agents. Profile counts are now code
19
+ 28, full 46, power 58, and whole 91; legacy count-suffixed aliases remain
20
+ supported.
21
+ - The separately packaged Codex rules and skills are synchronized from the
22
+ shared plugin source for this release.
23
+
24
+ ### Changed
25
+ - Existing portable MCP blocks are verified and preserved, retaining their
26
+ host-specific command paths, environment variables, and unrelated servers.
27
+ Codex refreshes only SLM-owned skills, agents, and lifecycle hooks.
28
+ - Claude Code plugin updates remain owned by its native plugin manager.
29
+
30
+ ### Safety
31
+ - Normal CLI commands and MCP startup no longer auto-install or update Claude
32
+ Code hooks. Host configuration changes require explicit operator action.
33
+
34
+ ## [4.0.2] - 2026-08-15 — Portable Living Brain evidence
35
+
36
+ ### Added
37
+ - Profile-scoped Agent Experience and Cognitive Turn receipts live in the
38
+ separate `learning.db` plane, with contract validation, short bounded writes,
39
+ idempotency, migration verification, and profile-erasure cleanup.
40
+ - A portable Brain evidence interface for MCP clients, a read-only
41
+ `slm brain --json` CLI view, and an honest Living Brain dashboard panel.
42
+ - A bounded-loops 0.5.1 public-CLI observation adapter that preserves the
43
+ unverified boundary: imported loop output cannot teach SLM automatically.
44
+
45
+ ### Fixed
46
+ - Current recall now excludes system-superseded facts, including candidates
47
+ reintroduced by bridge/scene expansion and stale session pins. Historical
48
+ `as_of` recall preserves the prior record where appropriate.
49
+ - Dashboard model configuration preserves unspecified provider/mode fields and
50
+ does not overwrite redacted endpoint values on a reload/save cycle.
51
+
52
+ ### Safety
53
+ - Receipt writes use a separate SQLite writer domain with a sub-second busy
54
+ deadline. Mixed foreground memory traffic under receipt load is regression
55
+ tested with a p95 budget below two seconds; receipt evidence remains
56
+ observation-only and never changes retrieval, ranking, or routing by itself.
57
+
8
58
  ## [4.0.1] - 2026-08-09 — Dashboard and operations-status correctness
9
59
 
10
60
  ### Fixed
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </picture>
6
6
  </p>
7
7
 
8
- <h1 align="center">SuperLocalMemory V4.0.1</h1>
8
+ <h1 align="center">SuperLocalMemory V4.0.3</h1>
9
9
 
10
10
  <h2 align="center">Rent the LLM. Own the memory.</h2>
11
11
 
@@ -27,12 +27,13 @@ guarantee here is stated as a falsifiable invariant, tested under an adversarial
27
27
  negative control, and shipped with the harness that regenerates the evidence:
28
28
  <code>python benchmark/run_all.py --trials 200 --output-dir results/</code>. What each experiment
29
29
  does <em>not</em> exercise is stated too.</p>
30
- <p align="center"><code>v4.0.1</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 &amp; audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
30
+ <p align="center"><code>v4.0.3</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 &amp; audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
31
31
  Proxy: <code>slm wrap claude</code> &nbsp;·&nbsp; MCP: add <code>slm_compress</code> to your config &nbsp;·&nbsp; Skill: zero-config</p>
32
- <p align="center"><strong>4 public research records</strong> · V4 preprint: <a href="https://zenodo.org/records/21853302">Zenodo 21853302</a> (<a href="https://doi.org/10.5281/zenodo.21853302">DOI 10.5281/zenodo.21853302</a>) · prior arXiv preprints: <a href="https://arxiv.org/abs/2603.02240">2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">2604.04514</a>. The V4 arXiv submission is pending public announcement.</p>
32
+ <p align="center"><strong>Four public arXiv preprints</strong> · V4: <a href="https://arxiv.org/abs/2608.08253">arXiv:2608.08253</a> · companion archive: <a href="https://zenodo.org/records/21853302">Zenodo 21853302</a> (<a href="https://doi.org/10.5281/zenodo.21853302">DOI 10.5281/zenodo.21853302</a>) · prior preprints: <a href="https://arxiv.org/abs/2603.02240">2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">2604.04514</a>.</p>
33
33
 
34
34
  <p align="center">
35
- <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.1-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.1 — Current Release"/></a>
35
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.3-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.3 — Current Release"/></a>
36
+ <a href="https://arxiv.org/abs/2608.08253"><img src="https://img.shields.io/badge/arXiv-2608.08253-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="SuperLocalMemory 4.0 paper on arXiv:2608.08253"/></a>
36
37
  <a href="https://zenodo.org/records/21853302"><img src="https://img.shields.io/badge/Zenodo-10.5281%2Fzenodo.21853302-1682D4?style=for-the-badge&logo=zenodo&logoColor=white" alt="V4 paper on Zenodo: 10.5281/zenodo.21853302"/></a>
37
38
  <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>
38
39
  <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>
@@ -61,7 +62,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
61
62
 
62
63
  **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.
63
64
 
64
- **What V4.0.1 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:
65
+ **What V4.0.3 ships.** Existing users can now preview and explicitly refresh SLM-owned host integrations with `slm upgrade-hosts`, while package installation and MCP startup no longer silently modify host hook configuration. V4 remains 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:
65
66
 
66
67
  - **[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.
67
68
  - **Multi-scope memory & profiles** — workspaces (profiles) plus `personal` / `shared` / `global` scopes; cross-profile recall is default-deny.
@@ -70,7 +71,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
70
71
  - **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)).
71
72
  - **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.
72
73
  - **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.
73
- - **MCP profiles** — `full` exposes **42** tools (default everyday surface); `power` **54**; `whole` **87** (all registered). Also `core` (14), `code` (24), and `mesh` (8).
74
+ - **MCP profiles** — `code` exposes **28** tools for installed coding agents; `full` **46**; `power` **58**; `whole` **91** (all registered). Also `core` (14), `mesh` (8), and the unrestricted default surface (46 with mesh enabled).
74
75
  - **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.
75
76
  - **Self-healing lifecycle & admin remediation** — stale locks cleared on restart; list/resolve stuck operations from CLI, MCP, or the dashboard.
76
77
 
@@ -386,6 +387,22 @@ Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-d
386
387
 
387
388
  After any install path: `slm setup` → `slm doctor` → `slm warmup` (optional, pre-downloads ~500MB embedding model).
388
389
 
390
+ ### Upgrading an existing installation
391
+
392
+ An npm, pip, or repository update upgrades the SLM runtime; it does not silently
393
+ rewrite your IDE configuration, hooks, or plugin state. Review the existing
394
+ integrations first:
395
+
396
+ ```bash
397
+ slm upgrade-hosts
398
+ ```
399
+
400
+ Then explicitly apply the hosts you approve, for example
401
+ `slm upgrade-hosts --host codex --apply`, or use
402
+ `slm upgrade-hosts --all-detected --apply` after reviewing the preview. See
403
+ [Host Integration Upgrades](docs/host-upgrades.md) for the full safety contract
404
+ and the Claude Code plugin update path.
405
+
389
406
  | Component | Size | When |
390
407
  |:----------|:-----|:-----|
391
408
  | Core libraries (numpy, scipy, networkx) | ~50MB | During install |
@@ -419,11 +436,11 @@ Control tool surface via `SLM_MCP_PROFILE`:
419
436
  | Profile | Tools | Use case |
420
437
  |:--------|:-----:|:---------|
421
438
  | `core` | 14 | Memory, session, and optimize core |
422
- | `code` | 24 | Core + code-graph tools + profile switching + bounded loops |
439
+ | `code` | 28 | Core + portable Brain evidence + code-graph tools + profile switching + bounded loops |
423
440
  | `mesh` | 8 | SLM-Mesh only — multi-session / multi-machine coordination |
424
- | `full` | 42 | Memory + optimize + evolution + mesh + bounded loops |
425
- | `power` | 54 | Full + administration, lifecycle, and diagnostics |
426
- | `whole` | 87 | Every registered MCP tool |
441
+ | `full` | 46 | Memory + portable Brain evidence + optimize + evolution + mesh + bounded loops |
442
+ | `power` | 58 | Full + administration, lifecycle, and diagnostics |
443
+ | `whole` | 91 | Every registered MCP tool |
427
444
 
428
445
  **Precedence:** `ALL` > `TOOLS` > `PROFILE` > `default`
429
446
 
@@ -434,7 +451,7 @@ slm mcp
434
451
 
435
452
  For a predictable small surface, set `core` explicitly. Leaving the variable
436
453
  unset retains the compatibility default, whose mesh tools follow the local
437
- mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `code20`, `code21`, `code24`, `mesh8`, `full38`, `full39`, `full42`, `power50`, `power51`, `power54`, `whole81`, `whole84`. Unknown names stop startup instead of silently selecting another tool set.
454
+ mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `code20`, `code21`, `code24`, `code28`, `mesh8`, `full38`, `full39`, `full42`, `full46`, `power50`, `power51`, `power54`, `power58`, `whole81`, `whole84`, `whole91`. Unknown names stop startup instead of silently selecting another tool set.
438
455
 
439
456
  Per-IDE configs available for Claude Code, Cursor, Windsurf, VS Code Copilot, Continue, Gemini CLI, JetBrains, Zed, and more (15 configs in `ide/configs/`). See [docs/ide-setup.md](docs/ide-setup.md).
440
457
 
@@ -646,25 +663,12 @@ Multi-Agent Memory workspace.
646
663
 
647
664
  ## Framework Adapters (V4)
648
665
 
649
- SLM ships nine framework adapters under `ide/integrations/`. Each adapter
650
- wires SLM as the memory and history provider for the respective framework
651
- without replacing the framework's own agent runtime.
652
-
653
- | Framework | Directory |
654
- |-----------|-----------|
655
- | LangGraph | `ide/integrations/langgraph/` |
656
- | Semantic Kernel | `ide/integrations/semantic-kernel/` |
657
- | Microsoft Agent Framework | `ide/integrations/agent-framework/` |
658
- | LangChain | `ide/integrations/langchain/` |
659
- | LlamaIndex | `ide/integrations/llamaindex/` |
660
- | CrewAI | `ide/integrations/crewai/` |
661
- | AutoGen | `ide/integrations/autogen/` |
662
- | Google ADK | `ide/integrations/google-adk/` |
663
- | OpenAI Agents | `ide/integrations/openai-agents/` |
664
-
665
- Pydantic AI is not included — it does not expose a formal memory interface for
666
- external providers. Each adapter's `README.md` covers installation and
667
- configuration for that framework.
666
+ SLM ships nine adapters under `ide/integrations/`: LangGraph, Semantic Kernel,
667
+ Microsoft Agent Framework, LangChain, LlamaIndex, CrewAI, AutoGen, Google ADK,
668
+ and OpenAI Agents. Each wires SLM as memory and history without replacing the
669
+ framework runtime; its directory contains installation/configuration guidance.
670
+ Pydantic AI is not included because it does not expose a formal external-memory
671
+ interface.
668
672
 
669
673
  ---
670
674
 
@@ -696,23 +700,13 @@ runtime capability is enabled and healthy. See [CHANGELOG.md](CHANGELOG.md) for
696
700
  the complete release history.
697
701
  ## Research Papers
698
702
 
699
- SuperLocalMemory has a V4 Zenodo preprint and three earlier arXiv preprints (2026):
700
-
701
- - **SuperLocalMemory 4.0: The Governed Memory Operating System for AI Agents:** [Zenodo 21853302](https://zenodo.org/records/21853302) · [DOI 10.5281/zenodo.21853302](https://doi.org/10.5281/zenodo.21853302). The arXiv submission is pending public announcement.
702
- - **The Living Brain (V3.3):** [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo 19435120](https://zenodo.org/records/19435120)
703
- - **Information-Geometric Foundations (V3):** [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo 19038659](https://zenodo.org/records/19038659)
704
- - **Trust & Behavioral Foundations (V2):** [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo 18709670](https://zenodo.org/records/18709670)
703
+ SuperLocalMemory has a V4 [arXiv preprint](https://arxiv.org/abs/2608.08253) with [Zenodo archive](https://zenodo.org/records/21853302) and [DOI](https://doi.org/10.5281/zenodo.21853302), plus [The Living Brain (V3.3)](https://arxiv.org/abs/2604.04514), [Information-Geometric Foundations (V3)](https://arxiv.org/abs/2603.14588), and [Trust & Behavioral Foundations (V2)](https://arxiv.org/abs/2603.02240).
705
704
 
706
705
  Use the citation metadata on the linked arXiv or Zenodo records.
707
706
 
708
707
  ## Support / License / Qualixar
709
- See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. [Wiki](https://github.com/qualixar/superlocalmemory/wiki) for detailed documentation.
710
- GNU Affero General Public License v3.0 (AGPL-3.0). See [LICENSE](LICENSE).
711
- For commercial licensing (closed-source, proprietary, or hosted use), see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
712
- Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar.
713
- Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
714
- 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.
715
- 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).
708
+ See [CONTRIBUTING.md](CONTRIBUTING.md), the [Wiki](https://github.com/qualixar/superlocalmemory/wiki), and [LICENSE](LICENSE) (AGPL-3.0). For commercial licensing, see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
709
+ Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar · [Qualixar](https://qualixar.com) · [research archive](https://huggingface.co/Qualixar). 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.
716
710
 
717
711
  ## Star This Project
718
712
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superlocalmemory",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
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",
@@ -15,5 +15,5 @@
15
15
  "mcpServers": "./.mcp.json",
16
16
  "name": "superlocalmemory",
17
17
  "repository": "https://github.com/qualixar/superlocalmemory",
18
- "version": "4.0.1"
18
+ "version": "4.0.3"
19
19
  }
package/plugin/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- <!-- BEGIN SuperLocalMemory v4.0.1 -->
1
+ <!-- BEGIN SuperLocalMemory v4.0.3 -->
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 v4.0.1 -->
42
+ <!-- END SuperLocalMemory v4.0.3 -->
43
43
 
44
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v4.0.3 · 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 v4.0.1 · Qualixar · AGPL-3.0-or-later
80
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -68,4 +68,4 @@ assessment. The gate is the authority.
68
68
 
69
69
  ---
70
70
 
71
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
71
+ SuperLocalMemory v4.0.3 · 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 v4.0.1 · Qualixar · AGPL-3.0-or-later
49
+ SuperLocalMemory v4.0.3 · 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 v4.0.1 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -1 +1 @@
1
- superlocalmemory==4.0.1
1
+ superlocalmemory==4.0.3
@@ -145,4 +145,4 @@ These subcommands control daemon-level cache settings. They do not read or write
145
145
 
146
146
  ---
147
147
 
148
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
148
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -147,4 +147,4 @@ Content over 1 MB (1 000 000 bytes UTF-8) is processed but `reversible` is force
147
147
 
148
148
  ---
149
149
 
150
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -245,4 +245,4 @@ Before running any destructive operation (`forget`, `compact_memories`):
245
245
 
246
246
  ---
247
247
 
248
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
248
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -311,4 +311,4 @@ profile. See `slm-profile` for the full profile switching workflow.
311
311
 
312
312
  ---
313
313
 
314
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
314
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -96,4 +96,4 @@ paused, name the approval needed; when errored, quote the short detail.
96
96
 
97
97
  ---
98
98
 
99
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
99
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -279,4 +279,4 @@ mesh availability.
279
279
 
280
280
  ---
281
281
 
282
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
282
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -31,9 +31,9 @@ project, a client engagement, a production vs staging environment.
31
31
  | Profile | Tools | When to use |
32
32
  |---------|-------|-------------|
33
33
  | `core` | 14 tools — remember, recall, search, session, optimize | Minimal footprint, no code tools |
34
- | `code` | 24 tools — core + 6 code-graph tools + switch_profile + 3 bounded-loop tools | Default for IDE/coding agents |
35
- | `full` | 42 tools — code + all memory ops + mesh + bounded loops | Multi-session, team workflows |
36
- | `power` | 54 tools — full + governance + behavioral tools | Enterprise, admin, audit use cases |
34
+ | `code` | 28 tools — core + portable Brain evidence + code graph + profile switching + bounded loops | Default for IDE/coding agents |
35
+ | `full` | 46 tools — code + all memory ops + mesh + bounded loops | Multi-session, team workflows |
36
+ | `power` | 58 tools — full + governance + behavioral tools | Enterprise, admin, audit use cases |
37
37
  | `mesh` | 8 tools — mesh coordination only | Lightweight cross-session signalling |
38
38
 
39
39
  The profile is set at MCP server startup via `SLM_MCP_PROFILE` in the MCP config.
@@ -145,4 +145,4 @@ Name them differently in your MCP config (e.g. `superlocalmemory-personal` and
145
145
 
146
146
  ---
147
147
 
148
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
148
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -236,4 +236,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
236
236
 
237
237
  ---
238
238
 
239
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
239
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -238,4 +238,4 @@ different workspace, use `switch_profile` first. See `slm-profile`.
238
238
 
239
239
  ---
240
240
 
241
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
241
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -173,4 +173,4 @@ to review the impact. See `slm-remember` for the full deletion discipline.
173
173
 
174
174
  ---
175
175
 
176
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
176
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -227,4 +227,4 @@ explicitly and call `recall` with `include_global`/`include_shared` after
227
227
 
228
228
  ---
229
229
 
230
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
230
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -163,4 +163,4 @@ multi-profile setup. To switch the active profile, see `slm-profile`.
163
163
 
164
164
  ---
165
165
 
166
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
166
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -82,10 +82,10 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
82
82
 
83
83
  ## Tool reference (core profile — 14 tools)
84
84
 
85
- > The MCP config ships `SLM_MCP_PROFILE=code` (24 tools): the 14 core memory tools below
85
+ > The MCP config ships `SLM_MCP_PROFILE=code` (28 tools): the 14 core memory tools below
86
86
  > **plus** 6 code-graph tools (`build_code_graph`, `get_blast_radius`, `query_graph`,
87
87
  > `semantic_search_code`, `get_review_context`, `detect_changes`) and `switch_profile`.
88
- > Use `full` (42 tools) to add mesh coordination. Use `power` (54 tools) for governance
88
+ > Use `full` (46 tools) to add mesh coordination. Use `power` (58 tools) for governance
89
89
  > and audit tools. See slm-profile for profile switching.
90
90
 
91
91
  | Tool | Signature (key params) | Notes |
@@ -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 v4.0.1 · Qualixar · AGPL-3.0-or-later
131
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -145,4 +145,4 @@ These subcommands control daemon-level cache settings. They do not read or write
145
145
 
146
146
  ---
147
147
 
148
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
148
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -147,4 +147,4 @@ Content over 1 MB (1 000 000 bytes UTF-8) is processed but `reversible` is force
147
147
 
148
148
  ---
149
149
 
150
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -245,4 +245,4 @@ Before running any destructive operation (`forget`, `compact_memories`):
245
245
 
246
246
  ---
247
247
 
248
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
248
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -311,4 +311,4 @@ profile. See `slm-profile` for the full profile switching workflow.
311
311
 
312
312
  ---
313
313
 
314
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
314
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -96,4 +96,4 @@ paused, name the approval needed; when errored, quote the short detail.
96
96
 
97
97
  ---
98
98
 
99
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
99
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
@@ -279,4 +279,4 @@ mesh availability.
279
279
 
280
280
  ---
281
281
 
282
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
282
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -31,9 +31,9 @@ project, a client engagement, a production vs staging environment.
31
31
  | Profile | Tools | When to use |
32
32
  |---------|-------|-------------|
33
33
  | `core` | 14 tools — remember, recall, search, session, optimize | Minimal footprint, no code tools |
34
- | `code` | 24 tools — core + 6 code-graph tools + switch_profile + 3 bounded-loop tools | Default for IDE/coding agents |
35
- | `full` | 42 tools — code + all memory ops + mesh + bounded loops | Multi-session, team workflows |
36
- | `power` | 54 tools — full + governance + behavioral tools | Enterprise, admin, audit use cases |
34
+ | `code` | 28 tools — core + portable Brain evidence + code graph + profile switching + bounded loops | Default for IDE/coding agents |
35
+ | `full` | 46 tools — code + all memory ops + mesh + bounded loops | Multi-session, team workflows |
36
+ | `power` | 58 tools — full + governance + behavioral tools | Enterprise, admin, audit use cases |
37
37
  | `mesh` | 8 tools — mesh coordination only | Lightweight cross-session signalling |
38
38
 
39
39
  The profile is set at MCP server startup via `SLM_MCP_PROFILE` in the MCP config.
@@ -145,4 +145,4 @@ Name them differently in your MCP config (e.g. `superlocalmemory-personal` and
145
145
 
146
146
  ---
147
147
 
148
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
148
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -236,4 +236,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
236
236
 
237
237
  ---
238
238
 
239
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
239
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -238,4 +238,4 @@ different workspace, use `switch_profile` first. See `slm-profile`.
238
238
 
239
239
  ---
240
240
 
241
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
241
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -173,4 +173,4 @@ to review the impact. See `slm-remember` for the full deletion discipline.
173
173
 
174
174
  ---
175
175
 
176
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
176
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -227,4 +227,4 @@ explicitly and call `recall` with `include_global`/`include_shared` after
227
227
 
228
228
  ---
229
229
 
230
- *SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later*
230
+ *SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later*
@@ -163,4 +163,4 @@ multi-profile setup. To switch the active profile, see `slm-profile`.
163
163
 
164
164
  ---
165
165
 
166
- SuperLocalMemory v4.0.1 · Qualixar · AGPL-3.0-or-later
166
+ SuperLocalMemory v4.0.3 · Qualixar · AGPL-3.0-or-later
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superlocalmemory"
3
- version = "4.0.1"
3
+ version = "4.0.3"
4
4
  description = "Local-first agent memory with auditable hybrid retrieval"
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-or-later"
@@ -37,6 +37,7 @@ dependencies = [
37
37
  "scipy==1.17.1",
38
38
  "networkx==3.6.1",
39
39
  "mcp==2.0.0",
40
+ "jsonschema==4.26.0",
40
41
  "python-dateutil==2.9.0.post0",
41
42
  "rank-bm25==0.2.2",
42
43
  "vadersentiment==3.3.2",
@@ -170,7 +171,7 @@ build-backend = "setuptools.build_meta"
170
171
  where = ["src"]
171
172
 
172
173
  [tool.setuptools.package-data]
173
- superlocalmemory = ["ui/**/*", "optimize/NOTICE"]
174
+ superlocalmemory = ["ui/**/*", "optimize/NOTICE", "contracts/schemas/*.json"]
174
175
 
175
176
  [tool.setuptools.data-files]
176
177
  "share/superlocalmemory/codex/skills/slm-cache" = ["plugin-src/skills/slm-cache/SKILL.md"]
@@ -554,6 +554,7 @@ function printFirstRunChecklist(config) {
554
554
  console.log('Next steps:');
555
555
  console.log(' slm status --verbose — daemon, mode, dashboard, health');
556
556
  console.log(' slm doctor — run health checks (DB, models, ports)');
557
+ console.log(' slm upgrade-hosts — preview existing host integrations after an update');
557
558
  console.log(' slm health --watch — live health ladder readout');
558
559
  console.log(' slm dashboard — open the dashboard in your browser');
559
560
  console.log('');
@@ -206,6 +206,10 @@ function main(argv = process.argv.slice(2)) {
206
206
  console.log('');
207
207
  console.log(' slm setup');
208
208
  console.log('');
209
+ console.log(' If this updated an existing SLM installation, preview host integrations first:');
210
+ console.log('');
211
+ console.log(' slm upgrade-hosts');
212
+ console.log('');
209
213
  console.log(' Prefer to tune performance profiles? Use: slm reconfigure');
210
214
  console.log('');
211
215
  return 0;
@@ -32,7 +32,7 @@ if "OMP_NUM_THREADS" not in os.environ:
32
32
  os.environ["OMP_NUM_THREADS"] = "2"
33
33
  # ---------------------------------------------------------------------------
34
34
 
35
- __version__ = "4.0.1"
35
+ __version__ = "4.0.3"
36
36
 
37
37
  _REQUIRED_VERSIONS = {
38
38
  "sentence_transformers": "5.3.0",