superlocalmemory 4.0.4 → 4.0.5

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 (60) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +18 -13
  3. package/ide/configs/codex-mcp.toml +2 -2
  4. package/package.json +1 -1
  5. package/plugin/.claude-plugin/plugin.json +1 -1
  6. package/plugin/.mcp.json +1 -0
  7. package/plugin/CLAUDE.md +3 -3
  8. package/plugin/agents/slm-governance-advisor.md +1 -1
  9. package/plugin/agents/slm-loop-runner.md +1 -1
  10. package/plugin/agents/slm-memory-advisor.md +1 -1
  11. package/plugin/agents/slm-optimize-advisor.md +1 -1
  12. package/plugin/requirements.txt +1 -1
  13. package/plugin/skills/slm-cache/SKILL.md +1 -1
  14. package/plugin/skills/slm-compress/SKILL.md +1 -1
  15. package/plugin/skills/slm-governance/SKILL.md +1 -1
  16. package/plugin/skills/slm-graph/SKILL.md +3 -2
  17. package/plugin/skills/slm-loop/SKILL.md +1 -1
  18. package/plugin/skills/slm-mesh/SKILL.md +1 -1
  19. package/plugin/skills/slm-profile/SKILL.md +2 -1
  20. package/plugin/skills/slm-recall/SKILL.md +1 -1
  21. package/plugin/skills/slm-remember/SKILL.md +1 -1
  22. package/plugin/skills/slm-scope/SKILL.md +1 -1
  23. package/plugin/skills/slm-session/SKILL.md +1 -1
  24. package/plugin/skills/slm-status/SKILL.md +1 -1
  25. package/plugin-src/rules/AGENTS.md +6 -5
  26. package/plugin-src/skills/slm-graph/SKILL.md +2 -1
  27. package/plugin-src/skills/slm-profile/SKILL.md +1 -0
  28. package/pyproject.toml +1 -1
  29. package/src/superlocalmemory/__init__.py +1 -1
  30. package/src/superlocalmemory/brain/__init__.py +5 -0
  31. package/src/superlocalmemory/brain/truth.py +348 -0
  32. package/src/superlocalmemory/cli/commands.py +82 -25
  33. package/src/superlocalmemory/cli/main.py +12 -0
  34. package/src/superlocalmemory/core/context_cache.py +58 -1
  35. package/src/superlocalmemory/core/mutations.py +155 -25
  36. package/src/superlocalmemory/core/recall_pipeline.py +6 -10
  37. package/src/superlocalmemory/core/remember_runtime.py +271 -2
  38. package/src/superlocalmemory/core/store_pipeline.py +100 -38
  39. package/src/superlocalmemory/encoding/consolidator.py +17 -47
  40. package/src/superlocalmemory/encoding/temporal_validator.py +14 -18
  41. package/src/superlocalmemory/hooks/user_prompt_hook.py +1 -1
  42. package/src/superlocalmemory/integrations/bounded_loops_mcp.py +4 -3
  43. package/src/superlocalmemory/mcp/profiles.py +19 -7
  44. package/src/superlocalmemory/mcp/server.py +4 -2
  45. package/src/superlocalmemory/mcp/tools_brain.py +54 -10
  46. package/src/superlocalmemory/mcp/tools_core.py +88 -3
  47. package/src/superlocalmemory/retrieval/engine.py +7 -10
  48. package/src/superlocalmemory/retrieval/temporal_validity_filter.py +119 -19
  49. package/src/superlocalmemory/server/routes/brain.py +15 -0
  50. package/src/superlocalmemory/server/routes/memories.py +129 -3
  51. package/src/superlocalmemory/storage/_migration_internals.py +4 -0
  52. package/src/superlocalmemory/storage/_schema_version.py +2 -2
  53. package/src/superlocalmemory/storage/correction_cases.py +670 -0
  54. package/src/superlocalmemory/storage/database.py +194 -24
  55. package/src/superlocalmemory/storage/migration_runner.py +7 -0
  56. package/src/superlocalmemory/storage/migrations/M042_correction_case_ledger.py +245 -0
  57. package/src/superlocalmemory/storage/migrations/__init__.py +2 -0
  58. package/src/superlocalmemory/storage/write_coordinator.py +4 -0
  59. package/src/superlocalmemory/ui/js/brain.js +43 -7
  60. package/src/superlocalmemory/ui/js/od-brain.js +44 -28
