superlocalmemory 4.2.0 → 4.2.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 (146) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +129 -0
  3. package/README.md +48 -9
  4. package/antigravity-plugin/_GENERATED.md +1 -1
  5. package/antigravity-plugin/agents/slm-governance-advisor.md +1 -1
  6. package/antigravity-plugin/agents/slm-loop-runner.md +1 -1
  7. package/antigravity-plugin/agents/slm-memory-advisor.md +1 -1
  8. package/antigravity-plugin/agents/slm-optimize-advisor.md +1 -1
  9. package/antigravity-plugin/plugin.json +1 -1
  10. package/antigravity-plugin/skills/slm-bot-memory/SKILL.md +1 -1
  11. package/antigravity-plugin/skills/slm-cache/SKILL.md +1 -1
  12. package/antigravity-plugin/skills/slm-compress/SKILL.md +1 -1
  13. package/antigravity-plugin/skills/slm-getting-started-bot/SKILL.md +1 -1
  14. package/antigravity-plugin/skills/slm-governance/SKILL.md +1 -1
  15. package/antigravity-plugin/skills/slm-graph/SKILL.md +1 -1
  16. package/antigravity-plugin/skills/slm-loop/SKILL.md +4 -3
  17. package/antigravity-plugin/skills/slm-media/SKILL.md +10 -4
  18. package/antigravity-plugin/skills/slm-mesh/SKILL.md +1 -1
  19. package/antigravity-plugin/skills/slm-profile/SKILL.md +1 -1
  20. package/antigravity-plugin/skills/slm-recall/SKILL.md +1 -1
  21. package/antigravity-plugin/skills/slm-remember/SKILL.md +1 -1
  22. package/antigravity-plugin/skills/slm-scope/SKILL.md +1 -1
  23. package/antigravity-plugin/skills/slm-session/SKILL.md +1 -1
  24. package/antigravity-plugin/skills/slm-status/SKILL.md +1 -1
  25. package/codex-plugin/.claude-plugin/plugin.json +1 -1
  26. package/codex-plugin/.codex-plugin/plugin.json +1 -1
  27. package/codex-plugin/AGENTS.md +1 -1
  28. package/codex-plugin/README.md +2 -2
  29. package/codex-plugin/_GENERATED.md +1 -1
  30. package/codex-plugin/agents/slm-governance-advisor.md +1 -1
  31. package/codex-plugin/agents/slm-loop-runner.md +1 -1
  32. package/codex-plugin/agents/slm-memory-advisor.md +1 -1
  33. package/codex-plugin/agents/slm-optimize-advisor.md +1 -1
  34. package/codex-plugin/skills/slm-bot-memory/SKILL.md +1 -1
  35. package/codex-plugin/skills/slm-cache/SKILL.md +1 -1
  36. package/codex-plugin/skills/slm-compress/SKILL.md +1 -1
  37. package/codex-plugin/skills/slm-getting-started-bot/SKILL.md +1 -1
  38. package/codex-plugin/skills/slm-governance/SKILL.md +1 -1
  39. package/codex-plugin/skills/slm-graph/SKILL.md +1 -1
  40. package/codex-plugin/skills/slm-loop/SKILL.md +4 -3
  41. package/codex-plugin/skills/slm-media/SKILL.md +10 -4
  42. package/codex-plugin/skills/slm-mesh/SKILL.md +1 -1
  43. package/codex-plugin/skills/slm-profile/SKILL.md +1 -1
  44. package/codex-plugin/skills/slm-recall/SKILL.md +1 -1
  45. package/codex-plugin/skills/slm-remember/SKILL.md +1 -1
  46. package/codex-plugin/skills/slm-scope/SKILL.md +1 -1
  47. package/codex-plugin/skills/slm-session/SKILL.md +1 -1
  48. package/codex-plugin/skills/slm-status/SKILL.md +1 -1
  49. package/copilot-plugin/.github/agents/slm-governance-advisor.agent.md +2 -2
  50. package/copilot-plugin/.github/agents/slm-loop-runner.agent.md +2 -2
  51. package/copilot-plugin/.github/agents/slm-memory-advisor.agent.md +2 -2
  52. package/copilot-plugin/.github/agents/slm-optimize-advisor.agent.md +2 -2
  53. package/copilot-plugin/.github/copilot-instructions.md +4 -4
  54. package/copilot-plugin/.github/prompts/slm-bot-memory.prompt.md +2 -2
  55. package/copilot-plugin/.github/prompts/slm-cache.prompt.md +2 -2
  56. package/copilot-plugin/.github/prompts/slm-compress.prompt.md +2 -2
  57. package/copilot-plugin/.github/prompts/slm-getting-started-bot.prompt.md +2 -2
  58. package/copilot-plugin/.github/prompts/slm-governance.prompt.md +2 -2
  59. package/copilot-plugin/.github/prompts/slm-graph.prompt.md +2 -2
  60. package/copilot-plugin/.github/prompts/slm-loop.prompt.md +5 -4
  61. package/copilot-plugin/.github/prompts/slm-media.prompt.md +11 -5
  62. package/copilot-plugin/.github/prompts/slm-mesh.prompt.md +2 -2
  63. package/copilot-plugin/.github/prompts/slm-profile.prompt.md +2 -2
  64. package/copilot-plugin/.github/prompts/slm-recall.prompt.md +2 -2
  65. package/copilot-plugin/.github/prompts/slm-remember.prompt.md +2 -2
  66. package/copilot-plugin/.github/prompts/slm-scope.prompt.md +2 -2
  67. package/copilot-plugin/.github/prompts/slm-session.prompt.md +2 -2
  68. package/copilot-plugin/.github/prompts/slm-status.prompt.md +2 -2
  69. package/copilot-plugin/.github/prompts/slm-web-access.prompt.md +1 -1
  70. package/copilot-plugin/README.md +2 -2
  71. package/copilot-plugin/_GENERATED.md +1 -1
  72. package/hermes-plugin/__init__.py +11 -7
  73. package/hermes-plugin/agents/slm-governance-advisor.md +1 -1
  74. package/hermes-plugin/agents/slm-loop-runner.md +1 -1
  75. package/hermes-plugin/agents/slm-memory-advisor.md +1 -1
  76. package/hermes-plugin/agents/slm-optimize-advisor.md +1 -1
  77. package/hermes-plugin/plugin.yaml +1 -1
  78. package/hermes-plugin/remote.py +25 -4
  79. package/hermes-plugin/skills/slm-bot-memory/SKILL.md +1 -1
  80. package/hermes-plugin/skills/slm-cache/SKILL.md +1 -1
  81. package/hermes-plugin/skills/slm-compress/SKILL.md +1 -1
  82. package/hermes-plugin/skills/slm-getting-started-bot/SKILL.md +1 -1
  83. package/hermes-plugin/skills/slm-governance/SKILL.md +1 -1
  84. package/hermes-plugin/skills/slm-graph/SKILL.md +1 -1
  85. package/hermes-plugin/skills/slm-loop/SKILL.md +4 -3
  86. package/hermes-plugin/skills/slm-media/SKILL.md +10 -4
  87. package/hermes-plugin/skills/slm-mesh/SKILL.md +1 -1
  88. package/hermes-plugin/skills/slm-profile/SKILL.md +1 -1
  89. package/hermes-plugin/skills/slm-recall/SKILL.md +1 -1
  90. package/hermes-plugin/skills/slm-remember/SKILL.md +1 -1
  91. package/hermes-plugin/skills/slm-scope/SKILL.md +1 -1
  92. package/hermes-plugin/skills/slm-session/SKILL.md +1 -1
  93. package/hermes-plugin/skills/slm-status/SKILL.md +1 -1
  94. package/package.json +1 -1
  95. package/plugin/.claude-plugin/plugin.json +1 -1
  96. package/plugin/.cursor-plugin/plugin.json +1 -1
  97. package/plugin/CLAUDE.md +3 -3
  98. package/plugin/agents/slm-governance-advisor.md +1 -1
  99. package/plugin/agents/slm-loop-runner.md +1 -1
  100. package/plugin/agents/slm-memory-advisor.md +1 -1
  101. package/plugin/agents/slm-optimize-advisor.md +1 -1
  102. package/plugin/cursor-skills/slm-bot-memory/SKILL.md +1 -1
  103. package/plugin/cursor-skills/slm-getting-started-bot/SKILL.md +1 -1
  104. package/plugin/cursor-skills/slm-recall/SKILL.md +1 -1
  105. package/plugin/cursor-skills/slm-remember/SKILL.md +1 -1
  106. package/plugin/cursor-skills/slm-scope/SKILL.md +1 -1
  107. package/plugin/cursor-skills/slm-session/SKILL.md +1 -1
  108. package/plugin/mcp.cursor.json +1 -1
  109. package/plugin/requirements.txt +1 -1
  110. package/plugin/skills/slm-bot-memory/SKILL.md +1 -1
  111. package/plugin/skills/slm-cache/SKILL.md +1 -1
  112. package/plugin/skills/slm-compress/SKILL.md +1 -1
  113. package/plugin/skills/slm-getting-started-bot/SKILL.md +1 -1
  114. package/plugin/skills/slm-governance/SKILL.md +1 -1
  115. package/plugin/skills/slm-graph/SKILL.md +1 -1
  116. package/plugin/skills/slm-loop/SKILL.md +4 -3
  117. package/plugin/skills/slm-media/SKILL.md +10 -4
  118. package/plugin/skills/slm-mesh/SKILL.md +1 -1
  119. package/plugin/skills/slm-profile/SKILL.md +1 -1
  120. package/plugin/skills/slm-recall/SKILL.md +1 -1
  121. package/plugin/skills/slm-remember/SKILL.md +1 -1
  122. package/plugin/skills/slm-scope/SKILL.md +1 -1
  123. package/plugin/skills/slm-session/SKILL.md +1 -1
  124. package/plugin/skills/slm-status/SKILL.md +1 -1
  125. package/plugin-src/agents/slm-governance-advisor.md +1 -1
  126. package/plugin-src/agents/slm-loop-runner.md +1 -1
  127. package/plugin-src/agents/slm-memory-advisor.md +1 -1
  128. package/plugin-src/agents/slm-optimize-advisor.md +1 -1
  129. package/plugin-src/rules/AGENTS.md +1 -1
  130. package/plugin-src/rules/CLAUDE.md.fragment +3 -3
  131. package/plugin-src/skills/slm-bot-memory/SKILL.md +1 -1
  132. package/plugin-src/skills/slm-cache/SKILL.md +1 -1
  133. package/plugin-src/skills/slm-compress/SKILL.md +1 -1
  134. package/plugin-src/skills/slm-getting-started-bot/SKILL.md +1 -1
  135. package/plugin-src/skills/slm-governance/SKILL.md +1 -1
  136. package/plugin-src/skills/slm-graph/SKILL.md +1 -1
  137. package/plugin-src/skills/slm-loop/SKILL.md +4 -3
  138. package/plugin-src/skills/slm-media/SKILL.md +10 -4
  139. package/plugin-src/skills/slm-mesh/SKILL.md +1 -1
  140. package/plugin-src/skills/slm-profile/SKILL.md +1 -1
  141. package/plugin-src/skills/slm-recall/SKILL.md +1 -1
  142. package/plugin-src/skills/slm-remember/SKILL.md +1 -1
  143. package/plugin-src/skills/slm-scope/SKILL.md +1 -1
  144. package/plugin-src/skills/slm-session/SKILL.md +1 -1
  145. package/plugin-src/skills/slm-status/SKILL.md +1 -1
  146. package/scripts/postinstall.js +4 -2
