control board: show the model each seat is running (#1503)

Jason asked for the running model (sonnet, opus, gpt-6-astra) on the
board. readSession keeps model and provider from the log's latest
model_change entry or assistant turn, whichever is later, so a /model
switch shows on the next scan; scanAgent exposes both; the page shows the
model under the agent name with the provider in the hover and a Model
detail row. Blank when the log names none.

Live check on a scratch board against the real data root: all 42 rows
carried a model. Board 91/91. Sonnet review caught a double-escaped hover
title; fixed.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
2026-09-12 11:13:32 -05:00
co-authored by Claude Fable 5.1
parent d0fb5b0f20
commit 0bed9ba3db
8 changed files with 99 additions and 4 deletions
+11
View File
@@ -2122,3 +2122,14 @@ gone pid marks the record stale: kept on the Registered line with
index, stale count in the CLI summary. Fleet launchers marked not planned
per Jason. Tests: board 90/90, seat 15/15, launch scripts 5/5, real data
root untouched by the run. The three fixture records were deleted by hand.
## 2026-09-12 — Control board: model per row (#1503)
Before: the board did not say which model a seat was running. After:
`readSession` keeps `model` and `provider` from the log's latest
`model_change` entry or assistant turn, whichever is later; the record
carries both; the page shows the model under the agent name with the
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.