superlocalmemory 3.8.1 → 3.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +2 -2
  3. package/package.json +1 -1
  4. package/plugin/.claude-plugin/plugin.json +1 -1
  5. package/plugin/CLAUDE.md +3 -3
  6. package/plugin/agents/slm-governance-advisor.md +1 -1
  7. package/plugin/agents/slm-loop-runner.md +1 -1
  8. package/plugin/agents/slm-memory-advisor.md +2 -2
  9. package/plugin/agents/slm-optimize-advisor.md +1 -1
  10. package/plugin/requirements.txt +1 -1
  11. package/plugin/skills/slm-cache/SKILL.md +1 -1
  12. package/plugin/skills/slm-compress/SKILL.md +1 -1
  13. package/plugin/skills/slm-governance/SKILL.md +1 -1
  14. package/plugin/skills/slm-graph/SKILL.md +1 -1
  15. package/plugin/skills/slm-loop/SKILL.md +1 -1
  16. package/plugin/skills/slm-mesh/SKILL.md +1 -1
  17. package/plugin/skills/slm-profile/SKILL.md +1 -1
  18. package/plugin/skills/slm-recall/SKILL.md +3 -5
  19. package/plugin/skills/slm-remember/SKILL.md +1 -1
  20. package/plugin/skills/slm-scope/SKILL.md +1 -1
  21. package/plugin/skills/slm-session/SKILL.md +1 -1
  22. package/plugin/skills/slm-status/SKILL.md +1 -1
  23. package/plugin-src/rules/AGENTS.md +2 -1
  24. package/plugin-src/skills/slm-cache/SKILL.md +1 -1
  25. package/plugin-src/skills/slm-compress/SKILL.md +1 -1
  26. package/plugin-src/skills/slm-graph/SKILL.md +1 -1
  27. package/plugin-src/skills/slm-recall/SKILL.md +3 -5
  28. package/plugin-src/skills/slm-remember/SKILL.md +1 -1
  29. package/plugin-src/skills/slm-session/SKILL.md +1 -1
  30. package/plugin-src/skills/slm-status/SKILL.md +1 -1
  31. package/pyproject.toml +1 -1
  32. package/scripts/postinstall.js +7 -1
  33. package/src/superlocalmemory/__init__.py +1 -1
  34. package/src/superlocalmemory/cli/commands.py +360 -2
  35. package/src/superlocalmemory/cli/main.py +62 -3
  36. package/src/superlocalmemory/cli/setup_wizard.py +142 -16
  37. package/src/superlocalmemory/core/component_healer.py +144 -0
  38. package/src/superlocalmemory/core/component_registry.py +487 -0
  39. package/src/superlocalmemory/core/config.py +21 -0
  40. package/src/superlocalmemory/core/embeddings.py +14 -1
  41. package/src/superlocalmemory/core/engine.py +9 -5
  42. package/src/superlocalmemory/core/ingestion_command.py +36 -16
  43. package/src/superlocalmemory/core/maintenance.py +43 -0
  44. package/src/superlocalmemory/core/maintenance_scheduler.py +28 -0
  45. package/src/superlocalmemory/core/recall_pipeline.py +39 -3
  46. package/src/superlocalmemory/core/store_pipeline.py +42 -0
  47. package/src/superlocalmemory/mcp/_daemon_proxy.py +6 -2
  48. package/src/superlocalmemory/mcp/_pool_adapter.py +4 -1
  49. package/src/superlocalmemory/mcp/tools_active.py +1 -1
  50. package/src/superlocalmemory/mcp/tools_core.py +17 -2
  51. package/src/superlocalmemory/retrieval/bridge_discovery.py +14 -0
  52. package/src/superlocalmemory/retrieval/spreading_activation.py +68 -38
  53. package/src/superlocalmemory/server/routes/behavioral.py +6 -2
  54. package/src/superlocalmemory/server/routes/learning.py +13 -3
  55. package/src/superlocalmemory/server/routes/memories.py +80 -26
  56. package/src/superlocalmemory/server/routes/v3_api.py +120 -0
  57. package/src/superlocalmemory/server/unified_daemon.py +349 -10
  58. package/src/superlocalmemory/storage/embedding_migrator.py +235 -0
  59. package/src/superlocalmemory/ui/index.html +3 -2
  60. package/src/superlocalmemory/ui/js/core.js +6 -1
  61. package/src/superlocalmemory/ui/js/od-components.js +147 -0
  62. package/src/superlocalmemory/ui/js/od-entities.js +43 -0
  63. package/src/superlocalmemory/ui/js/od-graph.js +35 -0
  64. package/src/superlocalmemory/ui/js/od-health.js +18 -0
  65. package/src/superlocalmemory/ui/js/od-memories.js +37 -0
  66. package/src/superlocalmemory/ui/js/od-operations.js +36 -0
  67. package/src/superlocalmemory/ui/js/od-settings.js +72 -3