@@ -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 v4.2.0 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -194,4 +194,4 @@ quality on a shared box.
194
194
 
195
195
  ---
196
196
 
197
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
197
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -274,4 +274,4 @@ Before running any destructive or state-changing operation (`forget`,
274
274
 
275
275
  ---
276
276
 
277
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
277
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -324,4 +324,4 @@ All are host-only: a remote caller cannot use them.
324
324
 
325
325
  ---
326
326
 
327
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
327
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: slm-loop
3
- description: Gate-verified bounded loops with SuperLocalMemory as the durable ledger. Use when a task has a checkable acceptance condition and you must iterate until an INDEPENDENT gate passes — never stopping because the agent believes it is done. `slm_loop_run` (MCP) waits, under hard bounds, for a recall gate to pass; `slm loop demo` shows the control flow keyless; `slm loop history` and `slm loop show <run_id>` (or `slm_loop_history` / `slm_loop_show`) inspect past runs, whose every lap is stored as queryable SLM memory (tag `loop:<name>`). Terminal statuses are DONE / HALT / PAUSE / KILLED / ERROR — report them exactly, never converting HALT/PAUSE/ERROR into success.
3
+ description: Gate-verified bounded loops with SuperLocalMemory as the durable ledger. Use when a task has a checkable acceptance condition and you must iterate until an INDEPENDENT gate passes — never stopping because the agent believes it is done. `slm_loop_run` (MCP) waits, under hard bounds, for an independently executed check registered by the operator to pass; `slm loop demo` shows the control flow keyless; `slm loop history` and `slm loop show <run_id>` (or `slm_loop_history` / `slm_loop_show`) inspect past runs, whose every lap is stored as queryable SLM memory (tag `loop:<name>`). Terminal statuses are DONE / HALT / PAUSE / KILLED / ERROR — report them exactly, never converting HALT/PAUSE/ERROR into success.
4
4
  when_to_use: "run a bounded loop, gate-verified task, iterate until tests pass, verify against an independent gate, don't trust the agent's own done claim, slm loop, convergence loop, loop until green, loop ledger, wait for another agent's result"
5
5
  allowed-tools: slm_loop_run, slm_loop_history, slm_loop_show, recall, report_outcome, get_soft_prompts, skill_health, skill_lineage, evolve_skill, observe_bounded_loop_evidence, Bash
6
6
  ---
@@ -26,7 +26,7 @@ subprocess or sandbox machinery. What each surface gives you:
26
26
 
27
27
  | Surface | What it does |
28
28
  |---|---|
29
- | `slm_loop_run` (MCP) | A *watcher*: each lap is a recall of `gate_query`; the loop ends when a confident match appears, or a bound trips. Use it to wait for a verification or coordination memory another agent will write (for example "build passed"). |
29
+ | `slm_loop_run` (MCP) | A *watcher* for a registered check. DONE needs `gate_contract={"job_id": ...}`: a job the operator registered with `superlocalmemory.loops.receipt_jobs.register_job` and executed with `run_registered_check`. Each lap's recall of `gate_query` only locates context; a matching memory alone never passes. Without a registered job the run ends HALT ("operator-registered job_id required"), which is the correct, honest outcome. |
30
30
  | `slm loop demo` (CLI) | A keyless convergence demo: a stub proposer, a deterministic gate that passes on lap 3, every lap recorded. Proves the engine and ledger work end to end. |
31
31
  | `slm loop history`, `slm loop show` / `slm_loop_history`, `slm_loop_show` | Read the ledger of past runs. |
32
32
  | `superlocalmemory.loops.run_bounded_loop` (Python) | The engine itself, for code that supplies its own runner and gate callables. |
@@ -62,6 +62,7 @@ slm_loop_run(
62
62
  max_tokens: int = 0, # optional token budget; 0 disables
63
63
  no_progress_window: int = 0, # halt after N no-change laps; leave 0 for a watcher
64
64
  require_support: bool = False,# pass only if the answer check ran and judged it sufficient
65
+ gate_contract: dict | None = None, # {"job_id": <operator registration>}; required for DONE
65
66
  )
66
67
  ```
67
68
 
@@ -170,4 +171,4 @@ Guides: `docs/skill-evolution.md`, `docs/bounded-loops-bridge.md`.
170
171
 
171
172
  ---
172
173
 
173
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
174
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -245,7 +245,7 @@ Rules for reading them:
245
245
  personal data. Folders connected with `slm sources` are never shown to web
246
246
  apps. A web app cannot change, delete, pin or replace a memory it is not
247
247
  allowed to see: it is answered as if that memory did not exist.
248
- - Pictures saved before 4.2.0 are re-checked in the background and become
248
+ - Pictures saved before picture search arrived are re-checked in the background and become
249
249
  visible to web apps once their text is clean. They stay fully searchable on
250
250
  this computer.
251
251
 
@@ -315,8 +315,14 @@ Settings) re-reads existing memories with the same on-device model that reads
315
315
  pictures, so text and pictures share one search space. It runs in the
316
316
  background, recall keeps working, the previous engine's data stays until the
317
317
  owner frees it (`slm embedder forget-previous`), and `slm embedder rollback`
318
- goes back. It is opt-in and never starts on its own. If it cannot run, the
319
- command prints the reason. Offer it; do not run it unasked.
318
+ goes back. If it cannot run, the command prints the reason.
319
+
320
+ It is not available for text yet: recall's answer check is not calibrated for
321
+ EmbeddingGemma 2 (the best fit so far answered questions that have no answer),
322
+ so the command refuses with that reason. Do not offer it, and never pass `--force` for the user.
323
+ If `slm doctor` reports "Answer check fit" as a warning, the user's text already
324
+ moved in an earlier version: tell them `slm embedder rollback` goes back in
325
+ minutes (previous vectors are kept) and let them decide.
320
326
 
321
327
  ---
322
328
 
@@ -331,4 +337,4 @@ command prints the reason. Offer it; do not run it unasked.
331
337
 
332
338
  ---
333
339
 
334
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
340
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -386,4 +386,4 @@ mesh availability.
386
386
 
387
387
  ---
388
388
 
389
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
389
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -161,4 +161,4 @@ anything but `core` or `mesh`.
161
161
 
162
162
  ---
163
163
 
164
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
164
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -515,4 +515,4 @@ See `slm-profile`.
515
515
 
516
516
  ---
517
517
 
518
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
518
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -372,4 +372,4 @@ sessions on this machine, so use it only when the user asks to move. See
372
372
 
373
373
  ---
374
374
 
375
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
375
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -180,4 +180,4 @@ to review the impact. See `slm-remember` for the full deletion discipline.
180
180
 
181
181
  ---
182
182
 
183
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
183
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -288,4 +288,4 @@ answered. To also surface shared or global facts, call `recall` with
288
288
 
289
289
  ---
290
290
 
291
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
291
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -228,4 +228,4 @@ the memory-engine upgrade is pending.
228
228
 
229
229
  ---
230
230
 
231
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
231
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superlocalmemory",
3
- "version": "4.2.0",
3
+ "version": "4.2.3",
4
4
  "description": "The governed memory brain for AI agents: one local memory for Claude Code, Codex, Cursor, Copilot, ChatGPT and any MCP client. Honest recall, documents and pictures, roles, audit and GDPR erasure.",
5
5
  "keywords": [
6
6
  "agent-memory",
@@ -15,5 +15,5 @@
15
15
  "mcpServers": "./.mcp.json",
16
16
  "name": "superlocalmemory",
17
17
  "repository": "https://github.com/qualixar/superlocalmemory",
18
- "version": "4.2.0"
18
+ "version": "4.2.3"
19
19
  }
@@ -20,5 +20,5 @@
20
20
  "name": "superlocalmemory",
21
21
  "repository": "https://github.com/qualixar/superlocalmemory",
22
22
  "skills": "./cursor-skills/",
23
- "version": "4.2.0"
23
+ "version": "4.2.3"
24
24
  }
package/plugin/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- <!-- BEGIN SuperLocalMemory v4.2.0 -->
1
+ <!-- BEGIN SuperLocalMemory v4.2.3 -->
2
2
 
3
3
  ## SuperLocalMemory (SLM) — Agent Rules
4
4
 
@@ -51,6 +51,6 @@ slm-recall · slm-remember · slm-session · slm-status · slm-cache · slm-comp
51
51
  ### Subagents
52
52
  slm-memory-advisor (memory decisions, session hygiene, scope/profile guidance) · slm-optimize-advisor (context compression + KV cache) · slm-governance-advisor (scope/roles/compliance/GDPR) · slm-loop-runner (bounded, gate-verified loops)
53
53
 
54
- <!-- END SuperLocalMemory v4.2.0 -->
54
+ <!-- END SuperLocalMemory v4.2.3 -->
55
55
 
56
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
56
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -81,4 +81,4 @@ slm-scope · slm-governance · slm-profile · slm-remember · slm-recall · slm-
81
81
  # What NOT to do
82
82
  Never session_init twice; never forget without dry-run preview; never run `slm gdpr erase --yes` unasked; never store secrets; never bypass role checks; never claim an erasure succeeded without verifying via recall.
83
83
 
84
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
84
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -79,4 +79,4 @@ assessment. The gate is the authority.
79
79
 
80
80
  ---
81
81
 
82
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
82
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -51,4 +51,4 @@ slm-recall · slm-remember · slm-session · slm-scope · slm-profile · slm-gov
51
51
  # What NOT to do
52
52
  Never session_init twice; never forget dry_run=False without reporting preview; never switch the active profile unasked; 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.
53
53
 
54
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
54
+ SuperLocalMemory v4.2.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 hand a ccr_id to another agent.
43
43
 
44
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -178,4 +178,4 @@ store every local bot on that computer can reach.
178
178
 
179
179
  ---
180
180
 
181
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
181
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -194,4 +194,4 @@ quality on a shared box.
194
194
 
195
195
  ---
196
196
 
197
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
197
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -515,4 +515,4 @@ See `slm-profile`.
515
515
 
516
516
  ---
517
517
 
518
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
518
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -372,4 +372,4 @@ sessions on this machine, so use it only when the user asks to move. See
372
372
 
373
373
  ---
374
374
 
375
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
375
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -180,4 +180,4 @@ to review the impact. See `slm-remember` for the full deletion discipline.
180
180
 
181
181
  ---
182
182
 
183
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
183
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -288,4 +288,4 @@ answered. To also surface shared or global facts, call `recall` with
288
288
 
289
289
  ---
290
290
 
291
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
291
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -3,7 +3,7 @@
3
3
  "superlocalmemory": {
4
4
  "args": [
5
5
  "--from",
6
- "superlocalmemory==4.2.0",
6
+ "superlocalmemory==4.2.3",
7
7
  "slm",
8
8
  "mcp"
9
9
  ],
@@ -1 +1 @@
1
- superlocalmemory==4.2.0
1
+ superlocalmemory==4.2.3
@@ -178,4 +178,4 @@ store every local bot on that computer can reach.
178
178
 
179
179
  ---
180
180
 
181
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
181
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -144,4 +144,4 @@ These subcommands control daemon-level cache settings and bulk removal. They do
144
144
 
145
145
  ---
146
146
 
147
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
147
+ SuperLocalMemory v4.2.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 v4.2.0 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -194,4 +194,4 @@ quality on a shared box.
194
194
 
195
195
  ---
196
196
 
197
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
197
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -274,4 +274,4 @@ Before running any destructive or state-changing operation (`forget`,
274
274
 
275
275
  ---
276
276
 
277
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
277
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -324,4 +324,4 @@ All are host-only: a remote caller cannot use them.
324
324
 
325
325
  ---
326
326
 
327
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
327
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: slm-loop
3
- description: Gate-verified bounded loops with SuperLocalMemory as the durable ledger. Use when a task has a checkable acceptance condition and you must iterate until an INDEPENDENT gate passes — never stopping because the agent believes it is done. `slm_loop_run` (MCP) waits, under hard bounds, for a recall gate to pass; `slm loop demo` shows the control flow keyless; `slm loop history` and `slm loop show <run_id>` (or `slm_loop_history` / `slm_loop_show`) inspect past runs, whose every lap is stored as queryable SLM memory (tag `loop:<name>`). Terminal statuses are DONE / HALT / PAUSE / KILLED / ERROR — report them exactly, never converting HALT/PAUSE/ERROR into success.
3
+ description: Gate-verified bounded loops with SuperLocalMemory as the durable ledger. Use when a task has a checkable acceptance condition and you must iterate until an INDEPENDENT gate passes — never stopping because the agent believes it is done. `slm_loop_run` (MCP) waits, under hard bounds, for an independently executed check registered by the operator to pass; `slm loop demo` shows the control flow keyless; `slm loop history` and `slm loop show <run_id>` (or `slm_loop_history` / `slm_loop_show`) inspect past runs, whose every lap is stored as queryable SLM memory (tag `loop:<name>`). Terminal statuses are DONE / HALT / PAUSE / KILLED / ERROR — report them exactly, never converting HALT/PAUSE/ERROR into success.
4
4
  when_to_use: "run a bounded loop, gate-verified task, iterate until tests pass, verify against an independent gate, don't trust the agent's own done claim, slm loop, convergence loop, loop until green, loop ledger, wait for another agent's result"
5
5
  allowed-tools: slm_loop_run, slm_loop_history, slm_loop_show, recall, report_outcome, get_soft_prompts, skill_health, skill_lineage, evolve_skill, observe_bounded_loop_evidence, Bash
6
6
  ---
@@ -26,7 +26,7 @@ subprocess or sandbox machinery. What each surface gives you:
26
26
 
27
27
  | Surface | What it does |
28
28
  |---|---|
29
- | `slm_loop_run` (MCP) | A *watcher*: each lap is a recall of `gate_query`; the loop ends when a confident match appears, or a bound trips. Use it to wait for a verification or coordination memory another agent will write (for example "build passed"). |
29
+ | `slm_loop_run` (MCP) | A *watcher* for a registered check. DONE needs `gate_contract={"job_id": ...}`: a job the operator registered with `superlocalmemory.loops.receipt_jobs.register_job` and executed with `run_registered_check`. Each lap's recall of `gate_query` only locates context; a matching memory alone never passes. Without a registered job the run ends HALT ("operator-registered job_id required"), which is the correct, honest outcome. |
30
30
  | `slm loop demo` (CLI) | A keyless convergence demo: a stub proposer, a deterministic gate that passes on lap 3, every lap recorded. Proves the engine and ledger work end to end. |
31
31
  | `slm loop history`, `slm loop show` / `slm_loop_history`, `slm_loop_show` | Read the ledger of past runs. |
32
32
  | `superlocalmemory.loops.run_bounded_loop` (Python) | The engine itself, for code that supplies its own runner and gate callables. |
@@ -62,6 +62,7 @@ slm_loop_run(
62
62
  max_tokens: int = 0, # optional token budget; 0 disables
63
63
  no_progress_window: int = 0, # halt after N no-change laps; leave 0 for a watcher
64
64
  require_support: bool = False,# pass only if the answer check ran and judged it sufficient
65
+ gate_contract: dict | None = None, # {"job_id": <operator registration>}; required for DONE
65
66
  )
66
67
  ```
67
68
 
@@ -170,4 +171,4 @@ Guides: `docs/skill-evolution.md`, `docs/bounded-loops-bridge.md`.
170
171
 
171
172
  ---
172
173
 
173
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
174
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -245,7 +245,7 @@ Rules for reading them:
245
245
  personal data. Folders connected with `slm sources` are never shown to web
246
246
  apps. A web app cannot change, delete, pin or replace a memory it is not
247
247
  allowed to see: it is answered as if that memory did not exist.
248
- - Pictures saved before 4.2.0 are re-checked in the background and become
248
+ - Pictures saved before picture search arrived are re-checked in the background and become
249
249
  visible to web apps once their text is clean. They stay fully searchable on
250
250
  this computer.
251
251
 
@@ -315,8 +315,14 @@ Settings) re-reads existing memories with the same on-device model that reads
315
315
  pictures, so text and pictures share one search space. It runs in the