package/CHANGELOG.md CHANGED
@@ -5,6 +5,39 @@ 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.5] - 2026-08-16 — Reviewed time-aware corrections
9
+
10
+ ### Added
11
+ - M042 adds a profile-scoped, append-only correction ledger in `memory.db`.
12
+ CLI, MCP, and authenticated HTTP expose a propose/list/review lifecycle with
13
+ compare-and-swap versions; no correction stores raw fact text in its ledger.
14
+ - `BrainTruth v1` is now shared by `slm brain`, MCP, HTTP, and the Living Brain
15
+ dashboard. It reports memory activity, feedback, receipt claims, external
16
+ evidence, and correction quality independently and marks unavailable sources
17
+ instead of fabricating zeroes.
18
+ - A generated isolated performance/liveness gate records 50 warm recalls, 50
19
+ canonical remember acknowledgements, current-truth admission overhead, and
20
+ a 60-second 10-reader/2-writer run without opening user memory data.
21
+
22
+ ### Changed
23
+ - Direct memory edits create immutable review-required successors. `apply`
24
+ makes the successor current and transaction-expires the predecessor;
25
+ `reject` preserves current truth; `rollback` restores the predecessor's
26
+ temporal state.
27
+ - Current truth admission covers channel results, profile shortcuts, bridge and
28
+ scene expansion, pins, and cache hits. Admission failures abstain rather
29
+ than returning potentially stale facts. The hot path uses one bounded
30
+ lifecycle read per recall and rechecks only newly expanded candidates.
31
+ - Default ranking remains `off` unless an operator explicitly configures a
32
+ ranking mode. M040/M041 observations and correction cases do not become
33
+ ranking or model-routing inputs.
34
+
35
+ ### Safety
36
+ - Correction history prevents an ordinary forget from producing an opaque
37
+ writer failure; it returns an explicit conflict for any correction-linked
38
+ fact. A dedicated erasure workflow remains responsible for privacy deletion
39
+ across both fact and ledger.
40
+
8
41
  ## [4.0.4] - 2026-08-15 — Optional Bounded Loops evidence bridge
9
42
 
10
43
  ### Added
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </picture>
6
6
  </p>
7
7
 
8
- <h1 align="center">SuperLocalMemory V4.0.4</h1>
8
+ <h1 align="center">SuperLocalMemory V4.0.5</h1>
9
9
 
10
10
  <h2 align="center">Rent the LLM. Own the memory.</h2>
11
11
 
@@ -27,12 +27,12 @@ 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.4</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.5</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
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.4-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.4 — Current Release"/></a>
35
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.5-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.5 — Current Release"/></a>
36
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>
37
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>
38
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>
@@ -62,7 +62,12 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
62
62
 
63
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.
64
64
 
65
- **What V4.0.4 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.0.4 also adds an optional, capability-negotiated Bounded Loops observation bridge: compatible terminal graph receipts enter a separate, profile-scoped `learning.db` table and appear in Living Brain, without affecting recall, ranking, routing, or automatic learning. 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
+ **What V4.0.5 ships.** A correction is now a review-gated lifecycle, not an in-place edit: SLM creates an immutable successor, keeps it out of current recall until an authenticated reviewer applies it, and preserves the predecessor for time-aware history. Every candidate path, including cached context, pins, bridge expansion, and scene expansion, uses hard current-truth admission and abstains if that truth cannot be read. `slm brain`, MCP, HTTP, and the Living Brain share one observation-only BrainTruth snapshot; feedback, external Bounded Loops evidence, and receipt claims are shown honestly but do not silently alter recall, ranking, or model routing. The optional Bounded Loops bridge remains capability-negotiated and independent. See [reviewed corrections](docs/reviewed-corrections.md) for the lifecycle and [MCP tools](docs/mcp-tools.md) for host-facing commands.
66
+
67
+ **Adaptive-ranking migration.** V4.0.5 leaves the optional adaptive ranker off
68
+ unless an operator sets `SLM_RANKING` (`v1`, `v2`, or `v2-ensemble`). This does
69
+ not disable the normal retrieval channels; it prevents feedback and
70
+ observation data from changing ranking without an explicit operator decision.
66
71
 
