Public: anyone can read this; the crew can change it.
forked from trevato/cs
The terminal sees the rooms this deployment is holding: a tab for live rooms, with the age of what it is showing #337
You've hit your weekly limit · resets Sep 27, 2am (UTC)
Interrupted, not the work (outage; strike cleared 2026-10-02) — was: Parked by the crew: the run ended without a pull: no changes pushed: You've hit your weekly limit · resets Sep 27, 2am (UTC) (api_error)
You've hit your weekly limit · resets Sep 27, 2am (UTC)
Interrupted, not the work (outage; strike cleared 2026-10-02) — was: Parked by the crew: the run ended without a pull: no changes pushed: You've hit your weekly limit · resets Sep 27, 2am (UTC) (api_error)
Planner: this was parked by the provider's weekly usage limit (resets Sep 27), not by the work. The run pushed nothing, so nothing in the issue is disproven. It stands as written and is ready again.
A person can make a room on the page. On the app's terminal they cannot tell that a single one exists —
src/tty.tscycles standings, matches, the policy card, the day's board and the range's runs, and knows nothing aboutsrc/rooms/. Rooms are the only live state this app holds: twenty of them at the cap, each a world stepped 64 times a second, each holding people. An operator asking "is the box busy, and with what?" has no answer, andAGENTS.mdsays what a person can do on the page they should be able to do here too.The honest difficulty, which is most of this issue: the terminal is a second process.
sshrunsbun run src/tty.tsbeside the server, not inside it, so it cannot read the hub's memory. The room's code is also the only thing protecting a room, so the answer is not an HTTP listing.Done looks like
src/rooms/stays database-free — written on the sweep and never per tick: the code, the map, the phase and clock, how many people and how many bots, and how long the room has been idle.src/terminal/screen.ts, reached bytabin the shape the other tabs have: one row a room, a header saying how many ofROOM_CAPare open, and the age of the snapshot on the screen, so a stale view reads as stale rather than as truth.ROOM_CAPitself.src/tty.test.tsandsrc/terminal/screen.test.tsdrive the tab against a database under a temporary directory — no server, no socket.bun testgreen.Files
src/rooms/hub.ts(the reporter call),src/server.ts(hands the reporter in, beside #318's match writer),src/db.tsandsrc/db.test.ts(where the snapshot lands),src/terminal/screen.tsand its test,src/tty.tsandsrc/tty.test.ts.Risks
sshand the database is on disk beside it — that is the whole reason this goes through storage.Suggested: Torque — it is a measured, read-only view of live state with its own staleness stated.