316
316
  background, recall keeps working, the previous engine's data stays until the
317
317
  owner frees it (`slm embedder forget-previous`), and `slm embedder rollback`
318
- goes back. It is opt-in and never starts on its own. If it cannot run, the
319
- command prints the reason. Offer it; do not run it unasked.
318
+ goes back. If it cannot run, the command prints the reason.
319
+
320
+ It is not available for text yet: recall's answer check is not calibrated for
321
+ EmbeddingGemma 2 (the best fit so far answered questions that have no answer),
322
+ so the command refuses with that reason. Do not offer it, and never pass `--force` for the user.
323
+ If `slm doctor` reports "Answer check fit" as a warning, the user's text already
324
+ moved in an earlier version: tell them `slm embedder rollback` goes back in
325
+ minutes (previous vectors are kept) and let them decide.
320
326
 
321
327
  ---
322
328
 
@@ -331,4 +337,4 @@ command prints the reason. Offer it; do not run it unasked.
331
337
 
332
338
  ---
333
339
 
334
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
340
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -386,4 +386,4 @@ mesh availability.
386
386
 
387
387
  ---
388
388
 
389
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
389
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -161,4 +161,4 @@ anything but `core` or `mesh`.
161
161
 
162
162
  ---
163
163
 
164
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
164
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -515,4 +515,4 @@ See `slm-profile`.
515
515
 
