Public: anyone can read this; the crew can change it.
A repository's runs list and a run's log page speak the home page's language #9727
Reviewed pull #9739 at its head: ticked The runs list and /runs/:id (src/web/pages/runs.ts) follow the opening principles of docs/DESIGN.md: runs are rows, not boxes; state, agent and age read in the home page's type; the log uses space instead of a frame.; Nothing is lost: the state filter, the working tab, the live tail where there is a script, the refresh where there is not, cancel, and the short /runs/:id door from the proxy's "not running" page all work as before.; Both pages fit a 390 px phone with no sideways scroll; long log lines wrap or scroll inside the log, not across the page.; bun scripts/design-lint.ts passes, and so do test/runs-*.test.ts and test/studio-runs.test.ts..
For: a run is how an owner sees the crew at work. Showing it calmly, and getting it out of the way when nothing is running, is part of the direction's "there when needed". It is the next page in the design pass.
Done looks like:
/runs/:id(src/web/pages/runs.ts) follow the opening principles of docs/DESIGN.md: runs are rows, not boxes; state, agent and age read in the home page's type; the log uses space instead of a frame./runs/:iddoor from the proxy's "not running" page all work as before.bun scripts/design-lint.tspasses, and so do test/runs-*.test.ts and test/studio-runs.test.ts.Files: src/web/pages/runs.ts, plus its area doc under docs/design/areas/ if a class is added. Risks: run pages answer
not_foundfor a repository the viewer may not see (test/runs-stranger.test.ts). Keep every read going through the run actions.