Files
boxmaker/docs/plans/M5a/files/runbook-memoryd-start-failed.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

memoryd-start-failed

What you see. memoryd exits 1 at start with one line naming its config file, a directory, a file under memory/, the index, or a socket, then this entry.

Why. memoryd could not read or parse memoryd.toml (unknown keys are errors), could not read the starter soul.md when memory/soul.md was missing, could not create or open memory/ or index/memory.sqlite3, or could not listen on one of its three sockets (their directories are made 0700 and the sockets 0600, as brokerd's are; a path of 108 bytes or more cannot be a socket). It will not start without the memory it owns.

Confirm. The line names the path. For the file, check it against docs/specs/2026-09-24-m5a-local-memory.md, section 11. For a directory, ls -ld <dir> "$(dirname <dir>)". Address already in use means another memoryd runs: pgrep -x memoryd.

Fix. Correct the file, the path or the ownership. The index is disposable: if it is damaged, move it aside and start memoryd, which rebuilds it (see memory-index-damaged).

Check. memoryd serve --config <path> prints memoryd: serving.