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>
21 lines
1.1 KiB
Markdown
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`.
|