Skip to content

v0.1.15 — Safe cross-process writes (busy_timeout)

Choose a tag to compare

@SurajKGoyal SurajKGoyal released this 28 May 14:03
· 23 commits to main since this release

Adds PRAGMA busy_timeout=5000 to the SQLite knowledge store.

WAL mode already handled concurrent reads, and a per-process lock serialized writes within a process. But two processes pointed at the same knowledge file (e.g. Claude's MCP server + Cursor's, both annotating) could hit SQLITE_BUSY on simultaneous writes — the second writer failed immediately instead of waiting.

With busy_timeout, a contending writer now queues up to 5s for the lock to clear. Combined with amnesic's tiny, infrequent annotation writes, this fully covers the multi-client / multi-agent shared-store case.

Surfaced by a question from another agent-memory builder on the launch thread — exactly the scenario it protects.