Files
boxmaker/docs/plans/M5a/files/runbook-memory-unavailable.md
kyleandClaude Opus 5.5 de1032157b Plan M5a: local memory in 15 tasks
memoryd (files, the check, edits, journal, index, recall, serving),
the memory tools and built-in grants in brokerd, the memory block in
loopd, bxctl reindex and memory, and the device checks with memoryd.

Each task was built as a reference and gated. Each was replayed on its
own at its end state (854 to 936 tests) and mutation-checked. Each
skeleton compiles and fails its tests. Every todo comment was read
beside its signature.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 15:32:54 -07:00

1.1 KiB

memory-unavailable

What you see. Starting a new session fails with a line naming memoryd or a file under memory/, and this entry. Existing sessions still work: they use the baseline saved when they started.

Why. A new session's baseline takes the memory block from memoryd (soul.md, memory.md, user.md), and loopd could not get it: memoryd is not running or not listening at <home>/run/loop-memory/memory.sock (or [memory] socket in loopd.toml), or it refused because a file is unreadable or over its limit (soul.md 4,000 characters, memory.md 2,200, user.md 1,375; an owner's edit can put it over). Starting without the memory the agent is, and without telling you, is what this prevents.

Confirm. pgrep -x memoryd; the line names the file or the socket. For a file, wc -m <home>/memory/<file>.

Fix. Start memoryd serve --config <path>, or shorten the file (for memory.md and user.md, move entries to notes.md by hand: an entry under a line § moved <time> from memory.md in session owner).

Check. Start a new conversation; it answers.