superlocalmemory 4.1.16 → 4.1.18
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 +2 -2
- package/CHANGELOG.md +137 -0
- package/README.md +31 -7
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/CLAUDE.md +5 -4
- 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 +7 -6
- 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 +10 -3
- 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 +16 -1
- package/plugin/skills/slm-status/SKILL.md +1 -1
- package/plugin-src/agents/slm-memory-advisor.md +7 -6
- package/plugin-src/agents/slm-optimize-advisor.md +1 -1
- package/plugin-src/rules/AGENTS.md +3 -2
- 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-governance/SKILL.md +1 -1
- package/plugin-src/skills/slm-graph/SKILL.md +1 -1
- package/plugin-src/skills/slm-loop/SKILL.md +1 -1
- package/plugin-src/skills/slm-mesh/SKILL.md +1 -1
- package/plugin-src/skills/slm-profile/SKILL.md +1 -1
- package/plugin-src/skills/slm-recall/SKILL.md +10 -3
- package/plugin-src/skills/slm-remember/SKILL.md +1 -1
- package/plugin-src/skills/slm-scope/SKILL.md +1 -1
- package/plugin-src/skills/slm-session/SKILL.md +16 -1
- package/plugin-src/skills/slm-status/SKILL.md +1 -1
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"license": "AGPL-3.0-or-later",
|
|
22
22
|
"name": "superlocalmemory",
|
|
23
23
|
"source": "./plugin",
|
|
24
|
-
"version": "4.1.
|
|
24
|
+
"version": "4.1.18"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"author": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"license": "AGPL-3.0-or-later",
|
|
40
40
|
"name": "superlocalmemory-codex",
|
|
41
41
|
"source": "./codex-plugin",
|
|
42
|
-
"version": "4.1.
|
|
42
|
+
"version": "4.1.18"
|
|
43
43
|
}
|
|
44
44
|
]
|
|
45
45
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,143 @@ All notable changes to SuperLocalMemory will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [4.1.18] — Recall can say "I don't have that"
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Answer check.** Recall now says whether the memories it found actually
|
|
13
|
+
answer the question, instead of handing back the best of a bad set. Results
|
|
14
|
+
are never removed or hidden: each recall reports `abstained`, the reason,
|
|
15
|
+
a confidence, and `answer_check_status` (judged, off, skipped, busy,
|
|
16
|
+
warming or unavailable), and every connected agent is told not to present
|
|
17
|
+
memories that do not answer as the answer.
|
|
18
|
+
- **Two ways to run it, one at a time.** "On this Mac" runs privately on Apple
|
|
19
|
+
Silicon and nothing leaves the machine. "Online with Jev" works anywhere with
|
|
20
|
+
your own TypeSafe or OpenRouter key; it is off until you choose it and tick a
|
|
21
|
+
consent box, and it sends only the question and its top three memories,
|
|
22
|
+
with credentials stripped out first. It never sends another profile's
|
|
23
|
+
memories, and recalls that only load context (session start, auto-loaded
|
|
24
|
+
context, the per-prompt hook) are never sent. Turning one on turns the
|
|
25
|
+
other off.
|
|
26
|
+
- **Optional: let Jev reorder results.** Inside "Online with Jev" there is a
|
|
27
|
+
separate switch, off by default with its own notice, that also asks Jev
|
|
28
|
+
which of the top results answers the question most directly and returns
|
|
29
|
+
them in that order. Still one request per recall. On a public benchmark of
|
|
30
|
+
long conversations (LoCoMo, 1,531 questions) the memory that answers came
|
|
31
|
+
first 62% of the time instead of 49%; it adds about 0.4 seconds to a
|
|
32
|
+
recall. If the provider is slow or unreachable, results keep their usual
|
|
33
|
+
order.
|
|
34
|
+
- **Set up from the dashboard.** Settings → Answer check: choose, set up with a
|
|
35
|
+
progress bar, use an existing install on networks that block downloads,
|
|
36
|
+
save and test a key (only its last four characters are ever shown), or turn
|
|
37
|
+
it off. The dashboard home shows what is actually running. Changing it
|
|
38
|
+
needs the manage permission, and withdrawing consent stops the online
|
|
39
|
+
check at once, in every mode.
|
|
40
|
+
- **First-time setup installs it** on Apple Silicon (about 1.1 GB to
|
|
41
|
+
download, about 1.1 GB of memory while on). If the download is blocked or
|
|
42
|
+
interrupted, setup finishes and Set up again picks up where it left off.
|
|
43
|
+
Unattended setup skips it unless `SLM_INSTALL_LAYA=1` is set.
|
|
44
|
+
- **Every recall response says what chose its order** and what became of
|
|
45
|
+
the answer check, from the MCP tools, the CLI and the HTTP API alike.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- **Archived memories stay archived after a restart.** A repair that should
|
|
50
|
+
have run once ran on every start and put archived memories back into
|
|
51
|
+
recall.
|
|
52
|
+
- **Upgrades keep one safety copy instead of two**, and copies left by
|
|
53
|
+
earlier upgrades are cleaned up.
|
|
54
|
+
- **Ranking no longer loses its second pass.** After a crash, a restart of its
|
|
55
|
+
helper, or an idle shutdown, the reranking step recovers on its own, and it
|
|
56
|
+
keeps ranking while its helper restarts. It also uses much less memory on
|
|
57
|
+
long, mixed-length requests.
|
|
58
|
+
- **A configured remote reranker is now used**, and one that stops answering
|
|
59
|
+
no longer slows every recall: recall falls back to its usual ranking right
|
|
60
|
+
away and checks the endpoint again in the background.
|
|
61
|
+
- **A newer memory is no longer pushed down by an older one** about the same
|
|
62
|
+
subject.
|
|
63
|
+
- **Health checks** report the reranking step and no longer raise false alarms
|
|
64
|
+
when a working search simply has no match.
|
|
65
|
+
- **No more project files at the root of the disk.** Background context sync
|
|
66
|
+
only writes into real project folders.
|
|
67
|
+
- **Bounded loops** waiting on memory no longer finish on a recall that does
|
|
68
|
+
not answer their question.
|
|
69
|
+
- **Restoring a backup** no longer loses or corrupts recent memories, takes
|
|
70
|
+
effect while the store is in use, and no longer leaves a large temporary
|
|
71
|
+
file next to the store.
|
|
72
|
+
- **Stored memories keep their links and file paths.** Saving a memory no
|
|
73
|
+
longer blanks out long URLs and paths.
|
|
74
|
+
- **`slm db compact` works while SLM is running.**
|
|
75
|
+
- **Hooks work when the data folder has a long path.**
|
|
76
|
+
- **Maintenance no longer reports a step that does not apply to your store
|
|
77
|
+
as a failure.**
|
|
78
|
+
- **Windows:** safety copies are flushed to disk properly.
|
|
79
|
+
|
|
80
|
+
### Security
|
|
81
|
+
|
|
82
|
+
- **A web page on another site can no longer reach SLM through your
|
|
83
|
+
browser.** SLM now answers only requests addressed to this computer. To
|
|
84
|
+
reach a LAN install by a host name, list the name in `SLM_ALLOWED_HOSTS`;
|
|
85
|
+
reaching it by address, or by a name already allowed for network access,
|
|
86
|
+
is unchanged.
|
|
87
|
+
- **The per-prompt hook only talks to your own SLM service.** Its fallback
|
|
88
|
+
path could send a prompt to any program listening on the service's port.
|
|
89
|
+
- **Known API key formats, webhook links and private-key bodies are removed
|
|
90
|
+
when a memory is saved**, not only before anything is sent online.
|
|
91
|
+
- Dependencies updated to versions that fix published security advisories.
|
|
92
|
+
|
|
93
|
+
### Changed
|
|
94
|
+
|
|
95
|
+
- **A background consistency check is off by default**, including on upgraded
|
|
96
|
+
installs. It changed no recall result in testing and ran on every save. It
|
|
97
|
+
can be turned back on, and turning it back on now sticks.
|
|
98
|
+
- **Answer-check settings live in one file for every mode**, so switching
|
|
99
|
+
modes never changes them.
|
|
100
|
+
- **Mode A says when it is not local-only:** with the online answer check on,
|
|
101
|
+
the mode description says so instead of "zero-cloud".
|
|
102
|
+
|
|
103
|
+
### Known limits
|
|
104
|
+
|
|
105
|
+
- **Macs shared by several user accounts:** another account on the same Mac
|
|
106
|
+
can reach the local SLM service. Turn on company mode (Team → Access
|
|
107
|
+
policy) on a shared Mac; a per-account check is planned for the next
|
|
108
|
+
release. See the "Shared Macs" section of the security notes.
|
|
109
|
+
|
|
110
|
+
## [4.1.17] — Vector history that actually gets pruned
|
|
111
|
+
|
|
112
|
+
### Fixed
|
|
113
|
+
|
|
114
|
+
- **The vector store's version history now prunes after a restart.** 4.1.16
|
|
115
|
+
added a maintenance tick that drops old LanceDB versions, but the first tick
|
|
116
|
+
was armed from boot and only re-armed when that pass finished. A LaunchAgent
|
|
117
|
+
with KeepAlive that restarts inside `scheduler_interval_minutes` (360 by
|
|
118
|
+
default) never got a first pass. Measured on one machine: 3,517 scheduler
|
|
119
|
+
starts, zero compact log lines, 37,040 versions, a 48 GB `_versions/`
|
|
120
|
+
directory for 19,701 memories. A one-shot ~270s after boot now runs the same
|
|
121
|
+
prune, records the outcome in `failing_steps()`, and the periodic tick
|
|
122
|
+
compacts the one global table once — before the per-profile Langevin/Ollama
|
|
123
|
+
work that previously ran for 11+ minutes and never reached it. This is the
|
|
124
|
+
rest of GitHub #137.
|
|
125
|
+
- **`compact()` no longer parses every version to count them.** `list_versions()`
|
|
126
|
+
reads each manifest. On the leaked store each manifest listed tens of
|
|
127
|
+
thousands of fragments and was ~1.3 MB, so counting was ~48 GB of I/O before
|
|
128
|
+
prune started. Counts now come from the `*.manifest` files on disk.
|
|
129
|
+
- **`POST /maintenance/run` actually compacts the vector store.** It ran
|
|
130
|
+
Langevin, forgetting, and behavioral mining only. Operators who "ran
|
|
131
|
+
maintenance" were not reclaiming disk. The JSON now includes `vector`.
|
|
132
|
+
- **A skipped compact is no longer silent.** `no orchestrator` and `backend
|
|
133
|
+
cannot compact` now log a warning, so "never ran" and "ran and failed" are
|
|
134
|
+
distinguishable.
|
|
135
|
+
|
|
136
|
+
### Added
|
|
137
|
+
|
|
138
|
+
- **`slm db compact [--offline]`.** The live path uses the daemon and never
|
|
139
|
+
sets `delete_unverified`. `--offline` refuses to run while the daemon is
|
|
140
|
+
alive, then may. That is the supported repair for a store that already
|
|
141
|
+
leaked. On the same machine, offline `optimize(cleanup_older_than=0,
|
|
142
|
+
delete_unverified=True)` with the LaunchAgent unloaded went 37,040 manifests
|
|
143
|
+
/ 48 GB → 1 manifest / 51 MB in 430s, row count unchanged.
|
|
144
|
+
|
|
8
145
|
## [4.1.16] — A memory's tier finally means something
|
|
9
146
|
|
|
10
147
|
### Fixed
|
package/README.md
CHANGED
|
@@ -5,12 +5,35 @@
|
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
<h1 align="center">SuperLocalMemory V4.1.
|
|
8
|
+
<h1 align="center">SuperLocalMemory V4.1.18 — local-first memory for AI agents</h1>
|
|
9
9
|
|
|
10
10
|
<h2 align="center">Rent the LLM. Own the memory.</h2>
|
|
11
11
|
|
|
12
12
|
<p align="center"><em>Rent an LLM — but own the memory, for your company and for your industry.</em></p>
|
|
13
13
|
|
|
14
|
+
Store context once and recall it across agent sessions through the CLI or MCP. Start with local memory, then choose the operating mode and integrations your workspace needs. SuperLocalMemory is part of Qualixar's AI Reliability Engineering work.
|
|
15
|
+
|
|
16
|
+
**[Research and evidence](https://www.superlocalmemory.com/research)** · **[Qualixar product overview](https://qualixar.com/products/superlocalmemory)** · **[Author and research context](https://varunpratap.com/products/superlocalmemory)**
|
|
17
|
+
|
|
18
|
+
**[Install](https://www.superlocalmemory.com/install)** · **[Product walkthrough](https://www.superlocalmemory.com/demo)** · **[CLI proof](docs/QUICK_PROOF.md)** · **[Release notes](CHANGELOG.md)**
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g superlocalmemory # Primary CLI install path
|
|
22
|
+
slm setup # Select mode A for local-only operation; review integration choices.
|
|
23
|
+
slm doctor
|
|
24
|
+
slm remember "Synthetic demo: the release checklist requires a human approval after tests pass." --tags demo --json --sync
|
|
25
|
+
slm recall "release checklist human approval" --json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The synthetic CLI proof returned the stored sentence in mode A on version 4.1.17. It tests store-and-recall behavior; it is not a retrieval accuracy benchmark.
|
|
29
|
+
[See the commands, scope and isolation settings](docs/QUICK_PROOF.md).
|
|
30
|
+
|
|
31
|
+
If the proof is useful for your agent workflow, [star the repository](https://github.com/qualixar/superlocalmemory) to find the project again. Stars are optional; installation and documentation are open without one.
|
|
32
|
+
|
|
33
|
+
**Release maintenance:** dependency updates are being reviewed separately in [PR #143](https://github.com/qualixar/superlocalmemory/pull/143). This documentation update does not change already published packages.
|
|
34
|
+
|
|
35
|
+
## Governance, architecture and research
|
|
36
|
+
|
|
14
37
|
<p align="center"><strong>The governed memory layer for AI agents: local-first, auditable, and built for the compliance obligations teams now actually carry.</strong><br/>
|
|
15
38
|
Models are interchangeable and rented by the token. What your agents <em>remember</em> is
|
|
16
39
|
yours — it is your customers' data, your retention obligations, and your audit trail. SLM
|
|
@@ -27,12 +50,12 @@ guarantee here is stated as a falsifiable invariant, tested under an adversarial
|
|
|
27
50
|
negative control, and shipped with the harness that regenerates the evidence:
|
|
28
51
|
<code>python benchmark/run_all.py --trials 200 --output-dir results/</code>. What each experiment
|
|
29
52
|
does <em>not</em> exercise is stated too.</p>
|
|
30
|
-
<p align="center"><code>v4.1.
|
|
53
|
+
<p align="center"><code>v4.1.18</code> — one control plane: <strong>SLM-Mesh</strong> peer coordination · multi-scope memory (personal / shared / global) · profiles · Cache · Compress · 7-layer retrieval · code graph · Entity Explorer · skill evolution · Modes A/B/C · GDPR retention & audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
|
|
31
54
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
32
55
|
<p align="center"><strong>Four public arXiv preprints</strong> · V4: <a href="https://arxiv.org/abs/2608.08253">arXiv:2608.08253</a> · companion archive: <a href="https://zenodo.org/records/21853302">Zenodo 21853302</a> (<a href="https://doi.org/10.5281/zenodo.21853302">DOI 10.5281/zenodo.21853302</a>) · prior preprints: <a href="https://arxiv.org/abs/2603.02240">2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">2604.04514</a>.</p>
|
|
33
56
|
|
|
34
57
|
<p align="center">
|
|
35
|
-
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.1.
|
|
58
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.1.18-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.1.18 — Current Release"/></a>
|
|
36
59
|
<a href="https://arxiv.org/abs/2608.08253"><img src="https://img.shields.io/badge/arXiv-2608.08253-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="SuperLocalMemory 4.0 paper on arXiv:2608.08253"/></a>
|
|
37
60
|
<a href="https://zenodo.org/records/21853302"><img src="https://img.shields.io/badge/Zenodo-10.5281%2Fzenodo.21853302-1682D4?style=for-the-badge&logo=zenodo&logoColor=white" alt="V4 paper on Zenodo: 10.5281/zenodo.21853302"/></a>
|
|
38
61
|
<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>
|
|
@@ -68,7 +91,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
|
|
|
68
91
|
- **Multi-scope memory & profiles** — workspaces (profiles) plus `personal` / `shared` / `global` scopes; cross-profile recall is default-deny.
|
|
69
92
|
- **Cache & compression (context optimization)** — exact-match cache with tagged invalidation, safe compression, and opt-in reversible/aggressive paths across proxy, MCP, and skill surfaces.
|
|
70
93
|
- **Entity Explorer & skill evolution** — compiled entity summaries/timelines; opt-in skill lineage, budgets, and verification outcomes.
|
|
71
|
-
- **Modes A / B / C** — local-only (A), on-device LLM enrichment (B), provider-assisted (C). An operating mode records technical locality facts; it does **not** determine EU AI Act legal compliance (that is deployment-context assessment — see [Privacy controls](#privacy-controls-and-operating-modes)).
|
|
94
|
+
- **Modes A / B / C** — local-only by default (A), on-device LLM enrichment (B), provider-assisted (C). An operating mode records technical locality facts; it does **not** determine EU AI Act legal compliance (that is deployment-context assessment — see [Privacy controls](#privacy-controls-and-operating-modes)).
|
|
72
95
|
- **GDPR posture, retention & audit chain** — export, fail-closed cross-store erasure, retention policies, and a hash-chained audit trail. Engineering controls for compliance programs, not a legal certification.
|
|
73
96
|
- **7-layer retrieval/recall stack & code graph** — multi-channel candidates (semantic, BM25, temporal, Hopfield, spreading activation) plus optional code-graph tools for blast radius and review context.
|
|
74
97
|
- **MCP profiles** — `code` exposes **31** tools for installed coding agents; `full` **49**; `power` **61**; `whole` **94** (all registered). Also `core` (16), `mesh` (8), and the unrestricted default surface (49 with mesh enabled).
|
|
@@ -150,6 +173,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
150
173
|
| **Memory boundaries** | Profile-isolated workspaces plus `personal`, `shared`, and `global` memory scopes | Personal is the default; shared/global recall requires explicit scope policy or per-call opt-in. |
|
|
151
174
|
| **Ingestion** | Durable raw-to-complete operation state, fact extraction, entity resolution, graph/temporal/provenance derivations, and replay-safe identity | `--sync` waits for declared stages; dependencies and mode determine which enrichers are available. |
|
|
152
175
|
| **Retrieval and recall** | Semantic, lexical, temporal, Hopfield and spreading-activation candidate channels; RRF fusion, optional reranking and graph score enhancement | Healthy channels participate; response provenance states the evidence used. |
|
|
176
|
+
| **Answer check** | A check (on-device or hosted) that reports whether the top results actually answer the question, not just whether they're related | Until you choose, it runs only once an on-device install has passed its check; otherwise it is off. The hosted check runs only after you turn it on and agree. Results are never filtered or hidden because of it. See [docs/answer-check.md](docs/answer-check.md). |
|
|
153
177
|
| **Brain and learning** | Behavioral patterns, feedback/outcome records, rewards, consolidation, LightGBM-related ranking components, soft prompts, and guarded skill-evolution workflows | Learning is evidence-driven; it does not claim autonomous correctness or guaranteed improvement. |
|
|
154
178
|
| **Knowledge graph and entities** | Canonical entities, aliases, entity profiles, graph edges, scenes, timelines, explorer and graph APIs | Stored/derived graph data is evidence, not an instruction authority. |
|
|
155
179
|
| **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are managed with prepare → verify → promote → rollback; a structurally detected pre-v3.7 projection can be explicitly adopted. | Promotion is parity-gated and crash-recoverable. Legacy adoption preserves the prior projection as a rollback backup; repeated physical edge rows normalize to one logical edge with the strongest weight. |
|
|
@@ -515,17 +539,17 @@ For the other three, replace the directory from the tag you are on.
|
|
|
515
539
|
|
|
516
540
|
| Mode | What | Core memory path | Optional network behavior |
|
|
517
541
|
|:----:|:-----|:-----------------|:--------------------------|
|
|
518
|
-
| **A** | Local Guardian | Local processing | Model/dependency downloads, connectors, backup, and other enabled integrations may use the network |
|
|
542
|
+
| **A** | Local Guardian | Local processing | Model/dependency downloads, connectors, backup, the online answer check, and other enabled integrations may use the network |
|
|
519
543
|
| **B** | Smart Local | Local Ollama enrichment | Same optional integrations as Mode A |
|
|
520
544
|
| **C** | Provider-assisted | Local storage with provider calls | Query or enrichment content is sent to the configured provider |
|
|
521
545
|
|
|
522
546
|
```bash
|
|
523
|
-
slm mode a #
|
|
547
|
+
slm mode a # Local only (default)
|
|
524
548
|
slm mode b # Local Ollama
|
|
525
549
|
slm mode c # Cloud LLM
|
|
526
550
|
```
|
|
527
551
|
|
|
528
|
-
Mode A can run core memory operations without sending memory content to a cloud model provider. This does not disable optional connectors, cloud backup, proxy providers, dependency acquisition, or model downloads; review configuration and network policy for the deployment.
|
|
552
|
+
Mode A can run core memory operations without sending memory content to a cloud model provider. This does not disable optional connectors, cloud backup, proxy providers, dependency acquisition, or model downloads; review configuration and network policy for the deployment. The online answer check is the one exception that sends memory content: off unless you turn it on and agree, in any mode, and while it is on each recall sends its question and top memories to the provider you chose — the dashboard and the MCP `get_mode` tool say so.
|
|
529
553
|
|
|
530
554
|
SuperLocalMemory provides local storage, export/erasure commands, provenance, policy, and audit features that can support a compliance program. The software is not a legal certification, and compliance depends on the use case, operator, configuration, and surrounding systems.
|
|
531
555
|
|
package/package.json
CHANGED
package/plugin/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<!-- BEGIN SuperLocalMemory v4.1.
|
|
1
|
+
<!-- BEGIN SuperLocalMemory v4.1.18 -->
|
|
2
2
|
|
|
3
3
|
## SuperLocalMemory (SLM) — Agent Rules
|
|
4
4
|
|
|
5
|
-
SLM is local-first memory for agents. All tools run on the user's machine;
|
|
5
|
+
SLM is local-first memory for agents. All tools run on the user's machine; nothing goes to the cloud unless the user chose Mode C or turned on the online answer check.
|
|
6
6
|
|
|
7
7
|
### Session start
|
|
8
8
|
Call `session_init(project_path, query)` ONCE per fresh session before any recall/remember. Never twice.
|
|
@@ -17,6 +17,7 @@ Call `session_init(project_path, query)` ONCE per fresh session before any recal
|
|
|
17
17
|
### Recall
|
|
18
18
|
- `recall` for conceptual/semantic queries; `search` for exact keywords.
|
|
19
19
|
- Phrase as concepts; pass session_id when available. Never fabricate.
|
|
20
|
+
- If `abstained` is `true`, the returned memories do not answer the question — say so, or ask; never present them as the answer. `answer_confidence` is a measurement, not a guarantee.
|
|
20
21
|
|
|
21
22
|
### Optimize (fail-open)
|
|
22
23
|
- Output >2000 chars → `slm_compress(mode="auto", reversible=True)`; keep ccr_id if lossy.
|
|
@@ -39,6 +40,6 @@ slm-recall · slm-remember · slm-session · slm-status · slm-cache · slm-comp
|
|
|
39
40
|
### Subagents
|
|
40
41
|
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
42
|
|
|
42
|
-
<!-- END SuperLocalMemory v4.1.
|
|
43
|
+
<!-- END SuperLocalMemory v4.1.18 -->
|
|
43
44
|
|
|
44
|
-
SuperLocalMemory v4.1.
|
|
45
|
+
SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later
|
|
@@ -77,4 +77,4 @@ slm-scope · slm-governance · slm-profile · slm-remember · slm-recall
|
|
|
77
77
|
# What NOT to do
|
|
78
78
|
Never session_init twice; never forget without dry-run preview; never store secrets; never bypass role checks; never claim an erasure succeeded without verifying via recall.
|
|
79
79
|
|
|
80
|
-
SuperLocalMemory v4.1.
|
|
80
|
+
SuperLocalMemory v4.1.18 · 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). Returns
|
|
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 results from this machine in about 1–2 s (no server-side LLM round unless the user turned on the online answer check, which adds one request per recall) 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.
|
|
@@ -32,10 +32,11 @@ When the main agent: starts a session and hasn't loaded project context; is abou
|
|
|
32
32
|
4. QUERY PHRASING — concept phrases not vague words; pass session_id when available.
|
|
33
33
|
5. recall vs search — recall for conceptual; search for literal keyword.
|
|
34
34
|
6. EMPTY/LOW results → broaden, try search, or list_recent; never fabricate.
|
|
35
|
-
7.
|
|
36
|
-
8.
|
|
37
|
-
9.
|
|
38
|
-
10.
|
|
35
|
+
7. ABSTAINED MEANS DON'T ANSWER FROM THESE — if `abstained` is `true`, the memories `recall`/`session_init` returned do not answer the question; say you don't have it, or ask, never present them as the answer. `answer_confidence` is a measurement, not a guarantee.
|
|
36
|
+
8. SESSION END — close_session(session_id) when work meaningfully complete.
|
|
37
|
+
9. SCOPE IS OPT-IN (v3.6.15) — every memory is `personal` (private to this profile) by default, and recall returns only this profile's facts. Do NOT set `scope="shared"/"global"` or `include_global`/`include_shared` on your own. Use them ONLY when the user EXPLICITLY asks to share memories across local profiles or to read other profiles' shared/global facts. Default behaviour is identical to single-profile SLM. See slm-scope for the complete sharing model.
|
|
38
|
+
10. PROFILE CONTEXT (v3.8.0) — session_init and all memory ops use the active profile. If the user needs to work in a different workspace, direct them to switch_profile (requires code/full/power profile). See slm-profile.
|
|
39
|
+
11. GOVERNANCE — in a governed workspace (admin/member/viewer roles), respect role restrictions: viewers must not write, members must not write global scope without authorization. See slm-governance.
|
|
39
40
|
|
|
40
41
|
# CLI fallback (MCP unavailable)
|
|
41
42
|
recall→`slm recall "<q>" --limit N` (add `--include-global`/`--include-shared` only on explicit user request) · search→`slm search "<q>"` · remember→`slm remember "<c>" --tags a,b` (project/importance are MCP-only, NOT CLI flags; `--scope shared --shared-with a,b` only when the user asks to share) · list→`slm list --limit N` · forget→`slm forget` (preview first) · status→`slm status`. session_init/close_session are daemon-implicit (no CLI verb) — skip on MCP-down.
|
|
@@ -46,4 +47,4 @@ slm-recall · slm-remember · slm-session · slm-scope · slm-profile · slm-gov
|
|
|
46
47
|
# What NOT to do
|
|
47
48
|
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
49
|
|
|
49
|
-
SuperLocalMemory v4.1.
|
|
50
|
+
SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later
|
|
@@ -41,4 +41,4 @@ slm-compress · slm-cache · slm-status · slm-profile
|
|
|
41
41
|
# What NOT to do
|
|
42
42
|
Never compress code-for-edit/JSON-to-parse/<500 chars; never store secrets/ccr_ids; never let optimize failure block/alter the task; never claim a specific savings %; never carry ccr_ids across profile switches.
|
|
43
43
|
|
|
44
|
-
SuperLocalMemory v4.1.
|
|
44
|
+
SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later
|
package/plugin/requirements.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
superlocalmemory==4.1.
|
|
1
|
+
superlocalmemory==4.1.18
|
|
@@ -93,7 +93,12 @@ Real response shape (`--json` equivalent):
|
|
|
93
93
|
},
|
|
94
94
|
"incomplete_channels": [],
|
|
95
95
|
"retrieval_time_ms": 134,
|
|
96
|
-
"no_confident_match": false
|
|
96
|
+
"no_confident_match": false,
|
|
97
|
+
"calibration_status": "uncalibrated",
|
|
98
|
+
"calibration_id": null,
|
|
99
|
+
"answer_confidence": null,
|
|
100
|
+
"abstained": false,
|
|
101
|
+
"abstention_reason": null
|
|
97
102
|
}
|
|
98
103
|
```
|
|
99
104
|
|
|
@@ -124,7 +129,9 @@ rest come back empty.
|
|
|
124
129
|
say so to the user rather than reporting "no memories found". `incomplete_channels`
|
|
125
130
|
carries the same warning as a plain list.
|
|
126
131
|
|
|
127
|
-
**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
|
|
132
|
+
**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 answers from this machine in about 1–2 s, with no server-side LLM round — unless the user turned on the online answer check, which adds one request to that service per recall — and lets you, the calling model, drive this refinement.
|
|
133
|
+
|
|
134
|
+
**`abstained` means the results shown do not answer the question.** If `abstained` is `true`, say you don't have it, or ask — never present the returned memories as the answer anyway. `abstention_reason` distinguishes why: `"judged_insufficient"` means candidates were found and scored, but none of them actually answers this question; `"evidence_floor"` / `"no_candidates"` means nothing was found at all. `answer_confidence` is a measurement, not a guarantee — treat a low number the same way you'd treat `abstained: true`. `calibration_status: "uncalibrated"` means no judge is configured for this recall; in that case `abstained` only ever reflects the older "nothing found" signal.
|
|
128
135
|
|
|
129
136
|
### 2. Passing session_id
|
|
130
137
|
|
|
@@ -323,4 +330,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
|
|
|
323
330
|
|
|
324
331
|
---
|
|
325
332
|
|
|
326
|
-
*SuperLocalMemory v4.1.
|
|
333
|
+
*SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later*
|
|
@@ -92,6 +92,11 @@ session_init(
|
|
|
92
92
|
"core_memory": [],
|
|
93
93
|
"degraded_mode": false,
|
|
94
94
|
"retrieval_mode": "full_6_channel",
|
|
95
|
+
"calibration_status": "uncalibrated",
|
|
96
|
+
"calibration_id": null,
|
|
97
|
+
"answer_confidence": null,
|
|
98
|
+
"abstained": false,
|
|
99
|
+
"abstention_reason": null,
|
|
95
100
|
"learning": {
|
|
96
101
|
"feedback_signals": 37,
|
|
97
102
|
"phase": 1,
|
|
@@ -104,6 +109,16 @@ session_init(
|
|
|
104
109
|
FTS5 BM25 was used — semantic, graph, temporal, and structural channels were
|
|
105
110
|
unavailable. The context is still usable; note the degradation if relevant.
|
|
106
111
|
|
|
112
|
+
**Check `abstained`.** If `true`, the memories returned in `context` and
|
|
113
|
+
`memories` do not answer the query that seeded this session — say so, or
|
|
114
|
+
ask, rather than presenting them as settled fact. This is most relevant
|
|
115
|
+
when you passed an explicit `query`; the default project-context query
|
|
116
|
+
rarely has a single "right answer" for a judge to evaluate.
|
|
117
|
+
`answer_confidence` is a measurement, not a guarantee. `calibration_status:
|
|
118
|
+
"uncalibrated"` means no judge is configured, and `abstained` then only
|
|
119
|
+
reflects the older "nothing found" signal. See `slm-recall` for the full
|
|
120
|
+
rule, which applies identically here.
|
|
121
|
+
|
|
107
122
|
**Check `learning.phase`:**
|
|
108
123
|
- Phase 1 (< 50 signals): collecting baseline feedback
|
|
109
124
|
- Phase 2 (50–199 signals): active learning
|
|
@@ -253,4 +268,4 @@ explicitly and call `recall` with `include_global`/`include_shared` after
|
|
|
253
268
|
|
|
254
269
|
---
|
|
255
270
|
|
|
256
|
-
*SuperLocalMemory v4.1.
|
|
271
|
+
*SuperLocalMemory v4.1.18 · 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). Returns
|
|
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 results from this machine in about 1–2 s (no server-side LLM round unless the user turned on the online answer check, which adds one request per recall) 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.
|
|
@@ -32,10 +32,11 @@ When the main agent: starts a session and hasn't loaded project context; is abou
|
|
|
32
32
|
4. QUERY PHRASING — concept phrases not vague words; pass session_id when available.
|
|
33
33
|
5. recall vs search — recall for conceptual; search for literal keyword.
|
|
34
34
|
6. EMPTY/LOW results → broaden, try search, or list_recent; never fabricate.
|
|
35
|
-
7.
|
|
36
|
-
8.
|
|
37
|
-
9.
|
|
38
|
-
10.
|
|
35
|
+
7. ABSTAINED MEANS DON'T ANSWER FROM THESE — if `abstained` is `true`, the memories `recall`/`session_init` returned do not answer the question; say you don't have it, or ask, never present them as the answer. `answer_confidence` is a measurement, not a guarantee.
|
|
36
|
+
8. SESSION END — close_session(session_id) when work meaningfully complete.
|
|
37
|
+
9. SCOPE IS OPT-IN (v3.6.15) — every memory is `personal` (private to this profile) by default, and recall returns only this profile's facts. Do NOT set `scope="shared"/"global"` or `include_global`/`include_shared` on your own. Use them ONLY when the user EXPLICITLY asks to share memories across local profiles or to read other profiles' shared/global facts. Default behaviour is identical to single-profile SLM. See slm-scope for the complete sharing model.
|
|
38
|
+
10. PROFILE CONTEXT (v3.8.0) — session_init and all memory ops use the active profile. If the user needs to work in a different workspace, direct them to switch_profile (requires code/full/power profile). See slm-profile.
|
|
39
|
+
11. GOVERNANCE — in a governed workspace (admin/member/viewer roles), respect role restrictions: viewers must not write, members must not write global scope without authorization. See slm-governance.
|
|
39
40
|
|
|
40
41
|
# CLI fallback (MCP unavailable)
|
|
41
42
|
recall→`slm recall "<q>" --limit N` (add `--include-global`/`--include-shared` only on explicit user request) · search→`slm search "<q>"` · remember→`slm remember "<c>" --tags a,b` (project/importance are MCP-only, NOT CLI flags; `--scope shared --shared-with a,b` only when the user asks to share) · list→`slm list --limit N` · forget→`slm forget` (preview first) · status→`slm status`. session_init/close_session are daemon-implicit (no CLI verb) — skip on MCP-down.
|
|
@@ -46,4 +47,4 @@ slm-recall · slm-remember · slm-session · slm-scope · slm-profile · slm-gov
|
|
|
46
47
|
# What NOT to do
|
|
47
48
|
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
49
|
|
|
49
|
-
SuperLocalMemory v4.1.
|
|
50
|
+
SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later
|
|
@@ -41,4 +41,4 @@ slm-compress · slm-cache · slm-status · slm-profile
|
|
|
41
41
|
# What NOT to do
|
|
42
42
|
Never compress code-for-edit/JSON-to-parse/<500 chars; never store secrets/ccr_ids; never let optimize failure block/alter the task; never claim a specific savings %; never carry ccr_ids across profile switches.
|
|
43
43
|
|
|
44
|
-
SuperLocalMemory v4.1.
|
|
44
|
+
SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later
|
|
@@ -28,7 +28,8 @@ 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
|
|
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 answers from this machine in about 1–2 s, with no server-side LLM round — unless the user turned on the online answer check, which adds one request to that service per recall. You, the calling model, drive refinement.
|
|
32
|
+
- **Abstained means do not answer from these** — if `abstained` is `true`, the returned memories do not answer the question: say you don't have it, or ask. Never present them as the answer. `answer_confidence` is a measurement, not a guarantee. `abstention_reason: "judged_insufficient"` means candidates were found but none answers; `"evidence_floor"`/`"no_candidates"` means nothing was found.
|
|
32
33
|
|
|
33
34
|
---
|
|
34
35
|
|
|
@@ -137,4 +138,4 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
|
|
|
137
138
|
- **slm-optimize-advisor** — context compression and KV cache
|
|
138
139
|
- **slm-governance-advisor** — scope/role compliance, retention policies, GDPR
|
|
139
140
|
|
|
140
|
-
SuperLocalMemory v4.1.
|
|
141
|
+
SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later
|
|
@@ -93,7 +93,12 @@ Real response shape (`--json` equivalent):
|
|
|
93
93
|
},
|
|
94
94
|
"incomplete_channels": [],
|
|
95
95
|
"retrieval_time_ms": 134,
|
|
96
|
-
"no_confident_match": false
|
|
96
|
+
"no_confident_match": false,
|
|
97
|
+
"calibration_status": "uncalibrated",
|
|
98
|
+
"calibration_id": null,
|
|
99
|
+
"answer_confidence": null,
|
|
100
|
+
"abstained": false,
|
|
101
|
+
"abstention_reason": null
|
|
97
102
|
}
|
|
98
103
|
```
|
|
99
104
|
|
|
@@ -124,7 +129,9 @@ rest come back empty.
|
|
|
124
129
|
say so to the user rather than reporting "no memories found". `incomplete_channels`
|
|
125
130
|
carries the same warning as a plain list.
|
|
126
131
|
|
|
127
|
-
**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
|
|
132
|
+
**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 answers from this machine in about 1–2 s, with no server-side LLM round — unless the user turned on the online answer check, which adds one request to that service per recall — and lets you, the calling model, drive this refinement.
|
|
133
|
+
|
|
134
|
+
**`abstained` means the results shown do not answer the question.** If `abstained` is `true`, say you don't have it, or ask — never present the returned memories as the answer anyway. `abstention_reason` distinguishes why: `"judged_insufficient"` means candidates were found and scored, but none of them actually answers this question; `"evidence_floor"` / `"no_candidates"` means nothing was found at all. `answer_confidence` is a measurement, not a guarantee — treat a low number the same way you'd treat `abstained: true`. `calibration_status: "uncalibrated"` means no judge is configured for this recall; in that case `abstained` only ever reflects the older "nothing found" signal.
|
|
128
135
|
|
|
129
136
|
### 2. Passing session_id
|
|
130
137
|
|
|
@@ -323,4 +330,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
|
|
|
323
330
|
|
|
324
331
|
---
|
|
325
332
|
|
|
326
|
-
*SuperLocalMemory v4.1.
|
|
333
|
+
*SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later*
|
|
@@ -92,6 +92,11 @@ session_init(
|
|
|
92
92
|
"core_memory": [],
|
|
93
93
|
"degraded_mode": false,
|
|
94
94
|
"retrieval_mode": "full_6_channel",
|
|
95
|
+
"calibration_status": "uncalibrated",
|
|
96
|
+
"calibration_id": null,
|
|
97
|
+
"answer_confidence": null,
|
|
98
|
+
"abstained": false,
|
|
99
|
+
"abstention_reason": null,
|
|
95
100
|
"learning": {
|
|
96
101
|
"feedback_signals": 37,
|
|
97
102
|
"phase": 1,
|
|
@@ -104,6 +109,16 @@ session_init(
|
|
|
104
109
|
FTS5 BM25 was used — semantic, graph, temporal, and structural channels were
|
|
105
110
|
unavailable. The context is still usable; note the degradation if relevant.
|
|
106
111
|
|
|
112
|
+
**Check `abstained`.** If `true`, the memories returned in `context` and
|
|
113
|
+
`memories` do not answer the query that seeded this session — say so, or
|
|
114
|
+
ask, rather than presenting them as settled fact. This is most relevant
|
|
115
|
+
when you passed an explicit `query`; the default project-context query
|
|
116
|
+
rarely has a single "right answer" for a judge to evaluate.
|
|
117
|
+
`answer_confidence` is a measurement, not a guarantee. `calibration_status:
|
|
118
|
+
"uncalibrated"` means no judge is configured, and `abstained` then only
|
|
119
|
+
reflects the older "nothing found" signal. See `slm-recall` for the full
|
|
120
|
+
rule, which applies identically here.
|
|
121
|
+
|
|
107
122
|
**Check `learning.phase`:**
|
|
108
123
|
- Phase 1 (< 50 signals): collecting baseline feedback
|
|
109
124
|
- Phase 2 (50–199 signals): active learning
|
|
@@ -253,4 +268,4 @@ explicitly and call `recall` with `include_global`/`include_shared` after
|
|
|
253
268
|
|
|
254
269
|
---
|
|
255
270
|
|
|
256
|
-
*SuperLocalMemory v4.1.
|
|
271
|
+
*SuperLocalMemory v4.1.18 · Qualixar · AGPL-3.0-or-later*
|