516
516
  ---
517
517
 
518
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
518
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -372,4 +372,4 @@ sessions on this machine, so use it only when the user asks to move. See
372
372
 
373
373
  ---
374
374
 
375
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
375
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -180,4 +180,4 @@ to review the impact. See `slm-remember` for the full deletion discipline.
180
180
 
181
181
  ---
182
182
 
183
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
183
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -288,4 +288,4 @@ answered. To also surface shared or global facts, call `recall` with
288
288
 
289
289
  ---
290
290
 
291
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
291
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -228,4 +228,4 @@ the memory-engine upgrade is pending.
228
228
 
229
229
  ---
230
230
 
231
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
231
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -81,4 +81,4 @@ slm-scope · slm-governance · slm-profile · slm-remember · slm-recall · slm-
81
81
  # What NOT to do
82
82
  Never session_init twice; never forget without dry-run preview; never run `slm gdpr erase --yes` unasked; never store secrets; never bypass role checks; never claim an erasure succeeded without verifying via recall.
83
83
 
84
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
84
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -79,4 +79,4 @@ assessment. The gate is the authority.
79
79
 
80
80
  ---
81
81
 
82
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
82
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -51,4 +51,4 @@ slm-recall · slm-remember · slm-session · slm-scope · slm-profile · slm-gov
51
51
  # What NOT to do
