kyle and ornith-1.5-35b-a3b
fb2afa1979
bxctl memory sync: the Honcho ledger's counts and failed items
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 13:22:26 -07:00
kyle and ornith-1.5-35b-a3b
fb05b26462
memoryd: the Honcho worker sends conclusions, their deletions and fleet notes
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 13:11:51 -07:00
kyle and ornith-1.5-35b-a3b
4ebfc36c1a
memoryd: memory writes decided into the Honcho ledger as they are journalled
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 12:46:18 -07:00
kyle and ornith-1.5-35b-a3b
b37eaef390
memoryd: the Honcho worker sends decided turns, waits out outages, retries undecided turns
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 12:30:49 -07:00
kyle and ornith-1.5-35b-a3b
aabfbc2f0a
memoryd: a Honcho client per workspace, and its workspace, peers and sessions made sure of
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 12:13:48 -07:00
kyle and ornith-1.5-35b-a3b
28df2a0e3b
memoryd: a reported turn decided after loopd has its answer, from brokerd and the log
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 11:59:34 -07:00
kyle and ornith-1.5-35b-a3b
a339eb58b6
memoryd: where a finished turn goes in Honcho, decided from brokerd and the log
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 11:41:38 -07:00
kyle and ornith-1.5-35b-a3b
8aaeb74f36
memoryd: the Honcho ledger, decided, sent and failed, read through at start
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 11:33:49 -07:00
kyle and ornith-1.5-35b-a3b
129a9eadc3
memoryd: [honcho] and its keys checked at start, and brokerd's state socket
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 11:20:10 -07:00
kyle and ornith-1.5-35b-a3b
9b4e9807b2
brokerd: state.sock answers memoryd's question about a session's state
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 11:05:42 -07:00
kyle and ornith-1.5-35b-a3b
5199bd7149
bxctl: chat --speaker NAME, the speaker on every turn of the chat
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 10:57:11 -07:00
kyle and ornith-1.5-35b-a3b
fae12c3fe2
gatewayd: a turn's speaker, the username of the one person who wrote its burst
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 10:51:17 -07:00
kyle and ornith-1.5-35b-a3b
4866353ac9
loopd: a turn's speaker in the log, its number in SessionUpdated
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 10:33:36 -07:00
kyle and ornith-1.5-35b-a3b
c798714af1
bxcore: a turn's speaker, SessionUpdated's turn, the session-state messages
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-28 10:27:28 -07:00
kyle and Claude Opus 5.5
027146f359
M5c-1 plan: README, tasks 07 to 15, the owner's decisions, the known flaky test; M5b finding 8 closed
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-28 10:00:59 -07:00
kyle and Claude Opus 5.5
d423d87115
docs: the M5b device check, passed on straylight
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-27 19:08:42 -07:00
kyle and Claude Opus 5.5
6f243ad779
docs: M5b review finding 10, the tag check against inferproxy; tip T49
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-27 19:08:42 -07:00
kyle and Claude Opus 5.5
1fb0ec8a06
docs: the M5b review, and tips T45 to T48
...
The review of tasks 01 to 14 in the implementer log (task 14's row
renamed to its file's name), and four tips for writing tasks: what to
do with a skeleton's comments, golden files for scanners, naming the
log row, and running the implementer without plugins.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
27a6354a80
docs: runbook: sanitizer-rules, how to change a sanitizer rule
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
7cbc1d7342
brokerd, memoryd, gatewayd: a lock file keeps each to one instance
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
fd0437a032
bxcore, loopd, inferproxy: a lock file keeps each to one instance
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
54f102bbe1
bxctl: sanitize check shows which sanitizer rules a text breaks
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
648469cd67
gatewayd: images, and links in untrusted replies, are posted as code
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
0d3048c3c4
bxcore, loopd: TurnDone says whether the session has read untrusted content
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
91992b9743
loopd: the self-test checks the model's tags against the tokenizer
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
b4d631e249
loopd: neutralise user messages, tool results and the memory block
...
Text from outside the model (the user's message, every tool result, and the
memory block) is neutralised the moment it is first logged, so every later
request replays the same bytes and a tag in that text cannot reach the model as
one of its own control tokens. The model's own output, replay, and the system
prompt are left byte-for-byte.
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
ca8b50cd69
memoryd: refuse and flag memory writes through bxcore::sanitize
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
b3e9af7586
bxcore: sanitize::flag, text shaped like an attack
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
41d425f73e
bxcore: sanitize::refuse, what a memory write may never hold
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
1817e7f117
bxcore: the model's tags and sanitize::neutralise
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
f594e0d9d4
bxcore, gatewayd, loopd: the secret store moves to bxcore::secrets
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and ornith-1.5-35b-a3b
de60c9e13a
bxcore, brokerd, loopd: an invalid-arguments denial says why
...
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev >
2026-09-27 19:08:42 -07:00
kyle and Claude Opus 5.5
e41a204902
M5a review: tasks 01 to 22 and the device check; tips I16, I17, T34 to T40
...
Two review entries in the implementer log: tasks 01 to 15 (the header
forgery, review ids, the runbook entries, log rows written from memory)
and tasks 16 to 22 with the device check on straylight (the ledger
raising state by the grant's label, the note answers, the stale target/
that stalled task 21, the clippy 1.95 stop, the fake podman race). Two
short rules go into AGENTS.md: stop after one check when a test outside
the task fails, and write the log row from the diff.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-25 21:04:23 -07:00
kyle
e963ef72bb
memoryd: note answers name notes.md and the file that was not changed
2026-09-25 20:32:29 -07:00
kyle and Claude Opus 5.5
7b95937c88
brokerd: the ledger raises a session's state by the stricter label
...
M5a task 21. The work is Ornith's, from the stopped run; the design
model checked it against the task file and committed it after finding
that the gate's failure came from its own reference worktree's stale
test binaries in the shared target/ (fixed with cargo clean; 944 tests).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-25 20:20:48 -07:00
kyle
34dbbb27be
memoryd: a staged write's id counts every write staged that day
2026-09-25 16:41:44 -07:00
kyle
81107bc5c6
proto, memoryd: no line of an entry may start with §, and headers are exact
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
3640d32de0
memoryd, proto, brokerd, bxctl: repeated error lines written once
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
b98f373ead
memoryd: the day and the month of a time with get, never a slice
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle and Claude Opus 5.5
7d5c5a8d85
gate: pass on macOS: tests use /tmp, gatewayd finds its uid without /proc
...
M5a task 16. The work is Ornith's, from the stopped run; the design
model checked it against the task file and committed it once the
memoryd lint that stopped the gate was fixed (44bdcbd).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-25 16:41:44 -07:00
kyle
e763ad715e
log: M5a/16-macos-gate stopped on a pre-existing memoryd clippy failure
...
The three task changes (.cargo/config.toml, copied toolkit shell test, and the three read_checked edits in gatewayd/secrets.rs) are done and all gatewayd/toolkit/brokerd tests pass. make gate does not reach them: it fails to compile memoryd on clippy collapsible_match at crates/memoryd/src/index.rs:224, which fails identically on the original committed code and is outside this task's scope. Per AGENTS.md point 4, committed only this log row.
2026-09-25 16:41:44 -07:00
kyle and Claude Opus 5.5
fb65206a6c
Implementer log: the Model column filled in as Ornith-1.5-35B-A3B
...
Every row from M2a to M5a that read ? or Ornith, from the reviews' own
records of who ran each milestone. The DEBUG-HANDOFF row stays ? : no record
says which model it was.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-25 16:41:44 -07:00
kyle and Claude Opus 5.5
6f093fcd8e
M5a task 15: the starter soul and device checks with memoryd, finished
...
The session did the task and stopped on make verify-device. The cause
was not the server: run-plan.sh and the device tests both read
BOXMAKER_MODEL, and the run's value (OpenCode's provider-prefixed id)
reached llama-server as the model name. With it unset, verify-device
passes 6 of 6. The copied files are identical to the plan's, and the
gate prints gate: ok, 936 tests.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-25 16:41:44 -07:00
kyle
9f57cfc381
M5a: the starter soul.md, and the device checks with memoryd running
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
0a1c206d50
bxctl: reindex, and memory log, undo, pending, accept, reject
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
15ee4b8e3d
loopd: the memory block from memoryd, recall and memory as core tools
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
e167fc871b
brokerd: memory calls to memoryd with the session's state; labels only stricter
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
fcfd590687
brokerd: recall and memory, decided under built-in grants
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
0c8d136c6b
memoryd: serve, three sockets and one lock over the files and the index
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
49af057c81
memoryd: recall, with source tags and the recall log
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00