package/CHANGELOG.md CHANGED
@@ -5,6 +5,73 @@ 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.3] - 2026-07-24 — Recall stays responsive under heavy load
9
+
10
+ ### Fixed
11
+
12
+ - **Recall no longer hangs when the system is busy.** Search and recall now
13
+ complete within a generous time budget even during background maintenance or
14
+ when many agents are querying at once. If a query can't finish in that window,
15
+ SLM returns keyword-matched results and marks them clearly instead of leaving
16
+ the request to time out. This applies everywhere recall runs — the dashboard
17
+ search, the CLI, and connected assistants — so results are consistent across
18
+ every surface.
19
+ - **Dashboard search waits long enough for a real answer.** The dashboard now
20
+ allows recall the full server-side budget before giving up, so heavy-load
21
+ queries return results rather than an aborted-request error.
22
+
23
+ ## [3.8.2] - 2026-07-24 — Self-healing upgrades & faster, consistent recall
24
+
25
+ ### Added
26
+
27
+ - **Self-healing on startup.** After an upgrade the daemon quietly repairs its
28
+ own index in the background — backfilling any missing embeddings and rebuilding
29
+ vector indexes — with no manual steps and no interruption to recall. Progress
30
+ is visible in the dashboard. Upgrading is now genuinely zero-touch.
31
+ - **Confidence-aware recall.** Every recall result now carries clear confidence
32
+ signals (`no_confident_match`, `answer_confidence`, `abstained`). Connected
33
+ assistants are guided to sharpen and re-run a query when confidence is low
34
+ rather than guessing — better answers, with no extra server-side wait.
35
+ - **New `client_driven_agentic` setting** controls whether query refinement is
36
+ delegated to the calling assistant (default) or performed inside the server.
37
+ - **Self-repairing components.** On startup SLM checks that the models and
38
+ dependencies it needs are present and quietly re-downloads or reinstalls the
39
+ ones it can, in the background — no commands to run. Anything it can't fix on
40
+ its own (for example a missing Ollama install) is reported with the exact
41
+ command to fix it.
42
+ - **Dashboard “System Health” report.** A new panel in the dashboard Help area
43
+ shows every component as ready / missing / degraded, with copy-paste fixes and
44
+ a “Retry now” button.
45
+ - **Editable memory settings in the dashboard.** A new “Recall & Memory
46
+ Behaviour” group lets you tune recall depth, the quality reranker, and memory
47
+ injection from the UI. Changes apply immediately and persist — no config files
48
+ to edit by hand.
49
+ - **`slm help` and `slm doctor --fix`.** `slm help` now prints a grouped guide to
50
+ every command plus focused topics (`slm help modes | config | self-heal`), and
51
+ `slm doctor --fix` auto-repairs the components it can.
52
+ - **Friendlier first-time setup.** `slm setup` detects a local Ollama and offers
53
+ Smart-Local mode in one keypress, summarizes what will download and asks before
54
+ the large optional compression model, can connect all your detected IDEs in one
55
+ step, and finishes with a health check. Skill Evolution is now off by default.
56
+
57
+ ### Changed
58
+
59
+ - **Recall is faster and consistent across every surface.** The CLI, MCP, and
60
+ editor integrations now return the same fast local results (all retrieval
61
+ channels plus reranking) in about 1–2 seconds and behave identically. The
62
+ occasional multi-second tail on some queries is gone.
63
+ - **Dashboard search stays snappy.** The search box returns a quick result list;
64
+ richer synthesis remains available in the memory chat and knowledge-cluster
65
+ summaries.
66
+
67
+ ### Fixed
68
+
69
+ - **Large databases no longer produce an occasional multi-second recall spike**
70
+ (graph bridge discovery is now time-bounded).
71
+ - **Upgrades that only relabel an embedding model no longer trigger a full
72
+ re-embed** of every stored memory.
73
+ - Dashboard search now reliably reflects the active profile.
74
+
8
75
  ## [3.8.1] - 2026-07-23 — Existing-install stability
