Skip to content

SuperLocalMemory 4.0.7 — Reachable

Choose a tag to compare

@varun369 varun369 released this 17 Aug 16:44
· 141 commits to main since this release
Immutable release. Only release title and notes can be modified.

Everything here was already built. None of it could be used.

slm summary — a readable layer over your memories

slm summary day                 # what you recorded today (also: yesterday, or a date)
slm summary project             # what was worked on, for a directory
slm summary session <id>        # what one session covered

Requested in #113. The generators shipped in 4.0.6 with no command, tool or endpoint to call them — this is that missing surface.

Every summary states how much of the underlying data it could actually see, and --json lists the exact memories it was built from. Session data is sparse — roughly 4% of facts carry a session id — so a session summary reports that rather than presenting a fraction as the whole. No language model required, so these work in the fully offline mode.

Memories link to the code they mention

A memory that names a function, method or file is now connected to it in the code graph, with a short description of what it points at and a marker once that code has changed. Expanding a memory in the dashboard shows this; nothing appears if you have no code graph.

The bridge behind this had never run. Four things were missing at once: setup wrote a bridge_enabled flag no code read, the code-graph build discarded it, the code-graph settings had no loader at all, and the method the bridge was written against was an unimplemented placeholder. Enabling the code graph during setup left the flag on disk and the feature inert, with nothing to indicate it.

Linking runs during background maintenance, never when a memory is saved, and needs no language model — so it works in every mode including the offline one.

Fixed

Version numbers disagreed across the project. 4.0.6 shipped with the pip requirement pins, the npm lockfile, the editor plugin manifest, the citation metadata and the lockfile all still reading 4.0.5, and the agent rule footers reading 4.0.4. Installing from requirements.txt fetched the wrong release. One script now sets all fifteen, with a --check mode.

Stale-memory checks reported "nothing is stale" when the feature was off. They answer entirely from code links, so with linking disabled they returned an empty list — the most reassuring possible answer, from something that never ran. They now say so, and the remediation message names a setting that exists.

slm gdpr was missing from slm help, having shipped in 4.0.6. The drift guard that should have caught it read only one file.

Consolidation could create a database file named after a bad argument instead of refusing it.

Tests that had stopped testing anything

Three shipped features had no effective coverage, and the checks that were supposed to protect them had been passing or timing out for releases:

  • The semantic index cap test performed 10,001 sequential writes and timed out in every full-suite run, including 4.0.6 — it never once verified the cap. Now three seconds.
  • Ten event-time filter tests compared empty results, because their fixtures predated the 4.0.2 correction-admission check and every recall abstained.
  • A prompt-hook stub took two arguments while the hook passes three, so it raised during argument binding and the path under test never ran.
  • One Brain-pane test asserted properties of a UI file retired in 4.0.6.
  • The latency gate reported machine load as a code regression; it now checks load before blaming the code.

pip install --upgrade superlocalmemory

Full changelog: https://github.com/qualixar/superlocalmemory/blob/main/CHANGELOG.md
Compare: v4.0.6...v4.0.7