TODO: the wrapper is on 0.7.3, and #13 is the harder reading after all

Three updates from the 2026-08-29 session, none of them code.

#37, new and already done: the StartOS wrapper is bumped to 0.7.3 (`74aea24` in
station-master-startos). Recorded with what was verified — check, prettier, pack —
and what was not: it is not installed on a box and has not been played, which is
#35 and still open.

#13 is settled, and as the reading that costs more. Jesse: "I want to be able to
watch other players and bots make their moves. It's not fun to do my turn and have
magic happen in the background and then have to figure out what others did." The
entry had explicitly left open which of two things was meant — a log-legibility
problem or a new view — and it is the second. It is Gitea#20 step 4 pointed at a
player's screen rather than the common board, and `docs/plans/jitsi-common-board.md`
already has the mechanism; what it does not have is the seated-player half, which
that plan deliberately excludes. Jesse: "this relates to issue #20 and will require
a lot more thinking." Marked to be designed with #20, not started alone.

#7 is on hold: StartOS 0.4.0.2 is expected to improve action displays, and the
diagnosis behind that item is that the action-result view collapses newlines —
exactly the sort of thing a platform release fixes. Re-read the real output before
designing around a limitation that may have been lifted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAgJSmeV8zrMh55Mj85ESb
This commit is contained in:
Jesse.Markowitz
2026-08-29 05:07:36 -04:00
co-authored by Claude Opus 5
parent 45580d8b61
commit 5865c3a6b7
+65 -12
View File
@@ -34,9 +34,11 @@ Queued 2026-08-21, from playing the StartOS build:
Queued 2026-08-22, from playing on StartOS: Queued 2026-08-22, from playing on StartOS:
7. **Make "Games in Progress" readable** — nested groups rather than one run-on line per game, plus 7. **Make "Games in Progress" readable** — **ON HOLD, 2026-08-29 (Jesse).** StartOS 0.4.0.2 is
sorting by name, start time or last move. Reasoning in Multiplayer below. Small, and it is the expected to improve how action results are displayed, which is most of what makes this unreadable
action most used for actual administration. — so wait and see what the platform fixes before rewriting the action around a limitation that
may be gone. Re-open it against 0.4.0.2 and re-read the output before designing anything.
Reasoning in Multiplayer below.
8. **Give a player a way back into a game after losing their browser** — a fresh browser is still 8. **Give a player a way back into a game after losing their browser** — a fresh browser is still
locked out of a RUNNING game, even though the server knows who they are. Reasoning in Multiplayer locked out of a RUNNING game, even though the server knows who they are. Reasoning in Multiplayer
below; needs Jesse's call on whether a token in a URL is acceptable. **The lobby half of this was below; needs Jesse's call on whether a token in a URL is acceptable. **The lobby half of this was
@@ -106,8 +108,16 @@ Queued 2026-08-22, from the v0.4.9e gameplay-testing report filed as Gitea issue
Suppressed on the first frame, on Undo stepping back across a rollover, and on the Day the game Suppressed on the first frame, on Undo stepping back across a rollover, and on the Day the game
ends — the outcome panel is the thing to read then. ends — the outcome panel is the thing to read then.
13. **Show me the other players' moves, bots included** — raised by Jesse 2026-08-22 from playing a 13. **Watch the other players and the bots actually make their moves** — raised by Jesse
multiplayer game. Reasoning in Multiplayer below. 2026-08-22, and **settled 2026-08-29 as the harder of the two readings**: "I want to be able to
watch other players and bots make their moves. It's not fun to do my turn and have magic happen
in the background and then have to figure out what others did."
So this is not the log-legibility fix. It is the ordered, per-action presentation of everyone
else's turns — **the same mechanism Gitea#20 step 4 specifies for the common board**, routed to a
player's own screen as well. Jesse: "this relates to issue #20 and will require a lot more
thinking." Do not start it as a standalone piece; it wants designing with #20. Reasoning in
Multiplayer below.
14. **INVESTIGATE: stamp the history with wall-clock time** — even if nothing displays it yet, so 14. **INVESTIGATE: stamp the history with wall-clock time** — even if nothing displays it yet, so
"how long did that turn take" can be answered afterwards. Reasoning in Replay / Save Games below. "how long did that turn take" can be answered afterwards. Reasoning in Replay / Save Games below.
@@ -235,6 +245,23 @@ Queued 2026-08-29, from building Gitea#11 and #16 (both shipped in v0.7.3, main
folds a batch of events AFTER `advance` has already mutated past the moment they describe. Worth folds a batch of events AFTER `advance` has already mutated past the moment they describe. Worth
settling with the badge pass (#33) rather than on its own, since that is the only consumer. settling with the badge pass (#33) rather than on its own, since that is the only consumer.
37. ~~**Bump the StartOS wrapper to 0.7.3.**~~ — done 2026-08-29 (`74aea24` in
`station-master-startos`). Submodule pinned to `v0.7.3` (`45580d8`), `current.ts` at `0.7.3:0`,
release notes in all five locales, `README.md` and `instructions.md` updated. No new version file
and no migration — the outgoing `0.7.2:0`'s `up` was empty, `versions.md`'s common case, so
`current.ts` bumped in place. Verified: `npm run check` clean, prettier clean, `make x86` packs
as `v0.7.3:0`. **NOT installed on a box and not played** — see #35.
**Unlike 0.7.2, games in progress survive this one**, and both docs lead with it. No card data
changed and the engine changes are additive, so every intent in a 0.7.2 save is still legal;
proven rather than assumed by `test/harness.test.ts`, which replays the three files in
`public/replays` (all recorded under an older ruleset) and asserts every intent still applies.
**The v0.7.3 tag is made locally and signed, but not pushed** — agents cannot push to
`origin`. Until Jesse pushes it, the tag exists only here and in the wrapper's submodule clone;
the recorded pin is the commit SHA, which is already on `origin`, so the wrapper is not blocked
on it.
--- ---
## Replay / Save Games ## Replay / Save Games
@@ -713,11 +740,31 @@ Deferred while planning the server; decisions and reasoning are in `docs/archite
is a line of text. The Division map is the one shared picture, and it shows trains on the is a line of text. The Division map is the one shared picture, and it shows trains on the
Mainline, not switching inside a district. Mainline, not switching inside a district.
**Not yet established: which of the two Jesse means.** "I need to see other players' moves" fits **ANSWERED 2026-08-29, and it is the harder reading.** Jesse: "I want to be able to watch other
both "the history panel is not telling me" (a legibility problem — the panel scrolls, a bot can players and bots make their moves. It's not fun to do my turn and have magic happen in the
take a dozen actions between your turns, and nothing marks where your last turn ended) and "I background and then have to figure out what others did." So the complaint is not that the
want to watch their railroad" (a Frame problem). Ask before building: the first is an afternoon, history panel is hard to read — it is that the moves are not WATCHABLE. Marking the log is a
the second is a new view. consolation prize, not the fix.
**This is Gitea#20 step 4, pointed at a player's screen instead of the common board.** That
issue — the public common-board display published into Jitsi — already specifies the mechanism,
and `docs/plans/jitsi-common-board.md` §"Step 4 — Preserve individual human and bot actions"
has the design: a display-step collector inside `GameSession` that captures a projected frame
after EVERY successful `submit()`, human and bot alike, deltas it, and emits one step per
accepted intent (not one per `GameEvent` — an intent drains automatic work behind it, and the
event list is not a complete reducer).
**The reason it is not simply free once #20 lands** is that the plan deliberately stops short
of here: *"Keep player pushes unchanged: players still receive the final coalesced result after
all immediately due bots finish."* Extending the step stream to seated players raises questions
the common board never has to answer — a spectator can be a second behind, a player waiting to
act cannot; and a player animating three bot turns while their own move is due is a game that
feels slower, which is the opposite of the complaint. **Jesse, 2026-08-29: "this relates to
issue #20 and will require a lot more thinking."** Design it with #20; do not start it alone.
**The constraint below still binds either way**, and hardest here: the common board is seatless
and shows only public state, whereas a step stream sent to a SEATED player is a Frame, and
Frames are redacted per seat.
**The constraint on the second**, and it is the one that must not be got wrong: a district's **The constraint on the second**, and it is the one that must not be got wrong: a district's
BOARD is public — cards on the table, cars standing on them, trains — and a player's HAND, BOARD is public — cards on the table, cars standing on them, trains — and a player's HAND,
@@ -784,8 +831,14 @@ Deferred while planning the server; decisions and reasoning are in `docs/archite
not yet decided whether a token in a URL is acceptable; the alternative is a bare token not yet decided whether a token in a URL is acceptable; the alternative is a bare token
pasted into a field, which is uglier and stays out of history. pasted into a field, which is uglier and stays out of history.
- [ ] **The StartOS "Games in Progress" action is one long unreadable run-on per game.** Raised by - [ ] **The StartOS "Games in Progress" action is one long unreadable run-on per game.**
Jesse 2026-08-22 after using it against four games. Lives in the WRAPPER repo **ON HOLD, 2026-08-29 (Jesse): StartOS 0.4.0.2 should make action displays better.** The
diagnosis below is that the action-result view collapses newlines — which is exactly the sort
of thing a platform release fixes. Re-read the real output on 0.4.0.2 before building anything;
the nested-group rewrite may turn out to be unnecessary, and designing around a limitation that
has just been lifted is worse than waiting.
Raised by Jesse 2026-08-22 after using it against four games. Lives in the WRAPPER repo
(`station-master-startos`, `startos/actions/gamesInProgress.ts`), whose `AGENTS.md` says work (`station-master-startos`, `startos/actions/gamesInProgress.ts`), whose `AGENTS.md` says work
belongs in issues on that repo rather than a `TODO.md` — recorded here because this is where belongs in issues on that repo rather than a `TODO.md` — recorded here because this is where
the project's list actually is; move it if that policy is meant to bind. the project's list actually is; move it if that policy is meant to bind.