67
72
  - **[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.
68
73
  - **Multi-scope memory & profiles** — workspaces (profiles) plus `personal` / `shared` / `global` scopes; cross-profile recall is default-deny.
@@ -71,7 +76,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
71
76
  - **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)).
72
77
  - **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.
73
78
  - **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.
74
- - **MCP profiles** — `code` exposes **29** tools for installed coding agents; `full` **47**; `power` **59**; `whole` **92** (all registered). Also `core` (14), `mesh` (8), and the unrestricted default surface (47 with mesh enabled).
79
+ - **MCP profiles** — `code` exposes **31** tools for installed coding agents; `full` **49**; `power` **61**; `whole` **94** (all registered). Also `core` (16), `mesh` (8), and the unrestricted default surface (49 with mesh enabled).
75
80
  - **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.
76
81
  - **Self-healing lifecycle & admin remediation** — stale locks cleared on restart; list/resolve stuck operations from CLI, MCP, or the dashboard.
77
82
 
@@ -382,7 +387,7 @@ Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-d
382
387
  | **Python CLI + SDK** (primary) | Activate a Python virtual environment, then `python -m pip install superlocalmemory` | Python 3.11+; the `slm` CLI and importable SDK stay inside that environment |
383
388
  | **Repository clone — macOS/Linux** | `./scripts/install.sh install` | Research/contributor path; delegates to an existing uv or pipx installation |
384
389
  | **Repository clone — Windows** | `.\scripts\install.ps1 -Action Install` | Research/contributor path; delegates to an existing uv or pipx installation |
385
- | **Claude Code Plugin** (WP-06) | `/plugin marketplace add qualixar/superlocalmemory` then `/plugin install superlocalmemory@qualixar` | Self-bootstraps venv, isolated SLM_DATA_DIR, additive — 14-tool core. Ships the skills/agents/hooks/commands |
390
+ | **Claude Code Plugin** (WP-06) | `/plugin marketplace add qualixar/superlocalmemory` then `/plugin install superlocalmemory@qualixar` | Self-bootstraps venv, isolated SLM_DATA_DIR, additive — 16-tool core. Ships the skills/agents/hooks/commands |
386
391
  | **Portable / IDE connect** (WP-08) | `slm connect <ide> [--here]` | Wire any IDE without reinstalling; `slm connect claude-code` → plugin pointer |
387
392
 
388
393
  After any install path: `slm setup` → `slm doctor` → `slm warmup` (optional, pre-downloads ~500MB embedding model).
@@ -435,12 +440,12 @@ Control tool surface via `SLM_MCP_PROFILE`:
435
440
 
436
441
  | Profile | Tools | Use case |
437
442
  |:--------|:-----:|:---------|
438
- | `core` | 14 | Memory, session, and optimize core |
439
- | `code` | 29 | Core + portable Brain evidence + code-graph tools + profile switching + bounded loops |
443
+ | `core` | 16 | Memory, session, optimize, and correction review |
444
+ | `code` | 31 | Core + portable Brain evidence + code-graph tools + profile switching + bounded loops |
440
445
  | `mesh` | 8 | SLM-Mesh only — multi-session / multi-machine coordination |
441
- | `full` | 47 | Memory + portable Brain evidence + optimize + evolution + mesh + bounded loops |
442
- | `power` | 59 | Full + administration, lifecycle, and diagnostics |
443
- | `whole` | 92 | Every registered MCP tool |
446
+ | `full` | 49 | Memory + portable Brain evidence + optimize + evolution + mesh + bounded loops |
447
+ | `power` | 61 | Full + administration, lifecycle, and diagnostics |
448
+ | `whole` | 94 | Every registered MCP tool |
444
449
 
445
450
  **Precedence:** `ALL` > `TOOLS` > `PROFILE` > `default`
