kyle
b1c9d590c8
memoryd: the edit journal, undo of the latest edit, and review
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
b51b320706
memoryd: notes.md, and the five memory actions with routing by trust
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
f5981338b4
memoryd: the memory files, and the block a new session starts with
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
ad5ce5c6e7
memoryd: entries, and the check on every memory write
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
b84b9af540
memoryd: the crate, memoryd.toml, and listening on a socket
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:44 -07:00
kyle
964bd99b12
proto: memory, the arguments of recall and memory and eight message kinds
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:35 -07:00
kyle
861ff7d06a
brokerd: policy and ledger as modules, before the memory tools
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-25 16:41:35 -07:00
kyle and Claude Opus 5.5
ddb459a631
M4b: the redirect checked on the owner's server; finding 1 closed
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-24 12:29:02 -07:00
kyle and Claude Opus 5.5
bfbdccb99d
M4b review of tasks 16 to 18; tip T32
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-24 12:22:24 -07:00
kyle
e10d93c3e8
gatewayd: approvals asked by non-approvers in direct messages go to an approver
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 12:07:06 -07:00
kyle
989548419d
gatewayd: the texts that say who asked for a redirected approval
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 11:51:43 -07:00
kyle
bf89512832
brokerd: the refusal without a runner names the missing [runner] section
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 11:48:49 -07:00
kyle and Claude Opus 5.5
f6dd7f1741
M4b review, and follow-up tasks 16 to 18
...
The review of tasks 01 to 15 goes in the implementer log, with the
device check against the owner's Mattermost. Three follow-ups:
- 16: the refusal without a runner says why.
- 17: the texts that say who asked.
- 18: approvals from non-approvers in direct or group messages go to
an approver.
Task 14's given serve_approvals.rs becomes serve_approvals.rs-task14,
since task 18 hands over a new version. Tip T31 is added.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-24 11:35:24 -07:00
kyle
edf9ba3515
gatewayd: approvals answered from Mattermost; typing paused; the notice
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 10:19:41 -07:00
kyle
c38e450f44
gatewayd: serve, posting approvals, marking them, and the listener
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 05:07:50 -07:00
kyle
a33ff240c4
gatewayd: gateway, the gateway.sock listener and one thread per connection
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:59:02 -07:00
kyle
07e4e16270
gatewayd: state, the posts of open approvals, and the turn of a session
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:50:54 -07:00
kyle
c5df86d13d
gatewayd: approvals, the registry and the judging of commands
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:48:06 -07:00
kyle
d9f8fa9331
gatewayd: approvals::text, the posts that show an approval
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:42:37 -07:00
kyle
18791ab389
gatewayd: mm, patch_post and username
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:36:45 -07:00
kyle
365e50081d
gatewayd: strip a leading mention of this bot; recognise approval commands
2026-09-24 04:33:03 -07:00
kyle
b45ca14c14
gatewayd: config, [approvals] users and socket
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:28:26 -07:00
kyle
e0560ab996
brokerd: courier, carrying pending approvals to gatewayd and answers back
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:25:07 -07:00
kyle
412f80c470
brokerd: config, [gateway] socket for Mattermost approvals
2026-09-24 04:18:04 -07:00
kyle
a00711e379
brokerd: answers carry the Mattermost post; Table::contains
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:15:11 -07:00
kyle
a5c37d8756
bxctl: deny, another name for refuse
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:11:01 -07:00
kyle
ebb78e816d
proto: gateway, the four messages between brokerd and gatewayd
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:07:46 -07:00
kyle
db3f9ed01b
proto: escape, moved from bxctl so gatewayd shows the same thing
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 04:01:03 -07:00
kyle and Claude Opus 5.5
53560ca731
M4a task 16 review: accepted; the plan's copy of its test is now the formatted file
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-24 01:36:22 -07:00
kyle
10c80b74f3
gatewayd: read a secret file from the file that was checked
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 01:33:36 -07:00
kyle and Claude Opus 5.5
6feffadd11
M4a task 16: read a secret file from the file that was checked (review finding 2)
...
The test swaps the file between the check and the open through a `between` hook. A reference fix
passed it and the gate (769 tests) in the working tree, caught two mutations, and was removed.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-24 01:27:41 -07:00
kyle and Claude Opus 5.5
0081f24b70
gatewayd: strict status lines and chunk lines; no as casts (M4a review, findings 1 and 3)
...
A status line splits on single spaces only, and every chunk line must end in CRLF. The bounded
`as` casts in http.rs, handshake.rs and proto's sha1.rs become try_from and from.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-24 01:23:51 -07:00
kyle and Claude Opus 5.5
131b3677fd
M4a review: accepted; checked end to end against the owner's Mattermost
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-24 01:21:27 -07:00
kyle
09b074c121
gatewayd: main, serve --config with its start checks
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 01:00:22 -07:00
kyle
ed361db718
gatewayd: serve, the event loop, typing, catch-up and reconnecting
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-24 00:55:58 -07:00
kyle
d1d8531495
gatewayd: deliver, turns on loop.sock and answers posted in their thread
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 21:34:34 -07:00
kyle
24cac6a4eb
gatewayd: state, what was handled, our threads and turns in flight
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 21:23:49 -07:00
kyle
fc32144048
gatewayd: sessions, routing posts to sessions, commands and the queue
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 21:17:17 -07:00
kyle
18fddd03d9
gatewayd: mm, Mattermost's events and REST calls, typed
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 21:04:00 -07:00
kyle
74e08a5b1a
gatewayd: ws conn, messages, pings, closing and a dead peer
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 20:54:38 -07:00
kyle
f649ca9e3d
gatewayd: ws frames, a strict decoder and a masked encoder
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 20:50:00 -07:00
kyle
d56fcf8611
gatewayd: ws, the WebSocket error type and the opening handshake
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 19:55:22 -07:00
kyle
3a5b693878
gatewayd: http, requests over a stream with size caps and rate-limit waits
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 19:51:00 -07:00
kyle
e8311aeb54
gatewayd: net, TCP or verified TLS to the Mattermost server
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 19:41:08 -07:00
kyle
608d426f95
gatewayd: secrets from a credential, the environment or a file; runbook entries
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 19:37:12 -07:00
kyle
ede25312b3
gatewayd: config, gatewayd.toml into a checked Config
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 19:27:43 -07:00
kyle
64b34f48d6
gatewayd: dependencies for TLS and secrets; test-only certificates
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 19:17:51 -07:00
kyle
9fa8f0abed
proto: sha1, for the WebSocket handshake check
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 19:15:01 -07:00
kyle and Claude Opus 5.5
a43362edb4
Review M3b tasks 14 to 17: accept; M3b done
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-23 16:42:22 -07:00
kyle
9662966b45
toolkit: no thread panic in http_fetch, no casts, exact egress-proxy form
...
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
2026-09-23 16:13:43 -07:00