52
52
  Never session_init twice; never forget dry_run=False without reporting preview; never switch the active profile unasked; 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.
53
53
 
54
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
54
+ SuperLocalMemory v4.2.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 hand a ccr_id to another agent.
43
43
 
44
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
44
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -187,4 +187,4 @@ Using this memory from a web assistant or another computer: see the slm-web-acce
187
187
  - **slm-governance-advisor** — scope/role compliance, retention and lifecycle, GDPR
188
188
  - **slm-loop-runner** — bounded, gate-verified loops (the `/slm-loop` command delegates to it)
189
189
 
190
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
190
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -1,4 +1,4 @@
1
- <!-- BEGIN SuperLocalMemory v4.2.0 -->
1
+ <!-- BEGIN SuperLocalMemory v4.2.3 -->
2
2
 
3
3
  ## SuperLocalMemory (SLM) — Agent Rules
4
4
 
@@ -51,6 +51,6 @@ slm-recall · slm-remember · slm-session · slm-status · slm-cache · slm-comp
51
51
  ### Subagents
52
52
  slm-memory-advisor (memory decisions, session hygiene, scope/profile guidance) · slm-optimize-advisor (context compression + KV cache) · slm-governance-advisor (scope/roles/compliance/GDPR) · slm-loop-runner (bounded, gate-verified loops)
