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>
22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
## 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.
|