9
76
 
10
77
  ### Fixed
package/README.md CHANGED
@@ -5,10 +5,10 @@
5
5
  </picture>
6
6
  </p>
7
7
 
8
- <h1 align="center">SuperLocalMemory V3.8.1</h1>
8
+ <h1 align="center">SuperLocalMemory V3.8.3</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.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/>
11
+ <p align="center"><code>v3.8.3</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> &nbsp;·&nbsp; MCP: add <code>slm_compress</code> to your config &nbsp;·&nbsp; 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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superlocalmemory",
3
- "version": "3.8.1",
3
+ "version": "3.8.3",
4
4
  "description": "Local-first agent memory with MCP and an agent-native CLI. Documented clients include Claude Code, Cursor, and Windsurf.",
5
5
  "keywords": [
6
6
  "ai-memory",
@@ -15,5 +15,5 @@
15
15
  "mcpServers": "./.mcp.json",
16
16
  "name": "superlocalmemory",
17
17
  "repository": "https://github.com/qualixar/superlocalmemory",
18
- "version": "3.8.1"
18
+ "version": "3.8.3"
19
19
  }
package/plugin/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- <!-- BEGIN SuperLocalMemory v3.8.1 -->
1
+ <!-- BEGIN SuperLocalMemory v3.8.3 -->
2
2
 
3
3
  ## SuperLocalMemory (SLM) — Agent Rules
4
4
 
@@ -39,6 +39,6 @@ slm-recall · slm-remember · slm-session · slm-status · slm-cache · slm-comp
39
39
  ### Subagents
40
40
  slm-memory-advisor (memory decisions, session hygiene, scope/profile guidance) · slm-optimize-advisor (context compression + KV cache) · slm-governance-advisor (scope/roles/compliance/GDPR)
41
41
 
42
- <!-- END SuperLocalMemory v3.8.1 -->
42
+ <!-- END SuperLocalMemory v3.8.3 -->
43
43
 
44
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -77,4 +77,4 @@ slm-scope · slm-governance · slm-profile · slm-remember · slm-recall
77
77
  # What NOT to do
78
78
  Never session_init twice; never forget without dry-run preview; never store secrets; never bypass role checks; never claim an erasure succeeded without verifying via recall.
79
79
 
80
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
80
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -68,4 +68,4 @@ assessment. The gate is the authority.
68
68
 
69
69
  ---
70
70
 
71
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
71
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -17,7 +17,7 @@ When the main agent: starts a session and hasn't loaded project context; is abou
17
17
 
18
18
  # Tools you may use (real SLM MCP tools, core profile)
19
19
  - `session_init(project_path, query, max_results, max_age_days)` — ONCE at session start; returns recent decisions + relevant memories.
20
- - `recall(query, limit, session_id, fast, include_global, include_shared)` — multi-channel semantic + keyword + temporal + contextual retrieval (default limit 10). Leave `include_global`/`include_shared` unset — recall is private-by-default (v3.6.15).
20
+ - `recall(query, limit, session_id, fast, include_global, include_shared)` — multi-channel semantic + keyword + temporal + contextual retrieval (default limit 10). Leave `include_global`/`include_shared` unset — recall is private-by-default (v3.6.15). Returns fast local results (~1–2s, no server-side LLM round) plus confidence signals: if `no_confident_match` is true or `answer_confidence` is low, advise the main agent to rewrite into 1–3 sharper sub-queries and recall again rather than treating the memory as absent.
21
21
  - `search(query, limit, profile_id)` — exact keyword / FTS5 BM25.
22
22
  - `remember(content, tags, project, importance, session_id, scope, shared_with)` — store atomic fact; importance 1-10. Leave `scope` unset (defaults to `personal`/private).
23
23
  - `update_memory(fact_id, content)` — correct by exact id.
@@ -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.1 · Qualixar · AGPL-3.0-or-later
49
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -41,4 +41,4 @@ slm-compress · slm-cache · slm-status · slm-profile
41
41
  # What NOT to do
