superlocalmemory 3.8.6 → 3.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +3 -3
- package/package.json +1 -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-graph/SKILL.md +1 -1
- 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-session/SKILL.md +1 -1
- package/plugin-src/skills/slm-status/SKILL.md +1 -1
- package/pyproject.toml +7 -4
- package/src/superlocalmemory/__init__.py +1 -1
- package/src/superlocalmemory/core/backend_orchestrator.py +7 -1
- package/src/superlocalmemory/graph/cozo_backend.py +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ All notable changes to SuperLocalMemory V3 will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.8.7] - 2026-07-27 — Existing graph-store compatibility
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- Upgrades now retain the PyCozo 0.3.0 native binding used to create existing
|
|
12
|
+
Cozo graph stores. Version 3.8.6 selected PyCozo 0.7.6, whose incompatible
|
|
13
|
+
on-disk format could stop the daemon at startup with
|
|
14
|
+
`Unknown storage version 1`.
|
|
15
|
+
|
|
16
|
+
### Notes
|
|
17
|
+
- No graph rebuild or database migration is required.
|
|
18
|
+
- All serialized-write, read-only recall, admission-journal, and dead-letter
|
|
19
|
+
fixes from 3.8.6 are unchanged.
|
|
20
|
+
|
|
8
21
|
## [3.8.6] - 2026-07-27 — Serialized writes and read-only recall
|
|
9
22
|
|
|
10
23
|
### Fixed
|
package/README.md
CHANGED
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
<h1 align="center">SuperLocalMemory V3.8.
|
|
8
|
+
<h1 align="center">SuperLocalMemory V3.8.7</h1>
|
|
9
9
|
<p align="center"><strong>Enterprise-grade, local-first memory for AI agents and teams.</strong><br/>
|
|
10
10
|
<em>A persistent, auditable long-term brain for your agents that runs on your own infrastructure — with multi-workspace isolation, role-based access, and GDPR + EU AI Act governance controls built in.</em></p>
|
|
11
|
-
<p align="center"><code>v3.8.
|
|
11
|
+
<p align="center"><code>v3.8.7</code> — one control plane: auditable retrieval · multi-scope memory (personal / shared / global) · Cache · Compress · trusted-peer Mesh · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
|
|
12
12
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
13
13
|
<p align="center"><strong>3 public research preprints</strong> (arXiv + Zenodo archives) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v3.8.
|
|
16
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v3.8.7-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v3.8.7 — Current Release"/></a>
|
|
17
17
|
<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
18
|
<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
19
|
<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>
|
package/package.json
CHANGED
package/plugin/CLAUDE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- BEGIN SuperLocalMemory v3.8.
|
|
1
|
+
<!-- BEGIN SuperLocalMemory v3.8.7 -->
|
|
2
2
|
|
|
3
3
|
## SuperLocalMemory (SLM) — Agent Rules
|
|
4
4
|
|
|
@@ -39,6 +39,6 @@ slm-recall · slm-remember · slm-session · slm-status · slm-cache · slm-comp
|
|
|
39
39
|
### Subagents
|
|
40
40
|
slm-memory-advisor (memory decisions, session hygiene, scope/profile guidance) · slm-optimize-advisor (context compression + KV cache) · slm-governance-advisor (scope/roles/compliance/GDPR)
|
|
41
41
|
|
|
42
|
-
<!-- END SuperLocalMemory v3.8.
|
|
42
|
+
<!-- END SuperLocalMemory v3.8.7 -->
|
|
43
43
|
|
|
44
|
-
SuperLocalMemory v3.8.
|
|
44
|
+
SuperLocalMemory v3.8.7 · Qualixar · AGPL-3.0-or-later
|
|
@@ -77,4 +77,4 @@ slm-scope · slm-governance · slm-profile · slm-remember · slm-recall
|
|
|
77
77
|
# What NOT to do
|
|
78
78
|
Never session_init twice; never forget without dry-run preview; never store secrets; never bypass role checks; never claim an erasure succeeded without verifying via recall.
|
|
79
79
|
|
|
80
|
-
SuperLocalMemory v3.8.
|
|
80
|
+
SuperLocalMemory v3.8.7 · 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 v3.8.
|
|
49
|
+
SuperLocalMemory v3.8.7 · Qualixar · AGPL-3.0-or-later
|
|
@@ -41,4 +41,4 @@ slm-compress · slm-cache · slm-status · slm-profile
|
|
|
41
41
|
# What NOT to do
|
|
42
42
|
Never compress code-for-edit/JSON-to-parse/<500 chars; never store secrets/ccr_ids; never let optimize failure block/alter the task; never claim a specific savings %; never carry ccr_ids across profile switches.
|
|
43
43
|
|
|
44
|
-
SuperLocalMemory v3.8.
|
|
44
|
+
SuperLocalMemory v3.8.7 · Qualixar · AGPL-3.0-or-later
|
package/plugin/requirements.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
superlocalmemory==3.8.
|
|
1
|
+
superlocalmemory==3.8.7
|
|
@@ -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 v3.8.
|
|
131
|
+
SuperLocalMemory v3.8.7 · Qualixar · AGPL-3.0-or-later
|
package/pyproject.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "superlocalmemory"
|
|
3
|
-
version = "3.8.
|
|
3
|
+
version = "3.8.7"
|
|
4
4
|
description = "Local-first agent memory with auditable hybrid retrieval"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "AGPL-3.0-or-later"
|
|
@@ -82,7 +82,10 @@ dependencies = [
|
|
|
82
82
|
# until `slm db scale prepare -> verify -> promote` proves parity with
|
|
83
83
|
# canonical SQLite; dependency installation never migrates user data.
|
|
84
84
|
"lancedb==0.30.2",
|
|
85
|
-
|
|
85
|
+
# Cozo's on-disk format is not forward-compatible across these native
|
|
86
|
+
# bindings. Existing SLM graph stores were created by 0.3.0; upgrading the
|
|
87
|
+
# wheel without an export/import migration makes daemon startup panic.
|
|
88
|
+
"pycozo[embedded]==0.3.0",
|
|
86
89
|
# v3.6.10: LLMLingua-2 prose compression (aggressive mode, opt-in at runtime).
|
|
87
90
|
# Hard dependency so `pip install superlocalmemory` ships compression-ready;
|
|
88
91
|
# the ~560MB model downloads on first setup/warmup (fail-open). Verified the
|
|
@@ -121,13 +124,13 @@ lancedb = [
|
|
|
121
124
|
"lancedb==0.30.2",
|
|
122
125
|
]
|
|
123
126
|
cozo = [
|
|
124
|
-
"pycozo[embedded]==0.
|
|
127
|
+
"pycozo[embedded]==0.3.0",
|
|
125
128
|
]
|
|
126
129
|
# Backwards-compatible explicit install target for automation and docs. The
|
|
127
130
|
# packages are also base dependencies from v3.7 onward.
|
|
128
131
|
scale = [
|
|
129
132
|
"lancedb==0.30.2",
|
|
130
|
-
"pycozo[embedded]==0.
|
|
133
|
+
"pycozo[embedded]==0.3.0",
|
|
131
134
|
]
|
|
132
135
|
ingestion = [
|
|
133
136
|
"keyring>=25.0.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__ = "3.8.
|
|
35
|
+
__version__ = "3.8.7"
|
|
36
36
|
|
|
37
37
|
_REQUIRED_VERSIONS = {
|
|
38
38
|
"sentence_transformers": "5.3.0",
|
|
@@ -438,7 +438,13 @@ class BackendOrchestrator:
|
|
|
438
438
|
self._cozo = CozoDBGraphBackend(str(cozo_path / "graph"))
|
|
439
439
|
self._update_status("cozo", "not_initialized")
|
|
440
440
|
logger.info("CozoDB initialized at %s", cozo_path)
|
|
441
|
-
except
|
|
441
|
+
except BaseException as exc:
|
|
442
|
+
# PyO3 exposes Rust panics as PanicException(BaseException), not
|
|
443
|
+
# Exception. An incompatible optional projection must never abort
|
|
444
|
+
# daemon startup or hide canonical SQLite memory. Re-raise genuine
|
|
445
|
+
# process-control exceptions; preserve the graph and degrade Cozo.
|
|
446
|
+
if not isinstance(exc, Exception) and type(exc).__name__ != "PanicException":
|
|
447
|
+
raise
|
|
442
448
|
logger.warning("CozoDB init failed: %s", exc)
|
|
443
449
|
self._cozo = None
|
|
444
450
|
|
|
@@ -75,12 +75,12 @@ class _CozoResult:
|
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
class _CozoClientAdapter:
|
|
78
|
-
"""Bridge legacy PyCozo responses and the
|
|
78
|
+
"""Bridge legacy PyCozo responses and the store-compatible client surface.
|
|
79
79
|
|
|
80
|
-
PyCozo 0.
|
|
81
|
-
and
|
|
82
|
-
|
|
83
|
-
and row results, so normalize both forms here.
|
|
80
|
+
SLM graph stores were established with PyCozo 0.3.0. That client returns
|
|
81
|
+
dictionaries and exposes ``import_relations`` rather than ``put``; later
|
|
82
|
+
clients return dataframe-like values and add ``put``. SLM only needs
|
|
83
|
+
relation upserts and row results, so normalize both forms here.
|
|
84
84
|
"""
|
|
85
85
|
|
|
86
86
|
def __init__(self, client: Any) -> None:
|