superlocalmemory 4.1.19 → 4.1.21
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 +189 -0
- package/README.md +227 -601
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.mcp.json +7 -2
- package/plugin/CLAUDE.md +3 -3
- package/plugin/agents/slm-governance-advisor.md +1 -1
- package/plugin/agents/slm-loop-runner.md +1 -1
- package/plugin/agents/slm-memory-advisor.md +1 -1
- package/plugin/agents/slm-optimize-advisor.md +1 -1
- package/plugin/hooks/hooks.json +9 -9
- package/plugin/requirements.txt +1 -1
- package/plugin/scripts/ensure-venv.sh +23 -1
- package/plugin/scripts/slm-launch +60 -68
- package/plugin/scripts/slm-launch.bat +10 -1
- package/plugin/scripts/slm-resolve.sh +128 -0
- package/plugin/scripts/slm-run +76 -0
- 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 +3 -3
- package/plugin/skills/slm-recall/SKILL.md +1 -1
- package/plugin/skills/slm-remember/SKILL.md +1 -1
- package/plugin/skills/slm-scope/SKILL.md +1 -1
- package/plugin/skills/slm-session/SKILL.md +1 -1
- package/plugin/skills/slm-status/SKILL.md +1 -1
- package/plugin-src/agents/slm-memory-advisor.md +1 -1
- package/plugin-src/agents/slm-optimize-advisor.md +1 -1
- package/plugin-src/rules/AGENTS.md +3 -3
- 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 +3 -3
- package/plugin-src/skills/slm-recall/SKILL.md +1 -1
- package/plugin-src/skills/slm-remember/SKILL.md +1 -1
- package/plugin-src/skills/slm-scope/SKILL.md +1 -1
- package/plugin-src/skills/slm-session/SKILL.md +1 -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.21"
|
|
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.21"
|
|
43
43
|
}
|
|
44
44
|
]
|
|
45
45
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,195 @@ 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.21] — Recall that knows your project, and memories that stay findable
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Recall knows your project** (#150). Memories saved for the project you are
|
|
13
|
+
working in rank ahead of cross-project trivia; `project=` filters to one
|
|
14
|
+
project, and a filter that matched nothing says so instead of returning an
|
|
15
|
+
empty list. Recall trace explains the same order recall returns.
|
|
16
|
+
- **Saved views and summaries** (#113). Save a recall query as a named view and
|
|
17
|
+
re-run it from the CLI (`slm view`), MCP or the dashboard, with the same
|
|
18
|
+
answer from each. Daily, session and project summaries trace every line back
|
|
19
|
+
to the memories it came from.
|
|
20
|
+
- **`slm provider set custom`** (#112): point Mode B or Mode C at your own
|
|
21
|
+
OpenAI-compatible server (llama.cpp, vLLM, LM Studio) from the CLI, with or
|
|
22
|
+
without a key. Its connection test goes through the same no-redirect gate as
|
|
23
|
+
every other request.
|
|
24
|
+
- **Measure answer quality on your own memories.** Label your own questions and
|
|
25
|
+
see whether the right memory comes first, and set each answer check's
|
|
26
|
+
threshold from your own results instead of a default.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- **The same question returns the same memories every time.** Linking
|
|
31
|
+
memories through the people, projects and things they share used to stop at
|
|
32
|
+
a time limit, so a busy machine could return different memories for the same
|
|
33
|
+
question. It now does a fixed amount of work in a fixed order, and a
|
|
34
|
+
background fill of the entity index after the upgrade keeps it fast. Until
|
|
35
|
+
that fill finishes, a few minutes after the first start, recall uses the
|
|
36
|
+
exact scan, which can be slower on a busy machine.
|
|
37
|
+
- **Better first answers.** Memories a search actually found can no longer be
|
|
38
|
+
pushed out of the reranker's shortlist by loosely related neighbours, and
|
|
39
|
+
when the reranker clearly puts one memory first, recency and quality
|
|
40
|
+
adjustments can only break near-ties, not overturn it. On a large real
|
|
41
|
+
store: right memory first on 27 of 50 questions (was 23), and the right
|
|
42
|
+
memory in the top 3 on 17 of 97 held-out questions (was 11).
|
|
43
|
+
- A question that resembles none of your memories no longer gets graph matches
|
|
44
|
+
started from unrelated memories, so the result is the same with and without
|
|
45
|
+
the vector extension.
|
|
46
|
+
- **The semantic cache makes the same choice on every platform and every
|
|
47
|
+
run.** After a run of correct hits it serves a stored answer at similarity
|
|
48
|
+
0.98 and above every time, where before it skipped it at random (up to 43% of
|
|
49
|
+
the time at 0.98).
|
|
50
|
+
- **Modes are named by what you get, not by a vendor** (#112), in setup, the
|
|
51
|
+
CLI and the dashboard.
|
|
52
|
+
- **Remote access works on the key's profile for every tool**, whatever profile
|
|
53
|
+
this computer is using.
|
|
54
|
+
- In Settings, ticking a Jev option while Laya is chosen asks whether to
|
|
55
|
+
switch; "Try it" shows where the time went; a memory kind below the shared
|
|
56
|
+
confidence threshold shows as unconfirmed.
|
|
57
|
+
- The dashboard's live events show saved, captured, corrected and deleted
|
|
58
|
+
memories from every surface, and its filter offers only events SLM sends.
|
|
59
|
+
- Every dashboard text meets readable contrast in light and dark themes.
|
|
60
|
+
- The README leads with the answer check (Laya on your Mac, Jev on Windows,
|
|
61
|
+
Linux and macOS), lists platform support plainly, and brings back the
|
|
62
|
+
architecture diagram and the walkthrough video.
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
|
|
66
|
+
- **Background maintenance no longer moves memories you still use into the
|
|
67
|
+
archive**, where recall could not find them. On a large store most memories
|
|
68
|
+
had drifted there, and questions about them came back with the wrong answer
|
|
69
|
+
or none.
|
|
70
|
+
- A question about a version number ("what changed in 4.1.20") finds the memory
|
|
71
|
+
about that version.
|
|
72
|
+
- A new or changed link is used by the next recall instead of a cached answer.
|
|
73
|
+
- Erasure: unfinished deletions are re-checked and closed in every profile,
|
|
74
|
+
back off instead of retrying forever, heal entity erasures, and an unreadable
|
|
75
|
+
vector store never counts as erased (PR #149, thanks @bgausden). `slm ops`
|
|
76
|
+
and the Ops Health page say what each entry is and what to do.
|
|
77
|
+
- `slm ops resolve` rejects a bad operation ID cleanly instead of crashing
|
|
78
|
+
(#148); a broken daemon response is no longer reported as a bad ID.
|
|
79
|
+
- Re-verified the Mode B / Ollama, daemon-start and migration fixes reported in
|
|
80
|
+
#128 and #125.
|
|
81
|
+
- On a computer shared by several accounts, SLM never sends data to, starts
|
|
82
|
+
against, or adopts another account's daemon.
|
|
83
|
+
- Restore points, backups, remote secrets, the answer-check key and config are
|
|
84
|
+
readable only by you, including files older versions left open.
|
|
85
|
+
- Remote access closes a connection that stalls before TLS within 10 seconds.
|
|
86
|
+
- Shutting down while another program holds the memory database no longer
|
|
87
|
+
fails; a save waiting for it is kept for the next start.
|
|
88
|
+
- **Windows:** output to a pipe or file is UTF-8 and never crashes on a
|
|
89
|
+
character; the dashboard and SLM's files read and write UTF-8; process checks
|
|
90
|
+
never send Ctrl+C; profiles, restores, embedding migrations, backups and the
|
|
91
|
+
benchmark close their database files so they can finish; the code graph
|
|
92
|
+
records forward-slash paths; bounded-loops receipts import; the Answer Check
|
|
93
|
+
demo says plainly that it needs an Apple silicon Mac.
|
|
94
|
+
- **macOS:** no native matrix factorization on the recall and cache paths can
|
|
95
|
+
corrupt process memory.
|
|
96
|
+
- **Windows:** `slm serve stop` and the idle timeout shut the daemon down
|
|
97
|
+
cleanly instead of killing it, so it leaves no stale state behind; a model
|
|
98
|
+
download started by the daemon's self-repair stops when the daemon stops.
|
|
99
|
+
- The Summaries picker lists projects saved on your memories, not only the
|
|
100
|
+
folders an agent worked in.
|
|
101
|
+
- Each dashboard page opens at its first line instead of under the top bar.
|
|
102
|
+
|
|
103
|
+
### Security
|
|
104
|
+
|
|
105
|
+
- Installs and upgrades get fsspec 2026.6.0 or later, which closes a remote
|
|
106
|
+
code execution advisory (GHSA-27vj-qcqg-25rc) in a package SLM uses
|
|
107
|
+
indirectly.
|
|
108
|
+
- `config.json` and the answer-check and feedback keys that an older release
|
|
109
|
+
left readable by other accounts are made private when SLM starts.
|
|
110
|
+
|
|
111
|
+
Thanks to @bgausden for the erasure fix in PR #149 and for #148 and #150, to
|
|
112
|
+
@tianjueak for #128, and to @unfall103-debug for #112, #113 and #125.
|
|
113
|
+
|
|
114
|
+
## [4.1.20] — Answers you can check, from any computer
|
|
115
|
+
|
|
116
|
+
### Added
|
|
117
|
+
|
|
118
|
+
- **Answer Check tab** in the dashboard: which check is running, a "Try it" box
|
|
119
|
+
that shows raw results next to the verdict, how often SLM said "I don't have
|
|
120
|
+
that", time against the 3-second limit, and the recent checks with where each
|
|
121
|
+
recall's time went. History is kept 30 days on this machine; questions and
|
|
122
|
+
memories are never stored in it.
|
|
123
|
+
- **Answer-check settings anyone can use.** Each option says whether it is
|
|
124
|
+
ready and what to do next, has its own Test button with a visible result, and
|
|
125
|
+
one Save applies everything without a restart. Only the option you choose
|
|
126
|
+
runs: Laya on this Mac, or Jev online, never both. A setup that stalls stops
|
|
127
|
+
by itself and offers to use an install you already have.
|
|
128
|
+
- **Use SuperLocalMemory from another computer** (`slm remote`): an encrypted
|
|
129
|
+
listener that is off by default, a certificate helper, and named keys you can
|
|
130
|
+
revoke. Each key is read-only or read-write and is bound to one profile.
|
|
131
|
+
Remote callers never see this computer's paths, account or environment.
|
|
132
|
+
- **Hermes can use an SLM on another computer** (#138). A save that did not land
|
|
133
|
+
says NOT SAVED.
|
|
134
|
+
|
|
135
|
+
### Changed
|
|
136
|
+
|
|
137
|
+
- **The same question gets the same answer.** Learned ranking no longer
|
|
138
|
+
reshuffles results between runs, a repeat question keeps its top answer, and
|
|
139
|
+
the answer check gives the same verdict on a repeat. A check that did not run
|
|
140
|
+
says why.
|
|
141
|
+
- **Recall right after a save finds it.** On a fresh install, recall answers
|
|
142
|
+
while the embedding model is still loading, within 3 seconds, and says which
|
|
143
|
+
parts of the search were still warming instead of "No confident match".
|
|
144
|
+
- **Saves under heavy load are accepted and saved**, never refused. A save the
|
|
145
|
+
disk refuses says so.
|
|
146
|
+
- **Upgrades are faster.** An update copies only the databases it changes and
|
|
147
|
+
says how long that will take.
|
|
148
|
+
- Cross-scope recall reads only what it scores and seeds the graph from the
|
|
149
|
+
best matches (#146, #147).
|
|
150
|
+
- The README is rewritten for developers, with new guides for memory kinds,
|
|
151
|
+
recall and restore points.
|
|
152
|
+
|
|
153
|
+
### Fixed
|
|
154
|
+
|
|
155
|
+
- **macOS:** building the memory compression rotation no longer corrupts
|
|
156
|
+
process memory, which could crash SuperLocalMemory later at random.
|
|
157
|
+
- On Windows the plugin starts the SuperLocalMemory you installed (#139). The
|
|
158
|
+
plugin no longer requires Python 3.12 when it uses your installed `slm`
|
|
159
|
+
(#140), and its hooks find SuperLocalMemory wherever the plugin's server does
|
|
160
|
+
(#141).
|
|
161
|
+
- Saves accepted for another profile, or with `--replaces` while busy, are
|
|
162
|
+
completed after a restart. One unreadable saved memory no longer blocks
|
|
163
|
+
start-up. Re-running `slm remember` never stores the same memory twice.
|
|
164
|
+
- A data export includes everything: the whole code graph and every learning
|
|
165
|
+
record, from the CLI and the dashboard.
|
|
166
|
+
- A date range includes its last day; an unreadable time filter is refused
|
|
167
|
+
instead of ignored, on every surface.
|
|
168
|
+
- `slm warmup` reports PASS only when recall is ready. `slm list` shows each
|
|
169
|
+
memory's ID and kind. `slm delete` and `slm update` report an unknown ID as
|
|
170
|
+
not found. `slm remember --replaces` prints the exact undo command.
|
|
171
|
+
- The dashboard's Memory activity uses your local time zone; on a phone the
|
|
172
|
+
menu closes after you choose a page.
|
|
173
|
+
- Mesh peers can sync shared state again. Dashboard search finds the same
|
|
174
|
+
memories as recall. A shut-down embedding service stays shut.
|
|
175
|
+
- `slm recall` prints only results; error hints name commands that exist; an
|
|
176
|
+
unknown MCP tool profile is refused with the valid names; the
|
|
177
|
+
consistency-check notice is shown once.
|
|
178
|
+
|
|
179
|
+
### Security
|
|
180
|
+
|
|
181
|
+
- Other computers must sign in to read memory, not only to write it.
|
|
182
|
+
- On team workspaces, search, memory chat, recall trace, summary, timeline,
|
|
183
|
+
`slm list` and mesh reads all require read permission.
|
|
184
|
+
- Requests carried by a proxy are never treated as local unless you name a
|
|
185
|
+
trusted proxy.
|
|
186
|
+
- SuperLocalMemory's own requests never follow redirects, so a key is never
|
|
187
|
+
sent through one. A refused request never repeats the value it was sent.
|
|
188
|
+
- Restore points and remote keys are readable only by you, on macOS, Linux and
|
|
189
|
+
Windows.
|
|
190
|
+
|
|
191
|
+
### Upgrade notes
|
|
192
|
+
|
|
193
|
+
- The first start after upgrading writes a restore point and adds the Answer
|
|
194
|
+
Check history. `slm db prepare-downgrade` returns your data to 4.1.19 if
|
|
195
|
+
needed, and prints the exact install command.
|
|
196
|
+
|
|
8
197
|
## [4.1.19] — Memories know what kind they are
|
|
9
198
|
|
|
10
199
|
### Added
|