superlocalmemory 3.7.8 → 3.8.1
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/.claude-plugin/marketplace.json +1 -1
- package/ATTRIBUTION.md +1 -3
- package/CHANGELOG.md +129 -0
- package/README.md +205 -123
- package/package.json +12 -3
- package/plugin/.claude-plugin/plugin.json +2 -3
- package/plugin/CLAUDE.md +8 -8
- package/plugin/agents/slm-governance-advisor.md +80 -0
- package/plugin/agents/slm-loop-runner.md +71 -0
- package/plugin/agents/slm-memory-advisor.md +10 -5
- package/plugin/agents/slm-optimize-advisor.md +9 -3
- package/plugin/commands/slm-loop.md +31 -0
- package/plugin/hooks/hooks.json +79 -0
- package/plugin/requirements.txt +1 -1
- package/plugin/scripts/slm-launch +46 -7
- package/plugin/settings.json +9 -0
- package/plugin/skills/slm-cache/SKILL.md +9 -1
- package/plugin/skills/slm-compress/SKILL.md +8 -1
- package/plugin/skills/slm-governance/SKILL.md +248 -0
- package/plugin/skills/slm-graph/SKILL.md +17 -3
- package/plugin/skills/slm-loop/SKILL.md +99 -0
- package/plugin/skills/slm-mesh/SKILL.md +282 -0
- package/plugin/skills/slm-profile/SKILL.md +148 -0
- package/plugin/skills/slm-recall/SKILL.md +46 -10
- package/plugin/skills/slm-remember/SKILL.md +48 -1
- package/plugin/skills/slm-scope/SKILL.md +176 -0
- package/plugin/skills/slm-session/SKILL.md +24 -1
- package/plugin/skills/slm-status/SKILL.md +18 -1
- package/plugin-src/rules/AGENTS.md +57 -18
- package/plugin-src/skills/slm-cache/SKILL.md +9 -1
- package/plugin-src/skills/slm-compress/SKILL.md +8 -1
- package/plugin-src/skills/slm-graph/SKILL.md +17 -3
- package/plugin-src/skills/slm-recall/SKILL.md +46 -10
- package/plugin-src/skills/slm-remember/SKILL.md +48 -1
- package/plugin-src/skills/slm-session/SKILL.md +24 -1
- package/plugin-src/skills/slm-status/SKILL.md +18 -1
- package/pyproject.toml +2 -1
- package/scripts/postinstall/validation.js +2 -0
- package/scripts/postinstall-interactive.js +74 -2
- package/src/superlocalmemory/__init__.py +1 -1
- package/src/superlocalmemory/access/__init__.py +3 -0
- package/src/superlocalmemory/access/rbac.py +477 -0
- package/src/superlocalmemory/cli/commands.py +228 -17
- package/src/superlocalmemory/cli/compress_cmd.py +17 -7
- package/src/superlocalmemory/cli/daemon.py +7 -0
- package/src/superlocalmemory/cli/loop_cmd.py +187 -0
- package/src/superlocalmemory/cli/main.py +49 -8
- package/src/superlocalmemory/cli/mesh_cmd.py +38 -0
- package/src/superlocalmemory/cli/optimize_cmd.py +3 -0
- package/src/superlocalmemory/cli/pending_store.py +49 -13
- package/src/superlocalmemory/cli/proxy_cmd.py +4 -0
- package/src/superlocalmemory/cli/scale_engine_cmd.py +6 -0
- package/src/superlocalmemory/cli/setup_wizard.py +22 -13
- package/src/superlocalmemory/cli/version_banner.py +17 -3
- package/src/superlocalmemory/compliance/audit.py +6 -0
- package/src/superlocalmemory/compliance/gdpr.py +128 -138
- package/src/superlocalmemory/compliance/retention.py +176 -45
- package/src/superlocalmemory/core/backend_orchestrator.py +23 -59
- package/src/superlocalmemory/core/community_summary.py +267 -0
- package/src/superlocalmemory/core/config.py +216 -3
- package/src/superlocalmemory/core/consolidation_engine.py +95 -22
- package/src/superlocalmemory/core/context_cache.py +61 -18
- package/src/superlocalmemory/core/embedding_worker.py +21 -7
- package/src/superlocalmemory/core/embeddings.py +131 -46
- package/src/superlocalmemory/core/engine.py +41 -22
- package/src/superlocalmemory/core/engine_ingestion.py +359 -43
- package/src/superlocalmemory/core/engine_wiring.py +13 -0
- package/src/superlocalmemory/core/entity_community.py +178 -0
- package/src/superlocalmemory/core/graph_analyzer.py +39 -2
- package/src/superlocalmemory/core/graph_pruner.py +13 -8
- package/src/superlocalmemory/core/ingestion_command.py +134 -25
- package/src/superlocalmemory/core/injection.py +12 -7
- package/src/superlocalmemory/core/key_expander.py +138 -0
- package/src/superlocalmemory/core/maintenance.py +23 -0
- package/src/superlocalmemory/core/maintenance_scheduler.py +17 -7
- package/src/superlocalmemory/core/modes.py +1 -1
- package/src/superlocalmemory/core/mutations.py +2 -2
- package/src/superlocalmemory/core/pii.py +105 -0
- package/src/superlocalmemory/core/progressive_abstraction.py +208 -0
- package/src/superlocalmemory/core/recall_pipeline.py +7 -3
- package/src/superlocalmemory/core/recall_worker.py +20 -6
- package/src/superlocalmemory/core/scale_engine.py +60 -1
- package/src/superlocalmemory/core/security_primitives.py +40 -2
- package/src/superlocalmemory/core/store_pipeline.py +186 -29
- package/src/superlocalmemory/core/worker_pool.py +21 -6
- package/src/superlocalmemory/encoding/entity_reflexion.py +200 -0
- package/src/superlocalmemory/encoding/entity_resolver.py +34 -24
- package/src/superlocalmemory/encoding/fact_extractor.py +26 -1
- package/src/superlocalmemory/encoding/temporal_validator.py +64 -1
- package/src/superlocalmemory/evolution/evolution_store.py +122 -45
- package/src/superlocalmemory/evolution/llm_dispatch.py +12 -1
- package/src/superlocalmemory/evolution/model_selection.py +160 -0
- package/src/superlocalmemory/evolution/mutation_generator.py +16 -0
- package/src/superlocalmemory/evolution/skill_evolver.py +127 -42
- package/src/superlocalmemory/evolution/triggers.py +22 -13
- package/src/superlocalmemory/graph/cozo_backend.py +43 -20
- package/src/superlocalmemory/hooks/adapter_base.py +5 -1
- package/src/superlocalmemory/hooks/auto_recall.py +13 -1
- package/src/superlocalmemory/hooks/claude_code_hooks.py +11 -0
- package/src/superlocalmemory/hooks/codex_assets.py +64 -5
- package/src/superlocalmemory/hooks/hook_daemon.py +20 -3
- package/src/superlocalmemory/hooks/hook_handlers.py +6 -1
- package/src/superlocalmemory/hooks/memory_protocol.py +54 -0
- package/src/superlocalmemory/hooks/portable_kit.py +148 -3
- package/src/superlocalmemory/infra/backup.py +12 -1
- package/src/superlocalmemory/infra/daemon_identity.py +40 -4
- package/src/superlocalmemory/infra/data_root.py +43 -4
- package/src/superlocalmemory/infra/event_bus.py +107 -24
- package/src/superlocalmemory/infra/rate_limiter.py +93 -0
- package/src/superlocalmemory/ingestion/adapter_manager.py +4 -1
- package/src/superlocalmemory/ingestion/credentials.py +1 -1
- package/src/superlocalmemory/learning/cross_project.py +28 -19
- package/src/superlocalmemory/learning/model_rollback.py +3 -0
- package/src/superlocalmemory/learning/ranker_retrain_online.py +2 -0
- package/src/superlocalmemory/learning/reward.py +50 -0
- package/src/superlocalmemory/learning/reward_proxy.py +42 -9
- package/src/superlocalmemory/learning/source_quality.py +523 -1
- package/src/superlocalmemory/loops/__init__.py +56 -0
- package/src/superlocalmemory/loops/budget.py +58 -0
- package/src/superlocalmemory/loops/engine.py +164 -0
- package/src/superlocalmemory/loops/ledger.py +263 -0
- package/src/superlocalmemory/loops/models.py +152 -0
- package/src/superlocalmemory/loops/rules.py +52 -0
- package/src/superlocalmemory/mcp/_daemon_proxy.py +3 -0
- package/src/superlocalmemory/mcp/_pool_adapter.py +2 -0
- package/src/superlocalmemory/mcp/profiles.py +103 -0
- package/src/superlocalmemory/mcp/server.py +32 -79
- package/src/superlocalmemory/mcp/tools_active.py +4 -7
- package/src/superlocalmemory/mcp/tools_code_graph.py +51 -5
- package/src/superlocalmemory/mcp/tools_core.py +12 -4
- package/src/superlocalmemory/mcp/tools_evolution.py +6 -3
- package/src/superlocalmemory/mcp/tools_learning.py +2 -2
- package/src/superlocalmemory/mcp/tools_loops.py +300 -0
- package/src/superlocalmemory/mcp/tools_mesh.py +140 -4
- package/src/superlocalmemory/mcp/tools_optimize.py +15 -8
- package/src/superlocalmemory/mesh/broker.py +237 -129
- package/src/superlocalmemory/mesh/remote_sync.py +50 -8
- package/src/superlocalmemory/optimize/NOTICE +1 -6
- package/src/superlocalmemory/optimize/adapters/anthropic_adapter.py +1 -4
- package/src/superlocalmemory/optimize/adapters/openai_adapter.py +1 -4
- package/src/superlocalmemory/optimize/cache/semantic.py +27 -19
- package/src/superlocalmemory/optimize/compress/align.py +32 -26
- package/src/superlocalmemory/optimize/compress/ccr.py +14 -71
- package/src/superlocalmemory/optimize/compress/router.py +105 -22
- package/src/superlocalmemory/optimize/config/defaults.py +1 -1
- package/src/superlocalmemory/optimize/config/schema.py +87 -4
- package/src/superlocalmemory/optimize/metrics/counters.py +13 -4
- package/src/superlocalmemory/optimize/metrics/estimator.py +0 -3
- package/src/superlocalmemory/optimize/proxy/_helpers.py +31 -4
- package/src/superlocalmemory/optimize/storage/db.py +38 -9
- package/src/superlocalmemory/optimize/storage/schema.py +10 -0
- package/src/superlocalmemory/parameterization/pattern_extractor.py +6 -3
- package/src/superlocalmemory/retrieval/agentic.py +1 -1
- package/src/superlocalmemory/retrieval/bm25_channel.py +68 -10
- package/src/superlocalmemory/retrieval/engine.py +221 -47
- package/src/superlocalmemory/retrieval/entity_channel.py +7 -5
- package/src/superlocalmemory/retrieval/hopfield_channel.py +9 -2
- package/src/superlocalmemory/retrieval/reranker.py +3 -4
- package/src/superlocalmemory/retrieval/semantic_channel.py +114 -21
- package/src/superlocalmemory/retrieval/spreading_activation.py +11 -2
- package/src/superlocalmemory/retrieval/temporal_channel.py +48 -9
- package/src/superlocalmemory/retrieval/temporal_frame.py +102 -0
- package/src/superlocalmemory/retrieval/temporal_validity_filter.py +135 -0
- package/src/superlocalmemory/retrieval/time_window.py +181 -0
- package/src/superlocalmemory/server/api.py +4 -4
- package/src/superlocalmemory/server/config_file.py +90 -0
- package/src/superlocalmemory/server/origin.py +50 -0
- package/src/superlocalmemory/server/profile_runtime.py +125 -8
- package/src/superlocalmemory/server/rbac_enforce.py +142 -0
- package/src/superlocalmemory/server/recall_health.py +24 -3
- package/src/superlocalmemory/server/recall_serializer.py +19 -1
- package/src/superlocalmemory/server/routes/abstraction.py +115 -0
- package/src/superlocalmemory/server/routes/agents.py +128 -38
- package/src/superlocalmemory/server/routes/backup.py +317 -70
- package/src/superlocalmemory/server/routes/behavioral.py +349 -71
- package/src/superlocalmemory/server/routes/brain.py +69 -12
- package/src/superlocalmemory/server/routes/chat.py +10 -5
- package/src/superlocalmemory/server/routes/compliance.py +171 -21
- package/src/superlocalmemory/server/routes/config_api.py +438 -0
- package/src/superlocalmemory/server/routes/data_io.py +30 -8
- package/src/superlocalmemory/server/routes/entity.py +108 -26
- package/src/superlocalmemory/server/routes/events.py +24 -8
- package/src/superlocalmemory/server/routes/evolution.py +189 -68
- package/src/superlocalmemory/server/routes/helpers.py +16 -1
- package/src/superlocalmemory/server/routes/ingest.py +7 -4
- package/src/superlocalmemory/server/routes/insights.py +3 -3
- package/src/superlocalmemory/server/routes/learning.py +289 -118
- package/src/superlocalmemory/server/routes/learning_telemetry.py +153 -0
- package/src/superlocalmemory/server/routes/lifecycle.py +59 -8
- package/src/superlocalmemory/server/routes/memories.py +182 -57
- package/src/superlocalmemory/server/routes/mesh.py +200 -31
- package/src/superlocalmemory/server/routes/optimize.py +33 -1
- package/src/superlocalmemory/server/routes/prewarm.py +2 -0
- package/src/superlocalmemory/server/routes/profiles.py +63 -17
- package/src/superlocalmemory/server/routes/ratelimit.py +132 -0
- package/src/superlocalmemory/server/routes/rbac.py +367 -0
- package/src/superlocalmemory/server/routes/stats.py +103 -158
- package/src/superlocalmemory/server/routes/tiers.py +11 -9
- package/src/superlocalmemory/server/routes/token.py +3 -13
- package/src/superlocalmemory/server/routes/v3_api.py +247 -89
- package/src/superlocalmemory/server/routes/ws.py +5 -2
- package/src/superlocalmemory/server/security_middleware.py +12 -5
- package/src/superlocalmemory/server/ui.py +20 -5
- package/src/superlocalmemory/server/unified_daemon.py +827 -72
- package/src/superlocalmemory/server/write_identity.py +38 -8
- package/src/superlocalmemory/storage/database.py +265 -53
- package/src/superlocalmemory/storage/migration_runner.py +132 -1
- package/src/superlocalmemory/storage/migrations/M010_evolution_config.py +5 -0
- package/src/superlocalmemory/storage/migrations/M021_ingestion_log_profile.py +108 -0
- package/src/superlocalmemory/storage/migrations/M022_entity_aliases_profile.py +86 -0
- package/src/superlocalmemory/storage/migrations/M023_mesh_profile_isolation.py +194 -0
- package/src/superlocalmemory/storage/migrations/M024_rbac_users_roles.py +87 -0
- package/src/superlocalmemory/storage/migrations/M025_perf_indexes.py +90 -0
- package/src/superlocalmemory/storage/migrations/M026_rbac_memberships_fk.py +136 -0
- package/src/superlocalmemory/storage/migrations/M027_transferable_patterns_profile.py +163 -0
- package/src/superlocalmemory/storage/migrations/M028_fact_entity_associations.py +270 -0
- package/src/superlocalmemory/storage/migrations/M029_behavioral_history_indexes.py +137 -0
- package/src/superlocalmemory/storage/migrations/M030_entity_explorer_indexes.py +93 -0
- package/src/superlocalmemory/storage/migrations/__init__.py +4 -0
- package/src/superlocalmemory/storage/models.py +4 -0
- package/src/superlocalmemory/storage/schema.py +136 -1
- package/src/superlocalmemory/storage/schema_v32.py +2 -0
- package/src/superlocalmemory/storage/schema_v343.py +24 -12
- package/src/superlocalmemory/storage/schema_v347.py +4 -0
- package/src/superlocalmemory/trust/gate.py +49 -8
- package/src/superlocalmemory/ui/assets/slm-icon-white.svg +64 -0
- package/src/superlocalmemory/ui/assets/slm-icon.svg +36 -0
- package/src/superlocalmemory/ui/css/design-system.css +621 -0
- package/src/superlocalmemory/ui/css/neural-glass.css +6 -0
- package/src/superlocalmemory/ui/css/od-bridge.css +158 -0
- package/src/superlocalmemory/ui/favicon.svg +35 -4
- package/src/superlocalmemory/ui/index.html +303 -173
- package/src/superlocalmemory/ui/js/brain.js +5 -20
- package/src/superlocalmemory/ui/js/core.js +100 -41
- package/src/superlocalmemory/ui/js/dashboard.js +403 -65
- package/src/superlocalmemory/ui/js/event-delegation.js +102 -0
- package/src/superlocalmemory/ui/js/knowledge-graph.js +11 -11
- package/src/superlocalmemory/ui/js/math-health.js +1 -1
- package/src/superlocalmemory/ui/js/memories.js +15 -4
- package/src/superlocalmemory/ui/js/memory-chat.js +7 -7
- package/src/superlocalmemory/ui/js/ng-entities.js +6 -8
- package/src/superlocalmemory/ui/js/ng-ingestion.js +4 -4
- package/src/superlocalmemory/ui/js/ng-mesh.js +4 -9
- package/src/superlocalmemory/ui/js/ng-shell.js +8 -8
- package/src/superlocalmemory/ui/js/ng-skills.js +54 -2
- package/src/superlocalmemory/ui/js/od-agents.js +544 -0
- package/src/superlocalmemory/ui/js/od-auth-gate.js +257 -0
- package/src/superlocalmemory/ui/js/od-backup.js +871 -0
- package/src/superlocalmemory/ui/js/od-brain.js +816 -0
- package/src/superlocalmemory/ui/js/od-entities.js +579 -0
- package/src/superlocalmemory/ui/js/od-graph.js +600 -0
- package/src/superlocalmemory/ui/js/od-health.js +539 -0
- package/src/superlocalmemory/ui/js/od-mcp.js +508 -0
- package/src/superlocalmemory/ui/js/od-memories.js +929 -0
- package/src/superlocalmemory/ui/js/od-mesh.js +553 -0
- package/src/superlocalmemory/ui/js/od-operations.js +1250 -0
- package/src/superlocalmemory/ui/js/od-optimize.js +787 -0
- package/src/superlocalmemory/ui/js/od-settings.js +1107 -0
- package/src/superlocalmemory/ui/js/od-shell.js +809 -0
- package/src/superlocalmemory/ui/js/od-skills.js +600 -0
- package/src/superlocalmemory/ui/js/od-team.js +258 -0
- package/src/superlocalmemory/ui/js/profiles.js +159 -46
- package/src/superlocalmemory/ui/js/settings.js +17 -3
- package/src/superlocalmemory/ui/js/timeline.js +34 -5
- package/src/superlocalmemory/ui/js/trust-dashboard.js +2 -2
- package/src/superlocalmemory/vector/lancedb_backend.py +8 -6
- package/plugin-src/.mcp.json +0 -12
- package/plugin-src/agents/slm-memory-advisor.md +0 -44
- package/plugin-src/agents/slm-optimize-advisor.md +0 -38
- package/plugin-src/hooks/.gitkeep +0 -0
- package/plugin-src/hooks/hooks.json +0 -23
- package/plugin-src/manifest.json +0 -25
- package/plugin-src/requirements.txt +0 -1
- package/plugin-src/rules/CLAUDE.md.fragment +0 -44
- package/plugin-src/scripts/ensure-venv.bat +0 -122
- package/plugin-src/scripts/ensure-venv.sh +0 -105
- package/plugin-src/scripts/slm-launch +0 -23
- package/plugin-src/scripts/slm-launch.bat +0 -23
- package/plugin-src/settings.json +0 -16
- package/src/superlocalmemory/learning/behavioral_listener.py +0 -94
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"author": {
|
|
10
10
|
"name": "Qualixar"
|
|
11
11
|
},
|
|
12
|
-
"description": "Local-first agent memory + reversible context compression and KV cache, as an MCP server.
|
|
12
|
+
"description": "Local-first agent memory + reversible context compression and KV cache, as an MCP server. 21-tool code profile with graph intelligence.",
|
|
13
13
|
"name": "superlocalmemory",
|
|
14
14
|
"source": "./plugin"
|
|
15
15
|
}
|
package/ATTRIBUTION.md
CHANGED
|
@@ -74,10 +74,8 @@ The Implementer verified each arXiv ID against arxiv.org before citation.
|
|
|
74
74
|
| **CacheAttack** (86% response hijack, 90.6% agentic) | arXiv:2601.23088 | Threat model. The 90.6% figure is [UNVERIFIED — body-only, RA-18]; the 86% figure is verified from the abstract. |
|
|
75
75
|
| **SAFE-CACHE** (centroid-based adversarial defense) | Nature Scientific Reports 2026 | [CITATION-NEEDED-ONLINE — exact paper verified, but exact defense figures are body-only.] Defense reduced attack success from 52.77% to 14.27% per the paper. |
|
|
76
76
|
| **ContextCache** (multi-turn context-aware keys) | arXiv:2506.22791 | §3 — context-aware cache keys prevent false reuse across semantically overlapping but conversationally distinct turns. |
|
|
77
|
-
| **LLMLingua-2** (prose compression) | arXiv:2403.12968 (Microsoft Research) | MIT license. Models: `microsoft/llmlingua-2-bert-base-multilingual-cased-meetingbank` (default) and `microsoft/llmlingua-2-xlm-roberta-large-meetingbank`. Off by default, opt-in via `compress_prose=True` + `compress_mode="aggressive"`. **Originals always stored in CCR before lossy compression — reversible via `
|
|
77
|
+
| **LLMLingua-2** (prose compression) | arXiv:2403.12968 (Microsoft Research) | MIT license. Models: `microsoft/llmlingua-2-bert-base-multilingual-cased-meetingbank` (default) and `microsoft/llmlingua-2-xlm-roberta-large-meetingbank`. Off by default, opt-in via `compress_prose=True` + `compress_mode="aggressive"`. **Originals always stored in CCR before lossy compression — reversible via `slm_ccr_retrieve`.** |
|
|
78
78
|
| **LongLLMLingua** (RAG compression) | arXiv:2310.06839 | Not used in Phase 3. Documented for Phase 4 RAG integration. |
|
|
79
|
-
| **Headroom** (router, JSON handler, code handler, aligner) | github.com/qualixar/headroom (Apache-2.0) | Patterns adapted with attribution: `ContentRouter`, `JSONStructureHandler`, `CodeLanguage` enum, `CacheAligner._classify_token`. |
|
|
80
|
-
| **omnicache-ai** (test fixture patterns) | github.com/qualixar/omnicache-ai (Apache-2.0) | Deterministic hash-to-vector embedding fixture for tests. |
|
|
81
79
|
|
|
82
80
|
**Two fabricated arXiv IDs were caught and fixed during the LLD-10 audit:**
|
|
83
81
|
`2501.05064` and `2404.12693` (both previously wrong vCache labels). The
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,135 @@ 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.1] - 2026-07-23 — Existing-install stability
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Large existing databases no longer delay daemon readiness for a full tier
|
|
13
|
+
rebalance.** Startup now initializes bounded backend state and leaves the
|
|
14
|
+
scheduled full-database tier evaluation to maintenance.
|
|
15
|
+
- **Failed enrichment can no longer retry forever.** Automatic durable-ingestion
|
|
16
|
+
materialization stops after ten attempts; an operator can still request an
|
|
17
|
+
explicit retry after correcting the underlying issue.
|
|
18
|
+
- **Background enrichment no longer monopolizes SQLite.** Durable
|
|
19
|
+
materialization now uses short saga checkpoints instead of holding one
|
|
20
|
+
database write transaction across model extraction and embedding work, so
|
|
21
|
+
remember, update, delete, and dashboard actions remain writable while
|
|
22
|
+
enrichment continues.
|
|
23
|
+
- **Durable enrichment retries are idempotent after partial failure.** Fact,
|
|
24
|
+
evidence, provenance, graph, temporal, and entity-association effects are
|
|
25
|
+
checkpointed or keyed so retries and process recovery cannot inflate them.
|
|
26
|
+
- **Entity counts stay O(1) on mature databases.** A normalized, indexed
|
|
27
|
+
fact/entity association ledger replaces per-entity scans of the full facts
|
|
28
|
+
table; existing associations are backfilled once during upgrade.
|
|
29
|
+
- **Newly queryable memories are immediately visible to recall.** A strong
|
|
30
|
+
exact BM25/FTS hit now retains one bounded result slot even when semantic
|
|
31
|
+
candidates would otherwise fill a small `limit`, preserving the
|
|
32
|
+
queryable-before-enrichment contract.
|
|
33
|
+
- **Mesh heartbeat writes no longer block the async HTTP event loop.** SQLite
|
|
34
|
+
work runs in FastAPI's worker thread pool, keeping health, token, dashboard,
|
|
35
|
+
recall, and remember endpoints responsive during peer activity.
|
|
36
|
+
- **Dashboard navigation preserves mounted pane state.** Brain, Knowledge Graph,
|
|
37
|
+
Memories, and Entity Explorer do not remount and refetch on every return.
|
|
38
|
+
Successful writes and configuration changes invalidate pane state once so
|
|
39
|
+
the next visit refreshes deliberately.
|
|
40
|
+
- **Brain telemetry is historical and provenance-backed.** Existing reward
|
|
41
|
+
outcomes are repaired into source-quality observations in resumable bounded
|
|
42
|
+
batches, and transient database errors can no longer be reported as a
|
|
43
|
+
completed repair.
|
|
44
|
+
- **Company-mode learning controls enforce workspace permissions.** Learning
|
|
45
|
+
and behavioral reads and mutations now apply the same read, write, delete,
|
|
46
|
+
and manage gates as the rest of the control plane.
|
|
47
|
+
- **Large graph views have a fixed browser-compute budget.** The dashboard can
|
|
48
|
+
render the requested graph result while force simulation is bounded, with a
|
|
49
|
+
short initial settle and finite animation window; selecting a large graph can
|
|
50
|
+
no longer monopolize the browser main thread.
|
|
51
|
+
- **Interactive model workers stay warm instead of repeatedly cold-starting.**
|
|
52
|
+
Embedding and reranker workers now remain resident for a 30-minute working
|
|
53
|
+
session by default, and the embedding peak guard matches the daemon's
|
|
54
|
+
2.5 GB per-worker watchdog. Low-RAM installations can retain shorter idle
|
|
55
|
+
windows and stricter recycling through the existing environment overrides.
|
|
56
|
+
- **CLI mutations use the resident daemon as the single database writer.**
|
|
57
|
+
Exact delete and update commands no longer initialize a competing engine
|
|
58
|
+
beside a running daemon, preventing lock failures on active existing
|
|
59
|
+
installations.
|
|
60
|
+
- **Skill Evolution repairs incomplete historical schemas.** The migration
|
|
61
|
+
runner verifies a completed migration's promised end-state before skipping
|
|
62
|
+
it and reapplies additive DDL when an older upgrade left a required table
|
|
63
|
+
missing.
|
|
64
|
+
- **Release packages are deterministic again.** Canonical data-root routing,
|
|
65
|
+
generated plugin parity checks, truthful integration instructions, and the
|
|
66
|
+
bounded npm package surface are restored.
|
|
67
|
+
|
|
68
|
+
## [3.8.0] - 2026-07-23 — Teams, bounded loops, and nine framework adapters
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
|
|
72
|
+
- **Team & company memory with real access control.** A workspace (profile) can
|
|
73
|
+
now have multiple users, each with a role — **admin**, **member**, or
|
|
74
|
+
**viewer**. Admins manage people and settings, members read and write, viewers
|
|
75
|
+
read only. Everything is managed from the dashboard's new **Team & access**
|
|
76
|
+
panel: add a person, set their role, sign in, or remove them — no config files
|
|
77
|
+
or command line needed.
|
|
78
|
+
- **Sign-in for shared workspaces.** Turn on *"require sign-in"* (company mode)
|
|
79
|
+
and everyone must log in before reading or writing memory, so every action is
|
|
80
|
+
attributable to a person. Single-user setups are unchanged and need no login.
|
|
81
|
+
- **Private, shared, and global memories across a mesh.** Memories keep their
|
|
82
|
+
personal / shared / global visibility consistently when several SuperLocalMemory
|
|
83
|
+
instances are connected, and one team's coordination never bleeds into another's.
|
|
84
|
+
- **Optional personal-data scrubbing on save.** Enable PII redaction and emails,
|
|
85
|
+
phone numbers, national IDs, payment cards, and IP addresses are stripped from
|
|
86
|
+
content before it is ever stored.
|
|
87
|
+
- **Bounded loops — gate-verified iteration.** A loop terminates only when an
|
|
88
|
+
independent gate passes (a test exit code, a linter, a JSON-schema check, or
|
|
89
|
+
an SLM-recall condition) — never when the agent reports completion. Every lap
|
|
90
|
+
is persisted to SLM memory under the tag `loop:<name>`, making runs auditable
|
|
91
|
+
and resumable across sessions. Ships on three surfaces: the `slm loop` CLI
|
|
92
|
+
(`demo` / `history` / `show`), the `/slm-loop` skill with the
|
|
93
|
+
`slm-loop-runner` agent, and the MCP tools `slm_loop_run` /
|
|
94
|
+
`slm_loop_history` / `slm_loop_show` (available in the `code` and `full`
|
|
95
|
+
profiles).
|
|
96
|
+
- **Nine framework adapters.** SLM now ships adapters under `ide/integrations/`
|
|
97
|
+
for LangGraph, Semantic Kernel, Microsoft Agent Framework, LangChain,
|
|
98
|
+
LlamaIndex, CrewAI, AutoGen, Google ADK, and OpenAI Agents. Each adapter
|
|
99
|
+
wires SLM as the memory and history provider without replacing the framework's
|
|
100
|
+
agent runtime. Pydantic AI is intentionally not included — it does not expose
|
|
101
|
+
a formal memory interface for external providers.
|
|
102
|
+
- **Multi-Agent Memory dashboard page.** A new dashboard workspace shows
|
|
103
|
+
per-agent write activity and attribution for environments where multiple
|
|
104
|
+
agents share one SLM deployment. Memory entries are stamped via
|
|
105
|
+
`SLM_AGENT_ID`; the page surfaces per-agent write counts, recent activity,
|
|
106
|
+
and agent trust signals.
|
|
107
|
+
|
|
108
|
+
### Changed / Fixed
|
|
109
|
+
|
|
110
|
+
- **Strict tenant isolation across the whole product.** Coordination between
|
|
111
|
+
agents (peers, messages, shared state, file locks, activity log) is now scoped
|
|
112
|
+
per workspace, so different teams or companies sharing one deployment can never
|
|
113
|
+
see each other's activity.
|
|
114
|
+
- **A person can only enter a workspace they belong to.** Switching into a
|
|
115
|
+
workspace now requires membership.
|
|
116
|
+
- **Tighter file permissions.** Memory, audit, and learning databases are now
|
|
117
|
+
owner-only on disk.
|
|
118
|
+
|
|
119
|
+
## [3.7.9] - 2026-07-20 — Dashboard, skill-evolution, and security hardening
|
|
120
|
+
|
|
121
|
+
### Fixed
|
|
122
|
+
|
|
123
|
+
- **Skill evolution now produces output.** A token-limit mismatch made every evolution attempt fail silently and produce nothing; the ceiling is corrected and the underlying misconfiguration is logged instead of masked.
|
|
124
|
+
- **Manual evolution respects its cost caps.** Triggering `evolve_skill` directly now runs under the same per-cycle, wall-time, and per-day LLM caps as automatic evolution (previously it could run uncapped).
|
|
125
|
+
- **Dashboard landing page loads on first open.** The Operating Mode, LLM Provider, Memories, and Version cards now populate immediately instead of staying on "Loading…".
|
|
126
|
+
- **Operating mode is consistent everywhere.** The active mode is read from a single source of truth, so the CLI, daemon, and dashboard always agree and the chosen mode and provider are actually used.
|
|
127
|
+
- **Code-graph updates are safe against hostile repositories.** `update_code_graph` rejects paths outside your home directory and runs `git` with hook and config execution disabled.
|
|
128
|
+
- **LanceDB tier updates escape identifiers**, closing a filter-injection path.
|
|
129
|
+
- **Optimize savings** no longer errors when no model is configured.
|
|
130
|
+
|
|
131
|
+
### Added
|
|
132
|
+
|
|
133
|
+
- **Configurable, lowest-cost skill-evolution models.** Each step (generate / verify / confirm) defaults to the cheapest capable model for your backend, keeps the blind verifier independent of the generator, and is settable from the CLI or dashboard. Enabling evolution shows a cost advisory.
|
|
134
|
+
- **Dashboard write endpoint** (`POST /api/evolution/config`) for evolution settings, validated against the same allow-list as the CLI.
|
|
135
|
+
- **Test coverage** for the Gmail and Calendar ingestion adapters.
|
|
136
|
+
|
|
8
137
|
## [3.7.8] - 2026-07-20 — Profile-isolation leak fix, loopback auth opt-in, hardening
|
|
9
138
|
|
|
10
139
|
### Fixed
|
package/README.md
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
<h1 align="center">SuperLocalMemory V3.
|
|
9
|
-
<p align="center"><strong>
|
|
10
|
-
<em>
|
|
11
|
-
<p align="center"><code>v3.
|
|
8
|
+
<h1 align="center">SuperLocalMemory V3.8.1</h1>
|
|
9
|
+
<p align="center"><strong>Enterprise-grade, local-first memory for AI agents and teams.</strong><br/>
|
|
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.1</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
|
|
|
@@ -19,6 +19,7 @@ Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</
|
|
|
19
19
|
<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>
|
|
20
20
|
<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>
|
|
21
21
|
<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>
|
|
22
|
+
<a href="#teams-and-enterprise-memory-v380"><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>
|
|
22
23
|
<a href="https://superlocalmemory.com"><img src="https://img.shields.io/badge/Web-superlocalmemory.com-ff6b35?style=for-the-badge" alt="Website"/></a>
|
|
23
24
|
<a href="#dual-interface-mcp--cli"><img src="https://img.shields.io/badge/MCP-Native-blue?style=for-the-badge" alt="MCP Native"/></a>
|
|
24
25
|
<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>
|
|
@@ -29,14 +30,29 @@ Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</
|
|
|
29
30
|
|
|
30
31
|
## Why SuperLocalMemory?
|
|
31
32
|
|
|
33
|
+
SuperLocalMemory is an enterprise-grade, local-first memory control plane for AI agents. Your team's agent memory lives on infrastructure you control, with per-workspace isolation, role-based access, and GDPR / EU AI Act governance controls — built for organizations, and for EU data-residency obligations where agent context must not leave your environment by default.
|
|
34
|
+
|
|
32
35
|
Agent-memory systems make different storage, model-provider, and deployment trade-offs. SuperLocalMemory starts with a local runtime and makes provider-backed enrichment, cloud backup, connectors, and proxy use explicit choices.
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
Different products solve different boundaries. The published benchmark evidence carried into V3.8.0 is protocol-scoped evidence from the published V3 research, not a claim of a newly rerun V3.8.0 package benchmark.
|
|
38
|
+
|
|
39
|
+
SuperLocalMemory V3 combines conventional dense and lexical retrieval with graph, temporal, associative, and statistical relevance scoring. The default local runtime does not require Docker, a separately operated graph database, or an API key.
|
|
40
|
+
|
|
41
|
+
**Memory with a sense of time.** SLM does not only store *what* an agent learned — it records *when*. Every fact carries ingestion timing and provenance; recall runs a dedicated temporal candidate channel alongside semantic, lexical, and associative retrieval; scenes and entity timelines reconstruct sequence; and the lifecycle lets neglected memory decay and self-archive instead of growing without bound. Time is a first-class ranking and lifecycle signal rather than a timestamp column an agent never reads — which is what lets a long-lived agent reason about how its context changed, not only what it currently holds.
|
|
42
|
+
|
|
43
|
+
**What V3.8.0 added.** The 3.8.0 capability release introduced the following
|
|
44
|
+
foundation; 3.8.1 is the existing-install stability patch for it:
|
|
45
|
+
|
|
46
|
+
- **Temporal depth** — the time-aware retrieval and lifecycle described above.
|
|
47
|
+
- **Governance & EU compliance** — [team roles, workspace isolation, a login gate, multi-scope memory, GDPR access/erasure/portability rights, a hash-chained audit trail, and per-mode EU AI Act self-assessment](#teams-and-enterprise-memory-v380).
|
|
48
|
+
- **Framework adapters** — [drop-in, engine-backed memory for nine agent frameworks](#framework-adapters-v380).
|
|
49
|
+
- **Bounded loops** — [gate-verified agent loops where an independent check, not the agent's own claim, decides when a task is done](#bounded-loops-v380).
|
|
50
|
+
- **Stronger cache and compression** — exact-match caching with tagged invalidation plus opt-in reversible compression, across proxy, MCP, and skill surfaces.
|
|
51
|
+
- **Stability** — a long defect-and-audit sweep across ingestion, retrieval, mesh, and the dashboard hardens the everyday path.
|
|
52
|
+
|
|
53
|
+
SLM is one strand of Qualixar's work on AI reliability engineering: making agent behavior observable, bounded, and reproducible instead of best-effort.
|
|
35
54
|
|
|
36
|
-
|
|
37
|
-
in the V3 paper remains the foundation of this release. The figures below keep
|
|
38
|
-
their original LoCoMo protocol, answer-construction, model, and sample scope;
|
|
39
|
-
they are not a claim of a newly rerun 3.7 package benchmark.
|
|
55
|
+
The architecture evaluated in the V3 paper remains the foundation of this release. The figures below keep their original LoCoMo protocol, answer-construction, model, and sample scope.
|
|
40
56
|
|
|
41
57
|
### How SLM fits beside other memory systems
|
|
42
58
|
|
|
@@ -61,7 +77,7 @@ for current primary sources and protocol-scoped benchmark evidence. A LoCoMo
|
|
|
61
77
|
percentage is comparable only when the dataset scope, answer model, judge,
|
|
62
78
|
retrieval stack, and release artifact match.
|
|
63
79
|
|
|
64
|
-
### The V3.
|
|
80
|
+
### The V3.8.0 capability architecture
|
|
65
81
|
|
|
66
82
|
SuperLocalMemory is one local control plane for persistent agent context. It is
|
|
67
83
|
not just a vector store: the same runtime can accept evidence, build and govern
|
|
@@ -69,7 +85,7 @@ memory, retrieve bounded evidence for an agent, and expose cache, compression,
|
|
|
69
85
|
and peer-coordination controls through a CLI, MCP, dashboard, and supported
|
|
70
86
|
IDE integrations.
|
|
71
87
|
|
|
72
|
-

|
|
73
89
|
|
|
74
90
|
*Architecture boundary: SQLite + sqlite-vec remain canonical; CozoDB and
|
|
75
91
|
LanceDB are parity-gated projections; Mesh coordinates trusted peers rather
|
|
@@ -128,6 +144,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
128
144
|
| Knowledge Graph and Memories | graph neighborhoods, entities, scenes, temporal evidence, memory inspection and mutation |
|
|
129
145
|
| Operations | ingestion-operation state, traces, maintenance and lifecycle work |
|
|
130
146
|
| Entity Explorer and Skill Evolution | compiled entity summaries/timelines; opt-in skill lineage, budgets and verification outcomes |
|
|
147
|
+
| Multi-Agent Memory | per-agent write activity and attribution; memories stamped by `SLM_AGENT_ID`, agent write counts, and trust signals |
|
|
131
148
|
| Mesh Peers | configured peers, inbox/outbox, pending coordination and locks |
|
|
132
149
|
| Settings and Optimize | mode/provider/configuration; cache, compression and savings telemetry |
|
|
133
150
|
|
|
@@ -141,9 +158,9 @@ deployment.
|
|
|
141
158
|
|
|
142
159
|
**[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.
|
|
143
160
|
|
|
144
|
-
### Published LoCoMo evidence carried into V3.
|
|
161
|
+
### Published LoCoMo evidence (V3 architecture, carried into V3.8.0)
|
|
145
162
|
|
|
146
|
-
The V3 paper evaluates the architecture carried into V3.
|
|
163
|
+
The V3 paper evaluates the architecture carried into V3.8.0. Every figure below
|
|
147
164
|
is protocol-scoped, so a reader can distinguish local retrieval, answer
|
|
148
165
|
construction, and cloud-assisted evaluation rather than treating unlike runs as
|
|
149
166
|
one score.
|
|
@@ -164,8 +181,7 @@ information-geometric layers versus **58.9%** without them: **+12.7pp**.
|
|
|
164
181
|
See [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) and the [official
|
|
165
182
|
LoCoMo paper](https://arxiv.org/abs/2402.17753) for the full protocol,
|
|
166
183
|
ablation table, and limitations. These are published V3 architecture results
|
|
167
|
-
carried into V3.
|
|
168
|
-
benchmark.
|
|
184
|
+
carried into V3.8.0—not a substitute for a newly rerun release-artifact benchmark.
|
|
169
185
|
|
|
170
186
|
---
|
|
171
187
|
|
|
@@ -255,7 +271,7 @@ retrieved at runtime rather than copied into those files.
|
|
|
255
271
|
**Score Contract v2:** `relevance_score` is query-relative relevance;
|
|
256
272
|
`ranking_score` is internal ranking utility; `memory_confidence` belongs to the
|
|
257
273
|
stored assertion; and `trust_score` is an evidence-policy signal. Legacy
|
|
258
|
-
`score` and `confidence` remain aliases for one compatibility release. V3.
|
|
274
|
+
`score` and `confidence` remain aliases for one compatibility release. V3.8.0 is
|
|
259
275
|
explicitly uncalibrated: `calibration_status` is `uncalibrated` and
|
|
260
276
|
`answer_confidence` is `null`. See
|
|
261
277
|
[the retrieval score contract](docs/retrieval-score-contract.md).
|
|
@@ -269,8 +285,7 @@ can run without a cloud LLM:
|
|
|
269
285
|
|
|
270
286
|
Auto-capture hooks are installed explicitly with `slm hooks install` (Claude
|
|
271
287
|
Code) or `slm hooks install --agent codex` (Codex). Hook latency and capture
|
|
272
|
-
quality must be evaluated for the target client and workload; V3.
|
|
273
|
-
no universal p99 claim.
|
|
288
|
+
quality must be evaluated for the target client and workload; V3.8.0 publishes no universal p99 claim.
|
|
274
289
|
|
|
275
290
|
**Multi-scope memory (v3.6.15, opt-in):** keep memories `personal` (default), `shared` with named profiles, or `global` across the machine. Off by default — recall only ever returns your own facts until you turn sharing on, per call or in config. See **[docs/shared-memory.md](docs/shared-memory.md)**.
|
|
276
291
|
|
|
@@ -325,7 +340,7 @@ export SLM_MESH_SHARED_SECRET=my-secret-key
|
|
|
325
340
|
slm init
|
|
326
341
|
```
|
|
327
342
|
|
|
328
|
-
8 mesh MCP tools: `
|
|
343
|
+
8 mesh MCP tools: `mesh_summary`, `mesh_peers`, `mesh_send`, `mesh_inbox`, `mesh_state`, `mesh_lock`, `mesh_events`, `mesh_status`.
|
|
329
344
|
|
|
330
345
|
Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-deployment.md](docs/distributed-deployment.md)
|
|
331
346
|
|
|
@@ -377,10 +392,10 @@ Control tool surface via `SLM_MCP_PROFILE`:
|
|
|
377
392
|
| Profile | Tools | Use case |
|
|
378
393
|
|:--------|:-----:|:---------|
|
|
379
394
|
| `core` | 14 | Memory, session, and optimize core |
|
|
380
|
-
| `code` |
|
|
395
|
+
| `code` | 24 | Core + code-graph tools + profile switching + bounded loops |
|
|
381
396
|
| `mesh` | 8 | Mesh-only — multi-machine coordination |
|
|
382
|
-
| `full` |
|
|
383
|
-
| `power` |
|
|
397
|
+
| `full` | 42 | Memory + optimize + evolution + mesh + bounded loops |
|
|
398
|
+
| `power` | 54 | Full + administration, lifecycle, and diagnostics |
|
|
384
399
|
| `whole` | all registered | Every registered MCP tool |
|
|
385
400
|
|
|
386
401
|
**Precedence:** `ALL` > `TOOLS` > `PROFILE` > `default`
|
|
@@ -392,10 +407,7 @@ slm mcp
|
|
|
392
407
|
|
|
393
408
|
For a predictable small surface, set `core` explicitly. Leaving the variable
|
|
394
409
|
unset retains the compatibility default, whose mesh tools follow the local
|
|
395
|
-
mesh setting.
|
|
396
|
-
`full38`, `power50`, `whole81`) remain temporary aliases and emit a migration
|
|
397
|
-
warning. Unknown names stop startup instead of silently selecting another tool
|
|
398
|
-
set.
|
|
410
|
+
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.
|
|
399
411
|
|
|
400
412
|
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).
|
|
401
413
|
|
|
@@ -455,6 +467,22 @@ not a byte-preserving operation; use it only when you want the MCP server
|
|
|
455
467
|
configured. Check the result with `slm codex status`; undo SLM-owned add-ons
|
|
456
468
|
with `slm codex remove`.
|
|
457
469
|
|
|
470
|
+
## GitHub Copilot integration
|
|
471
|
+
|
|
472
|
+
The shipped installer configures the SuperLocalMemory MCP server and additive
|
|
473
|
+
agent instructions for VS Code with GitHub Copilot:
|
|
474
|
+
|
|
475
|
+
```bash
|
|
476
|
+
slm connect vscode-copilot --here
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
Run it from the project root. It semantically merges the SLM server into
|
|
480
|
+
`.vscode/mcp.json` and adds SLM-owned guidance inside
|
|
481
|
+
`.github/copilot-instructions.md`, preserving unrelated servers and existing
|
|
482
|
+
instructions. The generated `copilot-plugin/` source bundle is maintained for
|
|
483
|
+
parity checks, but v3.8.1 does not claim that `slm connect` installs its prompt,
|
|
484
|
+
agent, or hook files.
|
|
485
|
+
|
|
458
486
|
---
|
|
459
487
|
|
|
460
488
|
## Privacy controls and operating modes
|
|
@@ -481,6 +509,141 @@ Available controls include local export and erasure commands, hash-chained audit
|
|
|
481
509
|
|
|
482
510
|
---
|
|
483
511
|
|
|
512
|
+
## Teams and Enterprise Memory (v3.8.0)
|
|
513
|
+
|
|
514
|
+
V3.8.0 adds multi-user, multi-workspace controls for teams and organizations. These are opt-in — personal single-user installs work exactly as before with no required login.
|
|
515
|
+
|
|
516
|
+
### Users and roles
|
|
517
|
+
|
|
518
|
+
SLM supports three role tiers within a workspace: **admin**, **member**, and **viewer**.
|
|
519
|
+
|
|
520
|
+
| Role | Can read memory | Can write memory | Can manage users/config |
|
|
521
|
+
|------|:---------------:|:----------------:|:-----------------------:|
|
|
522
|
+
| admin | yes | yes | yes |
|
|
523
|
+
| member | yes | yes | no |
|
|
524
|
+
| viewer | yes | no | no |
|
|
525
|
+
|
|
526
|
+
Roles are scoped per workspace (profile). A user may have different roles in different workspaces.
|
|
527
|
+
|
|
528
|
+
### Workspace isolation
|
|
529
|
+
|
|
530
|
+
Each workspace (profile) is a fully isolated memory namespace. One workspace cannot read another's personal memories. Shared and global scopes are opt-in and still profile-bounded at the authorization layer.
|
|
531
|
+
|
|
532
|
+
### Login gate
|
|
533
|
+
|
|
534
|
+
Enterprise deployments set `require_login = true` in configuration. With login enabled:
|
|
535
|
+
- Every dashboard and API request requires an authenticated session.
|
|
536
|
+
- First-run creates an admin account with a user-chosen password (no default credentials are shipped).
|
|
537
|
+
- Session cookies use `HttpOnly` with optional `Secure` enforcement.
|
|
538
|
+
- Personal installs run with `require_login = false` (loopback owner is trusted).
|
|
539
|
+
|
|
540
|
+
```bash
|
|
541
|
+
slm config set security.require_login true # Enable for team/enterprise use
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
### Memory scopes
|
|
545
|
+
|
|
546
|
+
| Scope | Who can recall | Set with |
|
|
547
|
+
|-------|---------------|----------|
|
|
548
|
+
| `personal` | Owner profile only (default) | `slm remember "..." --scope personal` |
|
|
549
|
+
| `shared` | Named profiles the owner grants | `slm remember "..." --scope shared --shared-with profile-a,profile-b` |
|
|
550
|
+
| `global` | Any authorized user on this machine | `slm remember "..." --scope global` |
|
|
551
|
+
|
|
552
|
+
Recall is default-deny: shared and global facts are never returned unless the caller explicitly opts in (`--include-shared`, `--include-global`) or the scope policy allows it. See [docs/shared-memory.md](docs/shared-memory.md).
|
|
553
|
+
|
|
554
|
+
### GDPR and data governance
|
|
555
|
+
|
|
556
|
+
SLM ships built-in controls that support GDPR compliance programs:
|
|
557
|
+
|
|
558
|
+
- **Export** — full profile data export as a structured JSONL bundle
|
|
559
|
+
- **Erasure** — profile deletion removes data from 30+ scoped tables; erasure is logged to the tamper-proof audit chain before any data is deleted
|
|
560
|
+
- **Retention rules** — time-based policies (`indefinite`, `gdpr-30d`, `hipaa-7y`, `custom`) applied per profile
|
|
561
|
+
- **Audit trail** — every store, recall, mutation, and erasure produces a hash-chained audit record
|
|
562
|
+
- **PII redaction** — configurable automatic redaction before memory content crosses trust boundaries
|
|
563
|
+
|
|
564
|
+
These are engineering controls. Compliance depends on deployment configuration, use case, and operator responsibility. See [docs/compliance.md](docs/compliance.md).
|
|
565
|
+
|
|
566
|
+
### EU AI Act mode verification
|
|
567
|
+
|
|
568
|
+
SLM includes a per-mode EU AI Act self-assessment. The `EUAIActChecker` produces a compliance report for the active operating mode — risk category, whether data stays local, whether generative AI is used, and transparency / human-oversight signals:
|
|
569
|
+
|
|
570
|
+
- **Mode A (Local Guardian)** and **Mode B (Smart Local)** — assessed as compliant: memory processing stays local and uses no generative AI.
|
|
571
|
+
- **Mode C (Provider-assisted)** — flagged non-compliant, because query or enrichment content is sent to a cloud model provider.
|
|
572
|
+
|
|
573
|
+
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).
|
|
574
|
+
|
|
575
|
+
### Deployment tiers
|
|
576
|
+
|
|
577
|
+
SLM ships one binary and is configured for the appropriate tier at install or post-install time.
|
|
578
|
+
|
|
579
|
+
| Tier | Login gate | PII redaction | Retention | Audit |
|
|
580
|
+
|------|:---------:|:-------------:|:---------:|:-----:|
|
|
581
|
+
| **Personal** | off | off | off | on |
|
|
582
|
+
| **Enterprise** | on | on | on | on |
|
|
583
|
+
|
|
584
|
+
The installer or `slm reconfigure` sets the tier. Each setting is independently overridable at runtime. Full tier documentation: [docs/deployment-tiers.md](docs/deployment-tiers.md).
|
|
585
|
+
|
|
586
|
+
### RBAC and teams docs
|
|
587
|
+
|
|
588
|
+
Full reference: [docs/rbac-teams.md](docs/rbac-teams.md) · [docs/deployment-tiers.md](docs/deployment-tiers.md)
|
|
589
|
+
|
|
590
|
+
---
|
|
591
|
+
|
|
592
|
+
## Bounded Loops (v3.8.0)
|
|
593
|
+
|
|
594
|
+
A bounded loop terminates only when an **independent gate** passes — a test
|
|
595
|
+
suite exit code, a linter, a JSON-schema check, or an SLM-recall condition.
|
|
596
|
+
The agent's own "I finished" message is recorded as advisory context and never
|
|
597
|
+
used as the termination signal. Every lap is persisted to SLM memory under the
|
|
598
|
+
tag `loop:<name>`, so runs are auditable and resumable across sessions.
|
|
599
|
+
|
|
600
|
+
Three surfaces ship together:
|
|
601
|
+
|
|
602
|
+
| Surface | How you use it |
|
|
603
|
+
|---------|---------------|
|
|
604
|
+
| **CLI** | `slm loop demo` · `slm loop history [--name <n>]` · `slm loop show <run_id>` |
|
|
605
|
+
| **Skill + agent** | `/slm-loop` skill with the `slm-loop-runner` agent — delegate a task that has a checkable acceptance condition |
|
|
606
|
+
| **MCP tools** | `slm_loop_run` · `slm_loop_history` · `slm_loop_show` — call from any IDE or agent (available in the `code` and `full` MCP profiles) |
|
|
607
|
+
|
|
608
|
+
```bash
|
|
609
|
+
# Run the built-in convergence demo (no API key needed)
|
|
610
|
+
slm loop demo
|
|
611
|
+
|
|
612
|
+
# Inspect recorded runs
|
|
613
|
+
slm loop history --name convergence-demo
|
|
614
|
+
slm loop show <run_id>
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
Loop laps are stored as ordinary SLM memories and are visible in the dashboard
|
|
618
|
+
under Knowledge Graph and Memories (filter by tag `loop:<name>`) and in the
|
|
619
|
+
Multi-Agent Memory workspace.
|
|
620
|
+
|
|
621
|
+
---
|
|
622
|
+
|
|
623
|
+
## Framework Adapters (v3.8.0)
|
|
624
|
+
|
|
625
|
+
SLM ships nine framework adapters under `ide/integrations/`. Each adapter
|
|
626
|
+
wires SLM as the memory and history provider for the respective framework
|
|
627
|
+
without replacing the framework's own agent runtime.
|
|
628
|
+
|
|
629
|
+
| Framework | Directory |
|
|
630
|
+
|-----------|-----------|
|
|
631
|
+
| LangGraph | `ide/integrations/langgraph/` |
|
|
632
|
+
| Semantic Kernel | `ide/integrations/semantic-kernel/` |
|
|
633
|
+
| Microsoft Agent Framework | `ide/integrations/agent-framework/` |
|
|
634
|
+
| LangChain | `ide/integrations/langchain/` |
|
|
635
|
+
| LlamaIndex | `ide/integrations/llamaindex/` |
|
|
636
|
+
| CrewAI | `ide/integrations/crewai/` |
|
|
637
|
+
| AutoGen | `ide/integrations/autogen/` |
|
|
638
|
+
| Google ADK | `ide/integrations/google-adk/` |
|
|
639
|
+
| OpenAI Agents | `ide/integrations/openai-agents/` |
|
|
640
|
+
|
|
641
|
+
Pydantic AI is not included — it does not expose a formal memory interface for
|
|
642
|
+
external providers. Each adapter's `README.md` covers installation and
|
|
643
|
+
configuration for that framework.
|
|
644
|
+
|
|
645
|
+
---
|
|
646
|
+
|
|
484
647
|
## Advanced
|
|
485
648
|
|
|
486
649
|
| Topic | Link |
|
|
@@ -495,6 +658,8 @@ Available controls include local export and erasure commands, hash-chained audit
|
|
|
495
658
|
| MCP tools reference | [docs/mcp-tools.md](docs/mcp-tools.md) |
|
|
496
659
|
| Getting started | [docs/getting-started.md](docs/getting-started.md) |
|
|
497
660
|
| IDE setup (15 configs) | [docs/ide-setup.md](docs/ide-setup.md) |
|
|
661
|
+
| Teams, users, and RBAC | [docs/rbac-teams.md](docs/rbac-teams.md) |
|
|
662
|
+
| Deployment tiers | [docs/deployment-tiers.md](docs/deployment-tiers.md) |
|
|
498
663
|
| pi.dev integration | [docs/pi-dev-integration.md](docs/pi-dev-integration.md) |
|
|
499
664
|
| Skill evolution | [docs/skill-evolution.md](docs/skill-evolution.md) |
|
|
500
665
|
| V2 migration | [docs/migration-from-v2.md](docs/migration-from-v2.md) |
|
|
@@ -502,82 +667,19 @@ Available controls include local export and erasure commands, hash-chained audit
|
|
|
502
667
|
| Retrieval score contract | [docs/retrieval-score-contract.md](docs/retrieval-score-contract.md) |
|
|
503
668
|
| Wiki | [github.com/qualixar/superlocalmemory/wiki](https://github.com/qualixar/superlocalmemory/wiki) |
|
|
504
669
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
```
|
|
509
|
-
The dashboard includes Dashboard, Brain, Knowledge Graph, Memories, Health,
|
|
510
|
-
Operations, Entity Explorer, Skill Evolution, Mesh Peers, Settings, and
|
|
511
|
-
Optimize workspaces. Features are populated only when their corresponding
|
|
512
|
-
runtime capability is enabled and healthy.
|
|
513
|
-
|
|
514
|
-
**Release history:**
|
|
515
|
-
|
|
516
|
-
| Version | Codename | Key Features |
|
|
517
|
-
|---|---|---|
|
|
518
|
-
| **v3.6.23** | Cross-platform Patch | Windows doctor/cache stats fixes (#65), neutral SLM hook guidance (#64), pi.dev MCP docs (#31), contributor fixes for dashboard profile path resolution (#63) and tz-naive Langevin maintenance backfill (#66) |
|
|
519
|
-
| **v3.6.22** | Stability | backbone.py JSONDecodeError on empty HTTP 200 body (issue #62) — retries 3× then returns "" gracefully; remaining dashboard UI audit: clusters/compliance/entities r.ok guards, math-health status badge colors |
|
|
520
|
-
| **v3.6.21** | Dashboard Audit | Full UI audit across all 7 dashboard tabs — auth fix for mesh panel (issue #60 frontend), Quick Store endpoint, timeline endpoint, r.ok guards, SSE \r fix, event delegation for lazy tabs, optimize toggle revert |
|
|
521
|
-
| **v3.6.20** | Mesh Auth | Remote mesh auth fix (issue #60) — `_get_broker` now accepts Bearer + X-Mesh-Secret from non-loopback callers; config settings preservation (AIDEV-86) |
|
|
522
|
-
| **v3.6.17** | Community | 8 contributor PRs (observability events, marker-bounded adapter writes, daemon port discovery, anthropic `api_base`, OpenMP workers, atomic-write rehash, `_jl` sentinel, LFS pointer); dashboard-feedback fix (#53/#59); env-tunable SQLite knobs + idle backoff; remote LLM test-probe (#40) |
|
|
523
|
-
| **v3.6.16** | Docs | Corrected Claude Code plugin install — adds the required `/plugin marketplace add` step; clarifies plugin vs pip/npm delivery |
|
|
524
|
-
| **v3.6.15** | Multi-scope | **Opt-in [shared memory](docs/shared-memory.md)** (personal/shared/global, off by default), default-deny scope at every read path, recall scope-race fix, contributor PRs #42/#43/#44, fixes #46–#49 |
|
|
525
|
-
| **v3.6.14** | Plugin-native | Claude Code Plugin (WP-06), MCP profiles (WP-01), IDE connect (WP-08), asset consolidation, UI polish (WP-12) |
|
|
526
|
-
| **v3.6.x** | Optimize Everywhere / Distributed-ready | Three surfaces (proxy/MCP/skill), `SLM_REMOTE=1` LAN mode, remote dashboard, custom LLM endpoints |
|
|
527
|
-
| **v3.5.0** | Historical scale work | Early CozoDB/LanceDB projection paths, retrieval additions, Core Memory Block, context injection v2, score normalization |
|
|
528
|
-
| **v3.4.x** | Scale-Ready (foundation) | Tiered storage, graph pruning, Hopfield channel, LightGBM ranking, mDNS mesh discovery |
|
|
529
|
-
| **v3.3.x** | Foundation | BM25Plus, Fisher-Rao, sqlite-vec, RRF fusion, cross-encoder rerank. 3 published papers |
|
|
530
|
-
|
|
531
|
-
---
|
|
670
|
+
Open the web dashboard with `slm dashboard`; workspaces appear only when their
|
|
671
|
+
runtime capability is enabled and healthy. See [CHANGELOG.md](CHANGELOG.md) for
|
|
672
|
+
the complete release history.
|
|
532
673
|
|
|
533
674
|
## Research Papers
|
|
534
675
|
|
|
535
|
-
SuperLocalMemory is backed by three
|
|
536
|
-
|
|
537
|
-
### Paper 3: The Living Brain (V3.3)
|
|
538
|
-
> **SuperLocalMemory V3.3: The Living Brain — Biologically-Inspired Forgetting, Cognitive Quantization, and Multi-Channel Retrieval for Zero-LLM Agent Memory Systems**
|
|
539
|
-
> Varun Pratap Bhardwaj (2026)
|
|
540
|
-
> [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo DOI: 10.5281/zenodo.19435120](https://zenodo.org/records/19435120)
|
|
541
|
-
|
|
542
|
-
### Paper 2: Information-Geometric Foundations (V3)
|
|
543
|
-
> **SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory**
|
|
544
|
-
> Varun Pratap Bhardwaj (2026)
|
|
545
|
-
> [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo DOI: 10.5281/zenodo.19038659](https://zenodo.org/records/19038659)
|
|
546
|
-
|
|
547
|
-
### Paper 1: Trust & Behavioral Foundations (V2)
|
|
548
|
-
> **SuperLocalMemory: A Structured Local Memory Architecture for Persistent AI Agent Context**
|
|
549
|
-
> Varun Pratap Bhardwaj (2026)
|
|
550
|
-
> [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo DOI: 10.5281/zenodo.18709670](https://zenodo.org/records/18709670)
|
|
551
|
-
|
|
552
|
-
### Cite This Work
|
|
553
|
-
|
|
554
|
-
```bibtex
|
|
555
|
-
@article{bhardwaj2026slmv33,
|
|
556
|
-
title={SuperLocalMemory V3.3: The Living Brain — Biologically-Inspired
|
|
557
|
-
Forgetting, Cognitive Quantization, and Multi-Channel Retrieval
|
|
558
|
-
for Zero-LLM Agent Memory Systems},
|
|
559
|
-
author={Bhardwaj, Varun Pratap},
|
|
560
|
-
journal={arXiv preprint arXiv:2604.04514},
|
|
561
|
-
year={2026},
|
|
562
|
-
url={https://arxiv.org/abs/2604.04514}
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
@article{bhardwaj2026slmv3,
|
|
566
|
-
title={Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory},
|
|
567
|
-
author={Bhardwaj, Varun Pratap},
|
|
568
|
-
journal={arXiv preprint arXiv:2603.14588},
|
|
569
|
-
year={2026}
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
@article{bhardwaj2026slm,
|
|
573
|
-
title={A Structured Local Memory Architecture for Persistent AI Agent Context},
|
|
574
|
-
author={Bhardwaj, Varun Pratap},
|
|
575
|
-
journal={arXiv preprint arXiv:2603.02240},
|
|
576
|
-
year={2026}
|
|
577
|
-
}
|
|
578
|
-
```
|
|
676
|
+
SuperLocalMemory is backed by three preprints by Varun Pratap Bhardwaj (2026):
|
|
579
677
|
|
|
580
|
-
|
|
678
|
+
- **The Living Brain (V3.3):** [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo 19435120](https://zenodo.org/records/19435120)
|
|
679
|
+
- **Information-Geometric Foundations (V3):** [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo 19038659](https://zenodo.org/records/19038659)
|
|
680
|
+
- **Trust & Behavioral Foundations (V2):** [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo 18709670](https://zenodo.org/records/18709670)
|
|
681
|
+
|
|
682
|
+
Use the citation metadata on the linked arXiv or Zenodo records.
|
|
581
683
|
|
|
582
684
|
## Support / License / Qualixar
|
|
583
685
|
|
|
@@ -593,34 +695,14 @@ Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](http
|
|
|
593
695
|
|
|
594
696
|
### Acknowledgments
|
|
595
697
|
|
|
596
|
-
- **[Everything Claude Code (ECC)](https://github.com/affaan-m/everything-claude-code)**
|
|
597
|
-
- **[HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace)**
|
|
698
|
+
- **[Everything Claude Code (ECC)](https://github.com/affaan-m/everything-claude-code)** inspired SLM's skill-observation patterns; SLM can ingest ECC observations with `slm ingest --source ecc`.
|
|
699
|
+
- **[HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace)** informed the skill-evolution verification design (arXiv:2604.01687).
|
|
598
700
|
|
|
599
701
|
### Qualixar AI Agent Reliability Platform
|
|
600
702
|
|
|
601
|
-
Qualixar
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|---------|---------|---------|
|
|
605
|
-
| **[SuperLocalMemory](https://github.com/qualixar/superlocalmemory)** | Persistent memory + learning | `npm install -g superlocalmemory` |
|
|
606
|
-
| **[Qualixar OS](https://github.com/qualixar/qualixar-os)** | Universal agent runtime | `npx qualixar-os` |
|
|
607
|
-
| **[SLM Mesh](https://github.com/qualixar/slm-mesh)** | P2P coordination across sessions | `npm i slm-mesh` |
|
|
608
|
-
| **[SLM MCP Hub](https://github.com/qualixar/slm-mcp-hub)** | Federate 430+ MCP tools | `pip install slm-mcp-hub` |
|
|
609
|
-
| **[AgentAssay](https://github.com/qualixar/agentassay)** | Token-efficient agent testing | `pip install agentassay` |
|
|
610
|
-
| **[AgentAssert](https://github.com/qualixar/agentassert-abc)** | Behavioral contracts + drift detection | `pip install agentassert-abc` |
|
|
611
|
-
| **[SkillFortify](https://github.com/qualixar/skillfortify)** | Formal verification for agent skills | `pip install skillfortify` |
|
|
612
|
-
|
|
613
|
-
**Local-first architecture. Deployment-specific privacy and compliance controls.**
|
|
614
|
-
|
|
615
|
-
Start here → **[qualixar.com](https://qualixar.com)** · [All papers on Qualixar HuggingFace](https://huggingface.co/Qualixar)
|
|
616
|
-
|
|
617
|
-
---
|
|
618
|
-
|
|
619
|
-
<p align="center">
|
|
620
|
-
<sub>Built with mathematical rigor. Not in the race — here to help everyone build better AI memory systems.</sub>
|
|
621
|
-
</p>
|
|
622
|
-
|
|
623
|
-
---
|
|
703
|
+
Qualixar builds open-source infrastructure for AI reliability engineering.
|
|
704
|
+
Start at **[qualixar.com](https://qualixar.com)** or browse the
|
|
705
|
+
[Qualixar research archive](https://huggingface.co/Qualixar).
|
|
624
706
|
|
|
625
707
|
## Star This Project
|
|
626
708
|
|