diff --git a/CHANGELOG.md b/CHANGELOG.md index e0b2b26..6476a4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,34 @@ page as `v0.1.0 · · `, so what is deployed can always be identifie --- +## 0.8.0.4 — 2026-09-09 + +**Housekeeping: the test server's name is out of the ten places this session put it.** + +Both of this project's repositories allow anonymous clone — checked, not assumed: `info/refs` for +`git-upload-pack` answers 200 for `station-master` and for `station-master-startos` alike, while +`git-receive-pack` answers 401. So everything committed here is public, and the standing rule is that +tracked files carry placeholders rather than real hosts. + +Ten mentions added while building v0.8.0 are now "the test server" or "the target hardware": +`CHANGELOG.md`, `docs/plans/jitsi-common-board.md` (three identical deferral banners), `sim/pacing.ts`, +`test/pacing.test.ts` and `test/step-queue.test.ts`. Prose and comments only — no behaviour, and the +quotes they carry are unchanged, because what a player said about bot pacing is the part worth +keeping. + +**What is deliberately left, and why it is not an oversight:** + +- **Nineteen older mentions**, in entries about v0.7.5, v0.7.6 and v0.7.8 and in `TODO.md`. Rewriting + a changelog after the fact makes the record less true, and these describe verification that + genuinely happened on that machine. +- **`scripts/deploy-web.ts` is FUNCTIONAL, not prose.** It carries the host as the default for + `FB_URL`, so a placeholder there would break the deploy for the person the default exists to serve. + Same for the public address it publishes to. If those should move to required environment variables + with no default, that is a change to how deploying works and wants deciding on its own rather than + being smuggled in beside a comment sweep. + +--- + ## 0.8.0.3 — 2026-09-09 Three things from playing v0.8.0.2, all of them about the row rather than the mechanism. @@ -64,7 +92,7 @@ as how long another player's move is held, and that is now what it does. A phase ## 0.8.0.2 — 2026-09-09 -Two things found by playing v0.8.0.1 on `phoenix.local`, neither of them in the mechanism itself. +Two things found by playing v0.8.0.1 on the test server, neither of them in the mechanism itself. ### `?pace=` never worked, and a whole game was played at the wrong speed @@ -136,7 +164,7 @@ the suite until it was declared out loud. ## 0.8.0.1 — 2026-09-09 -**Bot play was way too fast.** v0.8.0 was installed on `phoenix.local` and played within the hour; +**Bot play was way too fast.** v0.8.0 was installed on the test server and played within the hour; Jesse: *"I briefly saw that it was the bot's office area then their turn was done and it pointed back to my office area"*, and the countdown row appeared "very briefly". Everything else looked right — the bots were visibly doing things — so this is calibration and one real bug, not a redesign. diff --git a/docs/plans/jitsi-common-board.md b/docs/plans/jitsi-common-board.md index 5a38fe0..18d05cf 100644 --- a/docs/plans/jitsi-common-board.md +++ b/docs/plans/jitsi-common-board.md @@ -888,7 +888,7 @@ Cover: ## Step 5 — Minimal visual-only Jitsi engine > **v0.9.0 — DEFERRED (2026-09-09).** Steps 5-7 are the Jitsi publisher and are explicitly held -> off until 0.8.0 ships and Chromium has been measured on `phoenix.local`. Nothing below has been +> off until 0.8.0 ships and Chromium has been measured on the target hardware. Nothing below has been > re-verified against the current code; it was written 2026-08-27. Two things will have moved by > the time it is picked up: the control channel is **SSE + POST, not a WebSocket** (§ THE RELEASE > SPLIT), and adding Chromium takes the `.s9pk` from 63 MB to several hundred against a package @@ -1028,7 +1028,7 @@ Port/adapt the sibling repository’s proven tests for: ## Step 6 — Chromium publisher supervisor > **v0.9.0 — DEFERRED (2026-09-09).** Steps 5-7 are the Jitsi publisher and are explicitly held -> off until 0.8.0 ships and Chromium has been measured on `phoenix.local`. Nothing below has been +> off until 0.8.0 ships and Chromium has been measured on the target hardware. Nothing below has been > re-verified against the current code; it was written 2026-08-27. Two things will have moved by > the time it is picked up: the control channel is **SSE + POST, not a WebSocket** (§ THE RELEASE > SPLIT), and adding Chromium takes the `.s9pk` from 63 MB to several hundred against a package @@ -1161,7 +1161,7 @@ Use fake child processes and fake control sockets to test: ## Step 7 — Configuration, lifecycle, packaging, and observability > **v0.9.0 — DEFERRED (2026-09-09).** Steps 5-7 are the Jitsi publisher and are explicitly held -> off until 0.8.0 ships and Chromium has been measured on `phoenix.local`. Nothing below has been +> off until 0.8.0 ships and Chromium has been measured on the target hardware. Nothing below has been > re-verified against the current code; it was written 2026-08-27. Two things will have moved by > the time it is picked up: the control channel is **SSE + POST, not a WebSocket** (§ THE RELEASE > SPLIT), and adding Chromium takes the `.s9pk` from 63 MB to several hundred against a package diff --git a/package.json b/package.json index 2fe1050..1340b0c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "station-master", - "version": "0.8.0.3", + "version": "0.8.0.4", "private": true, "type": "module", "description": "Station Master — a railroad operations game", diff --git a/src/sim/pacing.ts b/src/sim/pacing.ts index 5e53307..91330d5 100644 --- a/src/sim/pacing.ts +++ b/src/sim/pacing.ts @@ -54,7 +54,7 @@ export const DWELL: Record = { * * WAS 250ms, WHICH WAS WRONG, and wrong in the way that mattered most: an early-game bot turn has * no switching in it at all, so it was six steps of 250ms and 0ms — **750ms for a whole turn**. - * Jesse, from the first real play on `phoenix.local`: *"bot play was way too fast. I briefly saw + * Jesse, from the first real play on the test server: *"bot play was way too fast. I briefly saw * that it was the bot's office area then their turn was done."* His instruction had been "start at * 1s and tune down", and that was applied only to switching while this number was invented. */ diff --git a/test/pacing.test.ts b/test/pacing.test.ts index 8e03386..69f904e 100644 --- a/test/pacing.test.ts +++ b/test/pacing.test.ts @@ -52,7 +52,7 @@ describe('pacing — dwell by kind', () => { assert.equal(kindOf('switch.end'), 'bookkeeping'); /** * `localOps.choose` IS AN ANNOUNCEMENT, not bookkeeping — moved 2026-09-09 after the first real - * play on `phoenix.local`. It is the line reading "Player Bot 1 chose to SWITCH", the heading for + * play on the test server. It is the line reading "Player Bot 1 chose to SWITCH", the heading for * everything that follows, and at zero dwell a bot's turn began with no sign of what it was about * to do. */ @@ -199,7 +199,7 @@ describe('pacing — dwell by kind', () => { it("a bot's ordinary turn is followable, which is what the first real play was not", () => { /** - * MEASURED FROM A REAL GAME, then pinned. Jesse, after installing v0.8.0 on `phoenix.local`: + * MEASURED FROM A REAL GAME, then pinned. Jesse, after installing v0.8.0 on the test server: * *"bot play was way too fast. I briefly saw that it was the bot's office area then their turn * was done."* This is the shape that turn actually had — no switching in it at all, because * switching is not legal until there is track down — and under the original values it came to diff --git a/test/step-queue.test.ts b/test/step-queue.test.ts index 18c8695..7f21fd9 100644 --- a/test/step-queue.test.ts +++ b/test/step-queue.test.ts @@ -179,7 +179,7 @@ describe('the step queue', () => { * REGRESSION. `busy()` was `pending.length > 0`, so the instant the final step of a burst was * shown the queue reported idle: the animation loop stopped and the district panel snapped back * to the viewer's own board without that step ever being looked at. Jesse, from the first real - * play on `phoenix.local`: *"I briefly saw that it was the bot's office area then their turn was + * play on the test server: *"I briefly saw that it was the bot's office area then their turn was * done and it pointed back to my office area"*, and the countdown row appeared "very briefly". * * The panel follows `busy()`, so this is the property that keeps somebody else's board on screen