Skip to content

v3.0.3

Choose a tag to compare

@acidkill acidkill released this 02 Aug 22:55
· 114 commits to main since this release
ac20df4

Fixed

smem watch crashed on every backend (fixes #138). WatchStateTracker
reached into a private SQLiteStorage attribute (storage._db, a raw
aiosqlite.Connection) at five call sites. No other backend — including
SurrealDB, the only production backend since v2.0.0 — ever had that
attribute, so every entry point (the MCP smem_watch tool, smem watch, and
the server's background reindex loop) raised AttributeError.

File-watch state now lives behind the storage interface (a new watch_state
table on SurrealDB, matching in-memory support for tests), implemented the
same way pinning and training-file tracking already are. A second,
previously-masked bug on the same path — a call to a storage method that
never existed on any backend — is fixed too.

smem index walked the same repository up to 24 times over when run
from a directory containing Claude Code's .claude/worktrees/ (one full
nested checkout per agent session). Excluded .claude alongside .git,
.venv, and node_modules.

Upgrade

pipx upgrade surreal-memory

No config or data migration needed.