53
53
 
54
- <!-- END SuperLocalMemory v4.2.0 -->
54
+ <!-- END SuperLocalMemory v4.2.3 -->
55
55
 
56
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
56
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -178,4 +178,4 @@ store every local bot on that computer can reach.
178
178
 
179
179
  ---
180
180
 
181
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
181
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -144,4 +144,4 @@ These subcommands control daemon-level cache settings and bulk removal. They do
144
144
 
145
145
  ---
146
146
 
147
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
147
+ SuperLocalMemory v4.2.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 v4.2.0 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -194,4 +194,4 @@ quality on a shared box.
194
194
 
195
195
  ---
196
196
 
197
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
197
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -274,4 +274,4 @@ Before running any destructive or state-changing operation (`forget`,
274
274
 
275
275
  ---
276
276
 
277
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
277
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -324,4 +324,4 @@ All are host-only: a remote caller cannot use them.
324
324
 
325
325
  ---
326
326
 
327
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
327
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: slm-loop
3
- description: Gate-verified bounded loops with SuperLocalMemory as the durable ledger. Use when a task has a checkable acceptance condition and you must iterate until an INDEPENDENT gate passes — never stopping because the agent believes it is done. `slm_loop_run` (MCP) waits, under hard bounds, for a recall gate to pass; `slm loop demo` shows the control flow keyless; `slm loop history` and `slm loop show <run_id>` (or `slm_loop_history` / `slm_loop_show`) inspect past runs, whose every lap is stored as queryable SLM memory (tag `loop:<name>`). Terminal statuses are DONE / HALT / PAUSE / KILLED / ERROR — report them exactly, never converting HALT/PAUSE/ERROR into success.
3
+ description: Gate-verified bounded loops with SuperLocalMemory as the durable ledger. Use when a task has a checkable acceptance condition and you must iterate until an INDEPENDENT gate passes — never stopping because the agent believes it is done. `slm_loop_run` (MCP) waits, under hard bounds, for an independently executed check registered by the operator to pass; `slm loop demo` shows the control flow keyless; `slm loop history` and `slm loop show <run_id>` (or `slm_loop_history` / `slm_loop_show`) inspect past runs, whose every lap is stored as queryable SLM memory (tag `loop:<name>`). Terminal statuses are DONE / HALT / PAUSE / KILLED / ERROR — report them exactly, never converting HALT/PAUSE/ERROR into success.
4
4
  when_to_use: "run a bounded loop, gate-verified task, iterate until tests pass, verify against an independent gate, don't trust the agent's own done claim, slm loop, convergence loop, loop until green, loop ledger, wait for another agent's result"
5
5
  allowed-tools: slm_loop_run, slm_loop_history, slm_loop_show, recall, report_outcome, get_soft_prompts, skill_health, skill_lineage, evolve_skill, observe_bounded_loop_evidence, Bash
6
6
  ---
@@ -26,7 +26,7 @@ subprocess or sandbox machinery. What each surface gives you:
26
26
 
27
27
  | Surface | What it does |
28
28
  |---|---|
29
- | `slm_loop_run` (MCP) | A *watcher*: each lap is a recall of `gate_query`; the loop ends when a confident match appears, or a bound trips. Use it to wait for a verification or coordination memory another agent will write (for example "build passed"). |
29
+ | `slm_loop_run` (MCP) | A *watcher* for a registered check. DONE needs `gate_contract={"job_id": ...}`: a job the operator registered with `superlocalmemory.loops.receipt_jobs.register_job` and executed with `run_registered_check`. Each lap's recall of `gate_query` only locates context; a matching memory alone never passes. Without a registered job the run ends HALT ("operator-registered job_id required"), which is the correct, honest outcome. |
30
30
  | `slm loop demo` (CLI) | A keyless convergence demo: a stub proposer, a deterministic gate that passes on lap 3, every lap recorded. Proves the engine and ledger work end to end. |
31
31
  | `slm loop history`, `slm loop show` / `slm_loop_history`, `slm_loop_show` | Read the ledger of past runs. |
32
32
  | `superlocalmemory.loops.run_bounded_loop` (Python) | The engine itself, for code that supplies its own runner and gate callables. |
@@ -62,6 +62,7 @@ slm_loop_run(
62
62
  max_tokens: int = 0, # optional token budget; 0 disables
63
63
  no_progress_window: int = 0, # halt after N no-change laps; leave 0 for a watcher
64
64
  require_support: bool = False,# pass only if the answer check ran and judged it sufficient
65
+ gate_contract: dict | None = None, # {"job_id": <operator registration>}; required for DONE
65
66
  )
66
67
  ```
67
68
 
@@ -170,4 +171,4 @@ Guides: `docs/skill-evolution.md`, `docs/bounded-loops-bridge.md`.
170
171
 
171
172
  ---
172
173
 
173
- SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later
174
+ SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later
@@ -245,7 +245,7 @@ Rules for reading them:
245
245
  personal data. Folders connected with `slm sources` are never shown to web
246
246
  apps. A web app cannot change, delete, pin or replace a memory it is not
247
247
  allowed to see: it is answered as if that memory did not exist.
248
- - Pictures saved before 4.2.0 are re-checked in the background and become
248
+ - Pictures saved before picture search arrived are re-checked in the background and become
249
249
  visible to web apps once their text is clean. They stay fully searchable on
250
250
  this computer.
251
251
 
@@ -315,8 +315,14 @@ Settings) re-reads existing memories with the same on-device model that reads
315
315
  pictures, so text and pictures share one search space. It runs in the
316
316
  background, recall keeps working, the previous engine's data stays until the
317
317
  owner frees it (`slm embedder forget-previous`), and `slm embedder rollback`
318
- goes back. It is opt-in and never starts on its own. If it cannot run, the
319
- command prints the reason. Offer it; do not run it unasked.
318
+ goes back. If it cannot run, the command prints the reason.
319
+
320
+ It is not available for text yet: recall's answer check is not calibrated for
321
+ EmbeddingGemma 2 (the best fit so far answered questions that have no answer),
322
+ so the command refuses with that reason. Do not offer it, and never pass `--force` for the user.
323
+ If `slm doctor` reports "Answer check fit" as a warning, the user's text already
324
+ moved in an earlier version: tell them `slm embedder rollback` goes back in
325
+ minutes (previous vectors are kept) and let them decide.
320
326
 
321
327
  ---
322
328
 
@@ -331,4 +337,4 @@ command prints the reason. Offer it; do not run it unasked.
331
337
 
332
338
  ---
333
339
 
334
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
340
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*
@@ -386,4 +386,4 @@ mesh availability.
386
386
 
387
387
  ---
388
388
 
389
- *SuperLocalMemory v4.2.0 · Qualixar · AGPL-3.0-or-later*
389
+ *SuperLocalMemory v4.2.3 · Qualixar · AGPL-3.0-or-later*