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>
2.3 KiB
2.3 KiB
M5a task 15: the starter soul, and the device checks with memoryd
Branch: m5a (run git switch m5a; git status --short must be empty, otherwise stop)
Commit subject: M5a: the starter soul.md, and the device checks with memoryd running
Goal
config/soul.md, the generic starter personamemorydcopies tomemory/soul.mdthe first time (M5a spec, section 3). The owner rewrites it.make verify-devicerunsmemorydbesideloopd serve(which starts no session without it since task 13), and the baseline check now measures the baseline with memory: the starter soul with empty files, and every file at its limit. Both must stay at 3,000 tokens or less. Measured on the reference: 881 and 2,432.
This is the only task that needs straylight.
Files
- Copy:
config/soul.md,crates/loopd/tests/support/memoryd.rs, and a new version of the givencrates/loopd/tests/device.rs - Modify:
Makefile,docs/implementer-log.md
The edit, exactly
Makefile, in verify-device: after the line
BOXMAKER_INFERPROXY=$(CURDIR)/target/debug/inferproxy BOXMAKER_BXCTL=$(CURDIR)/target/debug/bxctl \
add the line (a tab first, as in the lines around it)
BOXMAKER_MEMORYD=$(CURDIR)/target/debug/memoryd \
Steps
- 1. Copy the three files; edit the
Makefile. - 2. Run the gate.
make gate:gate: ok(the device tests are ignored there; the count is unchanged, about 936). - 3. Check the server is free.
curl -s "http://straylight:11434/slots?model=ornith-1.5-35b-a3b": slot 0 must show"is_processing":false. If it is busy, wait a minute and look again; if it is still busy after ten minutes, stop and report. - 4. Run the device checks.
make verify-device. Expected:6 passed, thenverify-device: ok.the_baseline_fits_the_token_budgetfails with the number of tokens if either baseline is over 3,000. - 5. Log and commit.
git add -A config/soul.md crates/loopd Makefile docs/implementer-log.md Cargo.lock && git commit
This is the last task of M5a. Stop after the commit.
Done when
make gateprintsgate: okandmake verify-deviceprintsverify-device: ok.
Stop and report if
- straylight cannot be reached, or
make verify-devicefails. Report its output; do not change a test or the soul to make it pass.