v0.8.5 — housekeeping from the audit, and the playtest line retired

The third release from the audit; nothing a player sees changes. CHANGELOG has the detail.

The 0.4.9 playtest line is no longer maintained (Jesse, 2026-09-29): the deploy rule that
existed for it is gone and #85 is moot. The table test (#39 #35 #42a #40) is closed — every
line of the checklist was met at a table. #46 is done and cannot regrow: the 36 unused
declarations are removed and `noUnusedLocals`/`noUnusedParameters` are on; two of them were
dead bot functions from rejected candidates the round said it had deleted. The documents no
longer teach `trainCapSlack` (a knob that throws), point at `as-built.md` (deleted in 0.8.2),
model `officeType` (the engine says `tier`) or describe `collisionOccurred` (never emitted);
the README's account of bot flags now matches the bot's. Five playtest saves committed in
`docs/` against the repository's own rule are in the ignored `playtests/`.

What the audit found and did not fix is written down as TODO #112-#117, each with its reason.
#112 is `docs/plans/structure.md`, the proposal for `http.ts`, `main.ts` and `check`. #117 —
`/api/save` hands a seat the seed mid-game — waits on a conversation.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FrCWubm9GAftYCm2hWdKwK
This commit is contained in:
Jesse.Markowitz
2026-09-29 17:02:33 -04:00
co-authored by Claude Fable 5.1
parent e47cd3d400
commit 04ca74c365
47 changed files with 370 additions and 4826 deletions
+50
View File
@@ -19,6 +19,56 @@ page as `v0.1.0 · <sha> · <date>`, so what is deployed can always be identifie
---
## 0.8.5 — 2026-09-29
The third release from the audit: housekeeping. Nothing a player can see changes; what changes is
what the repository says about itself and what the build refuses.
### The playtest line is retired
The 0.4.9 line — the build handed to playtesters since August, ported by hand from `main` and
diverging structurally by 0.7 — is no longer maintained (Jesse, 2026-09-29). Its worktree and
branches are deleted, the "deploy from the right line" rule is gone with it, and #85 (the line
being behind on a ruling) is moot. The public site serves the last 0.4.9h build until `npm run
deploy:web` is run once from `main`.
### The table test is closed
#39, #35, #42a and #40 — the Yard Office offer, the Red Flag hold, the loaded Extra, extended play
through two browsers, the setup screen, the save-file sentence — were all met at a table. The
section stays in `TODO.md` for the one measurement it holds: which interruptions fire on their own
and which have to be set up.
### #46, and the flag that keeps it at zero
The unused-declaration count had gone 29 → 40 → 36 across six weeks because nothing ran the flag.
All 36 are gone and `noUnusedLocals` + `noUnusedParameters` are on in `tsconfig.json`. Two were dead
bot functions from rejected candidates the round said it had deleted (`wouldBuryTheEngine`,
`strandedWantedCars`); `isLegal` and `restoreRng` had no callers; `trayySeat` was a typo; the ten
in `sim/replay.ts` were imports, so #48 (what that viewer is for) is untouched.
### What the documents said that was not so
`README.md`, `compare.ts`, `save-replay.ts` and the bot all taught `trainCapSlack`, a knob deleted
weeks ago — `parseTweaks` throws on it. The README also said a flag is deleted when adopted while
the bot's own doc block says every flag is a permanent ablation of an adopted heuristic; the bot was
right, and had two doc blocks back to back, the first attached to nothing. `card-reference.md` sent
readers to `as-built.md`, deleted in 0.8.2; three `TODO.md` entries and two architecture pages said
the same. `game-state.md` modelled `officeType`, which the engine calls `tier`; `protocol.md`
described a `collisionOccurred` event the engine has never emitted (`trainsDestroyed`). `design.md`
carried its print-and-play paragraph twice. Five playtest saves — seeds, names, an August ruleset —
sat committed in `docs/` against the repository's own rule; they are in `playtests/` now, ignored.
### The audit's leftovers, written down
Everything the four reviewers found that was real and is not fixed is in `TODO.md` §11 as #112-#117,
each with its reason. #112 is `docs/plans/structure.md`: the route table for `http.ts`, five
extractions for `main.ts`, `check` per phase — each naming the test it would make possible. #117 is
the one that needs a conversation: `/api/save` hands a seat the seed mid-game, and a save without a
seed is not a save.
---
## 0.8.4 — 2026-09-29
The second release from the audit: the multiplayer transport, server and browser. Every fault here