From 867619dca2b2a2c0f1cdfb8c6d0f77e8b894e68a Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Sat, 12 Sep 2026 11:30:30 -0500 Subject: [PATCH] control board: reply from the board through agent-send.sh (#1505) Piece 2 of the MVP (#1503). A one-line reply box and Send in the detail of rows with a live registration; POST /api/reply runs tools/tmux/agent-send.sh -s -S :control-board [-L ] -m once for one seat and returns the exit code, stdout and stderr. The page shows delivered or failed with the tool's stderr; other rows say "reply needs a registered seat". No send-keys, queue, retries, history or broadcast; packages/seat and agent-send.sh untouched. Every message ends with a fixed trailer telling the seat to answer in its own session (Jason's refinement after the first Gate C exchange; the board has no pane). Board suite 98/98. Co-Authored-By: Claude Fable 5.1 --- BUILD-LOG.md | 19 ++ docs/SESSIONS.md | 1 + docs/plans/2026-09-12_control-board-mvp.md | 64 +++++++ docs/plans/CURRENT.md | 28 ++- packages/control-board/README.md | 29 +++ packages/control-board/src/page.html | 102 +++++++++- packages/control-board/src/serve.mjs | 90 ++++++++- packages/control-board/tests/serve.test.mjs | 194 +++++++++++++++++++- 8 files changed, 508 insertions(+), 19 deletions(-) diff --git a/BUILD-LOG.md b/BUILD-LOG.md index 92e5deb1..cafcc8c0 100644 --- a/BUILD-LOG.md +++ b/BUILD-LOG.md @@ -2133,3 +2133,22 @@ provider in the hover, and a Model detail row. Blank when the log names none. Live check against the real data root on a scratch board: all 42 rows carried a model. Board suite 91/91 (was 90). Sonnet review recorded in the plan page entry. + +## 2026-09-12 — Control board piece 2: reply-from-board (#1505) + +Before: the board could show a seat waiting on Jason but he had to find +its tmux pane to answer. After: the detail of a row with a live +registration has a one-line reply box; `POST /api/reply` runs +`tools/tmux/agent-send.sh -s -S :control-board [-L +] -m ` once, for one seat, and returns the tool's exit code, +stdout and stderr; the page shows `delivered