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

21 lines
1.1 KiB
Markdown

## 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`.