446
451
 
@@ -451,7 +456,7 @@ slm mcp
451
456
 
452
457
  For a predictable small surface, set `core` explicitly. Leaving the variable
453
458
  unset retains the compatibility default, whose mesh tools follow the local
454
- mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `code20`, `code21`, `code24`, `code28`, `code29`, `mesh8`, `full38`, `full39`, `full42`, `full46`, `full47`, `power50`, `power51`, `power54`, `power58`, `power59`, `whole81`, `whole84`, `whole91`, `whole92`. Unknown names stop startup instead of silently selecting another tool set.
459
+ mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `core16`, `code20`, `code21`, `code24`, `code28`, `code29`, `code31`, `mesh8`, `full38`, `full39`, `full42`, `full46`, `full47`, `full49`, `power50`, `power51`, `power54`, `power58`, `power59`, `power61`, `whole81`, `whole84`, `whole91`, `whole92`, `whole94`. Unknown names stop startup instead of silently selecting another tool set.
455
460
 
456
461
  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).
457
462
 
@@ -473,7 +478,7 @@ then install:
473
478
  ```
474
479
 
475
480
  - Self-bootstraps a Python venv, installs all deps in an isolated `SLM_DATA_DIR`
476
- - Registers the 14-tool core MCP surface (`core14` profile by default)
481
+ - Registers the 16-tool core MCP surface (`core16` profile by default; `core14` remains a compatibility alias)
477
482
  - Ships the SLM skills / agents / hooks / commands / rules
478
483
  - Additive — does not replace an existing SLM install
479
484
  - `slm connect claude-code` detects an existing plugin install and links them
@@ -1,4 +1,4 @@
1
- # SuperLocalMemory V3 - Codex CLI MCP Configuration
1
+ # SuperLocalMemory V4.0.5 - Codex CLI MCP Configuration
2
2
  # Copyright (c) 2026 Varun Pratap Bhardwaj
3
3
  # Licensed under AGPL-3.0-or-later
4
4
  #
@@ -8,4 +8,4 @@
8
8
  [mcp_servers.superlocalmemory]
9
9
  command = "slm"
10
10
  args = ["mcp"]
11
-
11
+ env = { SLM_MCP_PROFILE = "code", SLM_AGENT_ID = "codex" }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superlocalmemory",
3
- "version": "4.0.4",
3
+ "version": "4.0.5",
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.4"
18
+ "version": "4.0.5"
19
19
  }
package/plugin/.mcp.json CHANGED
@@ -5,6 +5,7 @@
5
5
  "args": [],
6
6
  "env": {
7
7
  "SLM_MCP_PROFILE": "code",
8
+ "SLM_AGENT_ID": "claude_code",
8
9
  "SLM_DATA_DIR": "${CLAUDE_PLUGIN_DATA}"
9
10
  }
10
11
  }
package/plugin/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- <!-- BEGIN SuperLocalMemory v4.0.4 -->
1
+ <!-- BEGIN SuperLocalMemory v4.0.5 -->
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.4 -->
42
+ <!-- END SuperLocalMemory v4.0.5 -->
43
43
 
44
- SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later
80
+ SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later
71
+ SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later
49
+ SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v4.0.5 · Qualixar · AGPL-3.0-or-later
@@ -1 +1 @@
1
- superlocalmemory==4.0.4
1
+ superlocalmemory==4.0.5
@@ -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.4 · Qualixar · AGPL-3.0-or-later
148
+ SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later*
248
+ *SuperLocalMemory v4.0.5 · Qualixar · AGPL-3.0-or-later*
@@ -290,7 +290,8 @@ This skill uses graph tools that are only active under the `code` MCP profile
290
290
 
291
291
  ```json
292
292
  "env": {
293
- "SLM_MCP_PROFILE": "code"
293
+ "SLM_MCP_PROFILE": "code",
294
+ "SLM_AGENT_ID": "claude_code"
294
295
  }
