v0.7.9.3 — the reference says what only the code knows, and saves get a rule

The generated card reference now carries the half TODO #15a said was the
point of generating it: every Enhancement's `live` / `dormantSolo` /
`unbuilt` status — whether its printed effect actually resolves yet — and
the opponent-directed Action and Space-use cards, none of which is dealt
in any deck. A transcription cannot carry either fact.

Card counts are removed throughout, as ruled: they move with play balance
so a document printing them is stale on the next retune. Where a count
matters it is a yes/no "is this dealt at all", which is a fact about the
design rather than the current tuning. #88 closes with it — it asked
whether `card-reference.md`'s industry rows were stale, deliberately
without rewriting them since Laborer counts are a balance decision. They
are; nothing in the engine changed; that file is simply no longer where
anyone looks. The balance question it guarded is #70.

Save compatibility becomes a general rule in `README.md` § Design notes
rather than a fact restated per version: a save is a list of moves and
reopens by being re-played through the CURRENT rules, so any change that
makes a once-legal move illegal stops an older one there — a deck change
being the likeliest breaker. It fails safe every time. #40 generalised,
#32's version-specific note dropped, #52 carries the ruling that
versioned replays are a post-1.0 question.

#94 opened: a Red Flag set out at an Office's Limits holds the next train
from that side and is drawn nowhere. `DivisionView`'s office node has no
`redFlag` field and `board-svg.ts` never mentions one, so after the single
log line announcing it there is nothing on screen. Same class as Gitea#21
and #22, and already on the common board's step 1 list.

No engine change. 897 tests pass, unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E3Qk7uresKCHksdZajXCLg
This commit is contained in:
Jesse.Markowitz
2026-09-07 14:50:11 -04:00
co-authored by Claude Opus 5
parent 819996faa2
commit e734481d65
6 changed files with 353 additions and 105 deletions
+31
View File
@@ -19,6 +19,37 @@ page as `v0.1.0 · <sha> · <date>`, so what is deployed can always be identifie
---
## 0.7.9.3 — 2026-09-07
Documentation and the build script behind it. No engine change; 897 tests pass, unchanged.
### The generated reference covers what only the implementation knows
TODO #15a asked for this in 2026-08-22 and specified more than a table of card faces: every
Enhancement carries a `live` / `dormantSolo` / `unbuilt` status in `content.ts` saying **whether its
printed effect actually resolves yet**, and the opponent-directed Action and Space-use cards are held
out of every deck until the attacks are implemented. A transcription cannot carry either fact. Both
are in the generated page, which is the argument for generating it.
**No card counts appear, as ruled** — the counts move with play balance, so a document that prints
them is stale on the next retune. Where a count matters it is rendered as a yes/no "is this dealt at
all", which is a fact about the design rather than about the current tuning. #88 closes with it: it
asked whether `card-reference.md`'s industry rows were stale, deliberately without rewriting them
since Laborer counts are a balance decision. They are stale, nothing in the engine changed, and that
file is simply no longer where anyone looks. The balance question it was guarding is #70.
### Save compatibility is a rule now, not a per-version note
`README.md` § Design notes carries it: a save is a list of moves and reopens by being re-played
through the *current* rules, so any change that makes a once-legal move illegal stops an older one
there — **a deck change being the likeliest breaker**, since a history naming a card the deck no
longer deals has no legal answer at all. It fails safe every time. #40 is generalised to match and
#32 closed; per-version compatibility facts are no longer tracked (Jesse, 2026-09-07). Versioned,
migratable replays are a post-1.0 question, deliberately deferred — every migration would be written
against rules that change again next release.
---
## 0.7.9.2 — 2026-09-07
Two multiplayer information leaks, and the documentation problem that let a wrong table sit in