42
42
  Never compress code-for-edit/JSON-to-parse/<500 chars; never store secrets/ccr_ids; never let optimize failure block/alter the task; never claim a specific savings %; never carry ccr_ids across profile switches.
43
43
 
44
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -1 +1 @@
1
- superlocalmemory==3.8.1
1
+ superlocalmemory==3.8.3
@@ -145,4 +145,4 @@ These subcommands control daemon-level cache settings. They do not read or write
145
145
 
146
146
  ---
147
147
 
148
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
148
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -147,4 +147,4 @@ Content over 1 MB (1 000 000 bytes UTF-8) is processed but `reversible` is force
147
147
 
148
148
  ---
149
149
 
150
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -245,4 +245,4 @@ Before running any destructive operation (`forget`, `compact_memories`):
245
245
 
246
246
  ---
247
247
 
248
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
248
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -311,4 +311,4 @@ profile. See `slm-profile` for the full profile switching workflow.
311
311
 
312
312
  ---
313
313
 
314
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
314
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -96,4 +96,4 @@ paused, name the approval needed; when errored, quote the short detail.
96
96
 
97
97
  ---
98
98
 
99
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
99
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -279,4 +279,4 @@ mesh availability.
279
279
 
280
280
  ---
281
281
 
282
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
282
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -145,4 +145,4 @@ Name them differently in your MCP config (e.g. `superlocalmemory-personal` and
145
145
 
146
146
  ---
147
147
 
148
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
148
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -87,9 +87,7 @@ Real response shape (`--json` equivalent):
87
87
  }
88
88
  ```
89
89
 
90
- **Always check `no_confident_match`.** When `true`, no result cleared the
91
- evidence floor. Do not invent a memory — tell the user nothing was found and
92
- offer to search more broadly or store a new fact.
90
+ **Refine on low confidence.** `recall` returns confidence signals with every result. If `no_confident_match` is `true` (or `answer_confidence` is low / `abstained` is `true`), do NOT invent a memory — rewrite the query into 1–3 more specific sub-queries (split multi-hop questions; try entity names, synonyms, or broader phrasing) and call `recall` again before concluding nothing was found. A confident match → use it directly. SLM returns fast local results (~1–2s, no server-side LLM round on the hot path) and lets you, the calling model, drive this refinement.
93
91
 
94
92
  ### 2. Passing session_id
95
93
 
@@ -196,7 +194,7 @@ Flags verified in source (main.py):
196
194
 
197
195
  ## Never fabricate a memory
198
196
 
199
- If `results` is empty or `no_confident_match` is `true`, report it plainly.
197
+ After re-querying with refined sub-queries (see **Refine on low confidence** above), if `no_confident_match` is still `true` or results are empty, report it plainly.
200
198
  Never construct a response as if a memory was found when it was not. The user
201
199
  trusts that what you surface came from the store.
202
200
 
@@ -238,4 +236,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
238
236
 
239
237
  ---
240
238
 
241
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
239
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -238,4 +238,4 @@ different workspace, use `switch_profile` first. See `slm-profile`.
238
238
 
239
239
  ---
240
240
 
241
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
241
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -173,4 +173,4 @@ to review the impact. See `slm-remember` for the full deletion discipline.
173
173
 
174
174
  ---
175
175
 
176
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
176
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -227,4 +227,4 @@ explicitly and call `recall` with `include_global`/`include_shared` after
227
227
 
228
228
  ---
229
229
 
230
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
230
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -163,4 +163,4 @@ multi-profile setup. To switch the active profile, see `slm-profile`.
163
163
 
164
164
  ---
165
165
 
166
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
166
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -28,6 +28,7 @@ Call `session_init(project_path, query, max_results, max_age_days)` **once** at
28
28
  - **Concept phrasing** — phrase queries as concepts, not vague words ("database migration strategy" not "database").
29
29
  - **Pass session_id** when available to narrow results to the current session.
30
30
  - **Empty / low results** — broaden the query, try `search`, or fall back to `list_recent`. Never fabricate a memory.
31
+ - **Refine on low confidence** — if `no_confident_match` is `true` (or `answer_confidence` is low / `abstained` is `true`), rewrite the query into 1–3 more specific sub-queries (split multi-hop questions; try entity names, synonyms, or broader phrasing) and call `recall` again before concluding nothing was found. SLM returns fast local results (~1–2s, no server-side LLM round on the hot path) — you, the calling model, drive refinement.
31
32
 
32
33
  ---
33
34
 
@@ -127,4 +128,4 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
127
128
  - **slm-optimize-advisor** — context compression and KV cache
128
129
  - **slm-governance-advisor** — scope/role compliance, retention policies, GDPR
129
130
 
130
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
131
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -145,4 +145,4 @@ These subcommands control daemon-level cache settings. They do not read or write
145
145
 
146
146
  ---
147
147
 
148
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
148
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -147,4 +147,4 @@ Content over 1 MB (1 000 000 bytes UTF-8) is processed but `reversible` is force
147
147
 
148
148
  ---
149
149
 
150
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -311,4 +311,4 @@ profile. See `slm-profile` for the full profile switching workflow.
311
311
 
312
312
  ---
313
313
 
314
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
314
+ SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later
@@ -87,9 +87,7 @@ Real response shape (`--json` equivalent):
87
87
  }
88
88
  ```