295
296
  ```
296
297
 
@@ -311,4 +312,4 @@ profile. See `slm-profile` for the full profile switching workflow.
311
312
 
312
313
  ---
313
314
 
314
- SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
315
+ SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later
99
+ SuperLocalMemory v4.0.5 · Qualixar · AGPL-3.0-or-later
@@ -279,4 +279,4 @@ mesh availability.
279
279
 
280
280
  ---
281
281
 
282
- *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
282
+ *SuperLocalMemory v4.0.5 · Qualixar · AGPL-3.0-or-later*
@@ -104,6 +104,7 @@ In your `.mcp.json` (Claude Code) or `.codex/config.toml` (Codex):
104
104
  ```json
105
105
  "env": {
106
106
  "SLM_MCP_PROFILE": "code",
107
+ "SLM_AGENT_ID": "claude_code",
107
108
  "SLM_DATA_DIR": "~/.superlocalmemory"
108
109
  }
109
110
  ```
@@ -145,4 +146,4 @@ Name them differently in your MCP config (e.g. `superlocalmemory-personal` and
145
146
 
146
147
  ---
147
148
 
148
- *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
149
+ *SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later*
239
+ *SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later*
241
+ *SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later*
176
+ *SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later*
230
+ *SuperLocalMemory v4.0.5 · 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.4 · Qualixar · AGPL-3.0-or-later
166
+ SuperLocalMemory v4.0.5 · Qualixar · AGPL-3.0-or-later
@@ -80,12 +80,13 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
80
80
 
81
81
  ---
82
82
 
83
- ## Tool reference (core profile — 14 tools)
83
+ ## Tool reference (core profile — 16 tools)
84
84
 
85
- > The MCP config ships `SLM_MCP_PROFILE=code` (29 tools): the 14 core memory tools below
86
- > **plus** 6 code-graph tools (`build_code_graph`, `get_blast_radius`, `query_graph`,
87
- > `semantic_search_code`, `get_review_context`, `detect_changes`) and `switch_profile`.
88
- > Use `full` (47 tools) to add mesh coordination. Use `power` (59 tools) for governance
85
+ > The MCP config ships `SLM_MCP_PROFILE=code` and `SLM_AGENT_ID=claude_code` (31 tools):
86
+ > the 16 core memory and correction-review tools below **plus** 6 code-graph tools
87
+ > (`build_code_graph`, `get_blast_radius`, `query_graph`, `semantic_search_code`,
88
+ > `get_review_context`, `detect_changes`) and `switch_profile`.
89
+ > Use `full` (49 tools) to add mesh coordination. Use `power` (61 tools) for governance
89
90
  > and audit tools. See slm-profile for profile switching.
90
91
 
91
92
  | Tool | Signature (key params) | Notes |
@@ -290,7 +290,8 @@ This skill uses graph tools that are only active under the `code` MCP profile
290
290
 
291
291
  ```json
292
292
  "env": {
293
- "SLM_MCP_PROFILE": "code"
293
+ "SLM_MCP_PROFILE": "code",
294
+ "SLM_AGENT_ID": "claude_code"
294
295
  }
295
296
  ```
296
297
 
@@ -104,6 +104,7 @@ In your `.mcp.json` (Claude Code) or `.codex/config.toml` (Codex):
104
104
  ```json
105
105
  "env": {
106
106
  "SLM_MCP_PROFILE": "code",
107
+ "SLM_AGENT_ID": "claude_code",
107
108
  "SLM_DATA_DIR": "~/.superlocalmemory"
108
109
  }
109
110
  ```
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superlocalmemory"
3
- version = "4.0.4"
3
+ version = "4.0.5"
4
4
  description = "Local-first agent memory with auditable hybrid retrieval"
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-or-later"
@@ -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.4"
35
+ __version__ = "4.0.5"
36
36
 
37
37
  _REQUIRED_VERSIONS = {
38
38
  "sentence_transformers": "5.3.0",
@@ -0,0 +1,5 @@
1
+ """Read-only, transport-neutral views of SuperLocalMemory's brain state."""
2
+
3
+ from superlocalmemory.brain.truth import BRAIN_TRUTH_V1, BrainTruthService
4
+
5
+ __all__ = ("BRAIN_TRUTH_V1", "BrainTruthService")