89
89
 
90
- **Always check `no_confident_match`.** When `true`, no result cleared the
91
- evidence floor. Do not invent a memory — tell the user nothing was found and
92
- offer to search more broadly or store a new fact.
90
+ **Refine on low confidence.** `recall` returns confidence signals with every result. If `no_confident_match` is `true` (or `answer_confidence` is low / `abstained` is `true`), do NOT invent a memory — rewrite the query into 1–3 more specific sub-queries (split multi-hop questions; try entity names, synonyms, or broader phrasing) and call `recall` again before concluding nothing was found. A confident match → use it directly. SLM returns fast local results (~1–2s, no server-side LLM round on the hot path) and lets you, the calling model, drive this refinement.
93
91
 
94
92
  ### 2. Passing session_id
95
93
 
@@ -196,7 +194,7 @@ Flags verified in source (main.py):
196
194
 
197
195
  ## Never fabricate a memory
198
196
 
199
- If `results` is empty or `no_confident_match` is `true`, report it plainly.
197
+ After re-querying with refined sub-queries (see **Refine on low confidence** above), if `no_confident_match` is still `true` or results are empty, report it plainly.
200
198
  Never construct a response as if a memory was found when it was not. The user
201
199
  trusts that what you surface came from the store.
202
200
 
@@ -238,4 +236,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
238
236
 
239
237
  ---
240
238
 
241
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
239
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -238,4 +238,4 @@ different workspace, use `switch_profile` first. See `slm-profile`.
238
238
 
239
239
  ---
240
240
 
241
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
241
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -227,4 +227,4 @@ explicitly and call `recall` with `include_global`/`include_shared` after
227
227
 
228
228
  ---
229
229
 
230
- *SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later*
230
+ *SuperLocalMemory v3.8.3 · Qualixar · AGPL-3.0-or-later*
@@ -163,4 +163,4 @@ multi-profile setup. To switch the active profile, see `slm-profile`.
163
163
 
164
164
  ---
165
165
 
166
- SuperLocalMemory v3.8.1 · Qualixar · AGPL-3.0-or-later
166
+ SuperLocalMemory v3.8.3 · 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.1"
3
+ version = "3.8.3"
4
4
  description = "Local-first agent memory with auditable hybrid retrieval"
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-or-later"
@@ -200,7 +200,13 @@ function main(argv = process.argv.slice(2)) {
200
200
 
201
201
  console.log(`SuperLocalMemory ${packageVersion}: isolated runtime verified.`);
202
202
  console.log('No memory database, IDE hooks, daemon, configuration, or models were changed.');
203
- console.log('Run `slm setup` explicitly when you are ready to configure SLM.');
203
+ console.log('');
204
+ console.log(' Next step — run the guided setup (picks your mode, downloads');
205
+ console.log(' models, connects your IDEs). Takes about a minute:');
206
+ console.log('');
207
+ console.log(' slm setup');
208
+ console.log('');
209
+ console.log(' Prefer to tune performance profiles? Use: slm reconfigure');
204
210
  console.log('');
205
211
  return 0;
206
212
  }
@@ -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.1"
35
+ __version__ = "3.8.3"
36
36
 
37
37
  _REQUIRED_VERSIONS = {
38
38
  "sentence_transformers": "5.3.0",