# Station Master — Open Questions

Live tracker for gaps in the prototype rules. Each entry records the problem, the options
considered, the decision, and why. Decided entries feed `rules-v0.2.md`; anything still open blocks
implementation of the systems it touches.

**Status key:** `OPEN` — not yet discussed · `DECIDED` — settled, in v0.2 · `DEFERRED` — knowingly
left open, with the consequence noted.

> **⚠ 2026-07-31 — four design files were recovered** (`Deck cards2.xlsx`, `Mainline Cards.pdf`,
> `Trains3.pdf`, `tracks.png`) that answer several of these questions directly. Where the design
> contradicts a decision below, **the design wins** and the entry is marked SUPERSEDED. The reasoning
> is kept, not deleted: it is how we know which questions the design answers.
> See [`implications.md`](implications.md).

| # | Gap | Status |
| - | --- | ------ |
| 1 | Phase resolution order | **DECIDED** |
| 2 | Collision resolution (and the Whistle Post highball condition) | **DECIDED**, amended by ABS Signals |
| 3 | Office upgrades | **DECIDED** |
| 4 | Component manifest and deck composition | **SUPERSEDED** — deck is 115, track is per-player |
| 5 | Extra-train seniority ties | **MOOT** — Extras are X13-X22, the tie cannot occur |
| 6 | Victory conditions | **DECIDED** |
| 7 | Terminology errata | **DECIDED** |
| 8 | First placement into an empty Office Area | **DECIDED** — found during verification |
| 9 | Consist length scales with player count | **DECIDED** — found during verification |
| 10 | Card face specifications | **SUPERSEDED** — the real card list exists |
| 11 | Track card orientation | **SUPERSEDED** — handedness is printed; both hands supplied |
| 12 | Balance targets | **INVALIDATED** — measured against a placeholder ruleset |
| 13 | Deck scaling by player count | **LARGELY DISSOLVED** — track is per-player by design |

---

## Gap 1 — Phase resolution order

**Status:** DECIDED — phase-major, strict player order.

**The problem.** §5 says "In each Stage of the day the players perform Phases, one at a time in
order from the Superintendent through the players in order to his left." This admits two readings:

- **(a) Player-major** — each player performs all four Phases, then the next player does.
- **(b) Phase-major** — every player performs Local Operations, then every player performs New
  Train, and so on.

Reading (b) is supported by the Mainline Phase (§8), which is described as global and automatic —
trains move in train-number order across the whole Division, not per player — and by the New Train
Phase (§7), where "starting with the superintendent and working left, each player may place ONE
car" describes a single round inside one phase. Reading (a) would make both of those incoherent.

**Why it matters.** This is the server's entire turn state machine. Every other timing question
(when Laborer/Porter usage resets, when a collision is evaluated, what a player sees while waiting)
depends on it.

**Decision.** Reading (b), **phase-major**, with strict sequential player order:

```
STAGE N
├─ 1. Local Operations   P(super) → P(+1) → P(+2) …   one at a time
├─ 2. New Train          per train: super → left, ONE car each
├─ 3. Mainline           ALL trains move, train-number order (global)
├─ 4. Load / Unload      P(super) → P(+1) → P(+2) …   one at a time
└─ 5. Shift Change       Stages 3, 6, 9, 12 only
```

"One at a time in order from the Superintendent through the players to his left" describes ordering
*within* a phase, not the phase loop.

**Rationale.** New Train's shared car-placement round (one train, each player adds one car in
Superintendent-then-left order) and Mainline's global lowest-train-number-first ordering are both
incoherent under player-major; phase-major is the only reading where the rules as written function.

Simultaneous resolution of the two player-local phases was considered and rejected for now: Local
Operations and Load/Unload touch shared piles (Division Yard, Home Office deck, the three face-up
Department decks), so concurrency would turn draw order into a race and change the game. It stays
available as a possible later "fast mode" but is not the rule.

**Consequences for implementation.** The server holds a single current-actor pointer — exactly one
player may act at any moment. Every other client is in a spectating state. Per-Stage resources
(Laborer and Porter usage) reset at the start of each Stage, not each phase.

The Mainline Phase is the exception to the pointer, in both directions: it is automatic, so no player
acts in turn order — but §8.1's fourth condition interrupts it to ask the **Superintendent** whether a
following train may safely depart. That decision arrives out of turn order and may concern another
player's train. It is the one point in the game where a player acts during someone else's traffic,
and Gap 2 deliberately made the *consequences* automatic so that this decision carries full weight.

---

## Gap 2 — Collision resolution

**Status:** DECIDED — collisions are automatic.

**The problem.** §8.2 gives three collision triggers and each says a collision "**may** occur":

- cars or trains sitting on the Running Track between the Limits and the Office,
- no room at the station (every A/D track occupied),
- a train ready to Highball with the track between it and the Limits occupied.

§10 gives the consequence (−5 Revenue, both trains removed, timetabled trains rerun next day) and
assigns fault. But nothing says whether "may" means automatic, a die roll, or a judgment call. A
server needs a deterministic rule.

Note §A.4 states flatly that cars encountered by a train during the Mainline Phase "result in a
collision" — no "may". That suggests the triggers are in fact automatic and "may" is loose writing,
but this needs confirming rather than assuming.

**Sub-question 2b — the Whistle Post highball condition.** §8.1's final bullet reads: "If the
Subdivision contains a Whistle Post (i.e. a non-Control Point) yet a train is occupying Secondary
Track there (i.e. clear of the Running Track), the superintendent *must* Highball the train." It is
unclear which train "the train" refers to — the one being considered for departure, or the one
sitting on Secondary Track. Read as the former, it is a permission (a train parked clear of the
Running Track doesn't block the Subdivision). That reading fits the surrounding list, but the
sentence doesn't say so.

**Decision (2b) — "the train" is the train being considered for departure.** A train parked on
Secondary Track at a Whistle Post does not foul the Running Track, so it does not count as occupying
the Subdivision, and the Superintendent has no grounds to withhold clearance from the departing
train — hence "must".

*Rationale.* The definition of Highball settles it. §2.4 defines it as "when a train holding at an
Office automatically departs", and §8.1's first bullet requires that a train "must be sitting on the
A/D track before the Office or at a Division Point" to be cleared. A train on Secondary Track fails
that condition and is therefore not highball-eligible at all, so the word cannot be referring to it.

The bullet is a clarifying exception to bullets 3 and 4, not a new power: those say a train in the
next Subdivision blocks or complicates departure, and this one carves out the case where that train
is stabled clear of the Running Track. The alternative reading also has a destructive side effect —
if the Superintendent could force a parked train back onto the mainline, any player mid-way through
a six-Move switching sequence could have their train ejected, gutting the local switching game.

**Decision (2a) — collisions are automatic.** If a trigger condition holds at the moment the train
moves, the collision occurs. There is no die roll and no judgment call. "May occur" is descriptive
prose about risk, not a resolution mechanic.

*Rationale.* §A.4 states the identical situation without any hedge ("Any cars encountered by such
trains result in a collision"). The Superintendent's discretion is already spent earlier, at §8.1,
deciding whether to clear a following train — randomizing the outcome afterwards would blunt that
decision, which is the game's central tension. And the Emergency Toolbox optional rule exists so
collisions "can be avoided", which is most meaningful when they are otherwise certain.

**Decision (2c) — a train striking loose cars is a full collision.** §10's "both trains are removed"
assumes two trains; triggers 1 and 3 can involve a moving train striking uncoupled Rolling Stock. In
that case the train *and* the struck cars are destroyed and the responsible player loses 5 Revenue —
the same penalty as a train-on-train wreck.

*Disposition of destroyed pieces* (following §2.2): engines and cabooses return to the Division Yard;
all other Rolling Stock goes to the Classification Yard. Timetabled train cards return to their
timetable slot and run again the next Day; Extra train cards go to the Salvage Yard.

**Decision (2d) — no room at the station is a collision.** A train arriving at an Office where every
A/D track is occupied collides. Fault is the Office's player under §10 (it occurs inside his Limits),
costing 5 Revenue, and the train is removed.

*Rationale.* Harsh, but it makes A/D capacity a constraint the player must actively plan around and
gives Office upgrades (Gap 3) real value. The gentler alternative — holding the train short in the
Subdivision — was rejected because a blocked Subdivision cascades into later Stages and is arguably
the harsher punishment anyway, while costing more server state to evaluate.

**Consequences for implementation.** Collision evaluation is a pure function of board state at each
train movement step in the Mainline Phase, with no player input and no RNG. The only interrupt is a
Red Flag card (Emergency Toolbox optional rule), which means the Mainline Phase is automatic but not
necessarily uninterruptible — see Gap 4 for what Red Flag actually does.

---

## Gap 3 — Office upgrades

**Status:** DECIDED — cards played from hand, strict sequence, 1/2/3/4 A/D tracks.

**The problem.** The rules depend on Offices changing type but never say how. §8 notes "Updating
Offices with the Control Point icon split the Subdivision in two at that point," §2.1 lists Whistle
Post / depot / station / terminal as Office types, and §A.4 says the Office track "has the number of
A/D tracks listed" — implying the count varies by type. Setup (§4) starts everyone on a Whistle
Post. Nothing states what card or action performs the upgrade, what each type costs, or what A/D
counts each type has.

**Why it matters.** Control Point placement determines Subdivision boundaries, which determine
highball legality, which is the core of the Mainline Phase. It also gates what card types must exist
in the Home Office deck, so it precedes Gap 4.

**What the upgrade is worth.** Three benefits arrive together, which is why it needs no additional
price: passenger revenue (a Whistle Post is not a Passenger Facility, so a Whistle Post player is
restricted to freight entirely), A/D capacity (and after Gap 2, running out of A/D tracks is a −5
collision), and Subdivision splitting (which raises traffic capacity for the whole Division, not
just the upgrading player).

**Decision (3a) — upgrades are cards played from hand, at no Revenue cost.** Depot, Station and
Terminal are card types in the Home Office deck. A player plays one during the "Draw a card" option
of the Local Operations Phase (§6.2); it replaces the current Office card, and the replaced card
goes to the Salvage Yard. The Office card carries the Control Point signal, the A/D track count, and
the Passenger Facility icons (Porters and loading/unloading boxes — exact counts in Gap 4).

*Rationale.* Playing a card from hand is the only "play" verb the rules define. The cost is already
real without adding Revenue: one of three hand slots, plus a whole Local Operations action, which is
mutually exclusive with switching your trains or working freight that Stage.

**Decision (3b) — strict sequence: Whistle Post → Depot → Station → Terminal.** Each tier must be
built in order; no skipping.

*Two consequences accepted with this choice.* First, a Terminal or Station drawn early is a dead
card occupying one of only three hand slots — the player must either sit on it or discard it face-up
onto a Department deck, where an opponent may take it. This turns the Department decks into an
informal market for high-tier Office cards and is a genuine strategic wrinkle, not a defect.
Second, it constrains Gap 4: the deck must contain Office cards in a **pyramid** (more Depots than
Stations, more Stations than Terminals), or the strict chain will stall players who cannot find the
next rung.

**Decision (3c) — A/D track counts are 1 / 2 / 3 / 4** for Whistle Post / Depot / Station /
Terminal. A Whistle Post holds exactly one train, which makes the opening genuinely tense given that
overflow is an automatic collision (Gap 2d); 4 matches the maximum consist length (§A.4).

**Deferred to Gap 4.** §2.1 says Limits "may be moved outwards" as controlled track expands, which
implies separate track-expansion cards adding Secondary Track. That is a component question, not an
Office-type question.

---

## Gap 4 — Component manifest and deck composition

**Status:** OPEN

**The problem.** No quantities are specified anywhere. Unknown:

- **Home Office deck contents** — what card types exist and in what proportion (Facilities,
  Modifiers, track/turnout cards, Timetabled Train cards, Extra Train cards, Office upgrades, Red
  Flag, anything else).
- **Track cards** — how many Whistle Posts and Limits per player, how many Mainline cards, what
  track geometries exist (straight, turnout, crossover/run-around).
- **Train cards** — 12 timetabled trains are implied by the 1-12 numbering, but how many Extras, and
  what consist criteria does each train card carry.
- **Pieces** — how many Crew Trays and engines (§7 says the number is limited and it matters, since
  trains are held when none are free), how much Rolling Stock of each type, how many Number Boards.

**Why it matters.** The largest gap. Deck composition drives the whole economy; Crew Tray scarcity
is an explicit mechanic that can't be tuned without a number.

**Approach.** Break into sub-discussions: (4a) card types and deck composition, (4b) piece counts,
(4c) train card consist criteria.

---

### 4a — Card types and deck composition · DECIDED

**Three structural findings, derived from the rules rather than chosen.**

1. **The Home Office deck is a single deck containing every card type.** §4.5–4.6 shuffles one deck,
   deals three cards to each player, then turns three cards face-up beside it as the Department
   decks. §6.2's reshuffle sweeps the Salvage Yard *and* all three Department decks back into it. The
   Departments are therefore three face-up market slots fed from the one deck, not decks with their
   own contents.
2. **A player's Office area is a card grid, not a row.** §9 permits a Modifier "adjacent (on any of
   the nine nearby spots)" — a 3×3 neighbourhood. Appendix A's diagrams show a 2×3 grid: bottom row
   D/E/F is the Running Track with the Depot as Office at E, top row A/B/C is Secondary Track with a
   Freighthouse at C. Setup deals only three cards (§4.1), so the grid demonstrably grows in play.
3. **Facility cards are themselves track cards.** In the same diagrams the Freighthouse and Depot
   both have rails drawn across them and trains move onto them. Placing a Facility places track.

**Decision — the play area grows by playing track cards.** Plain track, turnouts and Facilities are
all played from hand into an empty adjacent grid spot and must connect to existing track. One
uniform placement rule covers every card with rails on it.

**Decision — the Running Track may be extended, moving the Limits outward.** §2.1's "the sign may be
moved outwards" is given effect: extending the Running Track horizontally pushes that player's
Limits out. Growth is uncapped for the prototype. A longer Running Track is also more track to keep
clear, so it carries its own collision risk.

**Decision — 52-card deck for the prototype.** Chosen partly so the prototype can be built from a
standard deck. **Provisional:** likely to need retuning by player count once the game is played.

| Category | Count | Detail |
| --- | ---: | --- |
| Timetabled Trains | 12 | One each, numbered 1–12 |
| Extra Trains | 4 | X9, X10, X11, X12 |
| Office upgrades | 9 | Depot ×4, Station ×3, Terminal ×2 — the pyramid Gap 3b requires |
| Freight Facilities | 10 | 5 types × 2 (Mine Tipple, Produce Shed, Grocer's Warehouse, Oil Refinery, Power Plant) |
| Modifier Facilities | 5 | |
| Plain track / turnouts | 12 | Turnout ×6, straight ×3, run-around ×3 — see below |
| **Total** | **52** | |

**Track mix (decided alongside Gap 8): turnout 6 / straight 3 / run-around 3.** Turnout-heavy because
turnouts are how Secondary Track branches onward once the Office card's own junction stubs (Gap 8)
are used up — a player who cannot draw one cannot develop past the first ring of cards. Run-arounds
are commoner than they might otherwise be, which makes the facing-point switching move of §A.5 a
normal tool rather than a rare prize.

All twelve Timetabled Trains must be in the deck: §4 starts the Division with no trains running, and
§7 creates a scheduled train only when a player draws and plays its card. That fixed 12-card block is
23% of a 52-card deck, which is what makes the composition tight.

**Decision — Extra Trains carry high numbers (X9–X12), i.e. low seniority.** They yield to nearly all
scheduled traffic, making an Extra safe filler a player can slot in without upsetting the timetable,
rather than a disruption that cuts ahead of everyone. Ties against Timetabled trains 9–12 remain
possible and are Gap 5's problem.

**Decision — Red Flag cards are a separate supply, one per player,** dealt at setup outside the 52
under the Emergency Toolbox optional rule, and **removed from the game when played** rather than
reshuffled. This keeps the 52-card deck identical whether or not the optional rule is in use, and
makes each player's flag a single precious escape.

**Card recirculation.** Office cards recycle: upgrading Depot → Station sends the Depot to the
Salvage Yard, and it returns on the next reshuffle. Only Whistle Posts, Limits, Mainline cards and
Division Point cards sit permanently outside the deck as fixed supplies.

---

### 4b — Piece counts · DECIDED

**Mainline card regions turned out to set the pace of the whole game.** §8.2 requires a train to move
one region (vertical bar) per Stage, and each Office costs one further Stage (arrive, stop for
orders, highball on the next Mainline Phase). With N players there are N+1 Mainline cards, so for
3 players:

| Regions per card | Stages to cross the Division |
| ---: | ---: |
| 1 | 4 + 3 = 7 |
| **2** | **8 + 3 = 11** |
| 3 | 12 + 3 = 15 |

**Decision — 2 regions per Mainline card.** A Day is 12 Stages, so a train crosses the Division in
just under a Day, completes its run, and frees its Crew Tray. Three regions would leave trains still
on the road when the next Day began, locking trays permanently.

**Decision — Crew Trays and engines = player count + 3** (3 players → 6, 4 → 7, 5 → 8). Comfortable
early while few trains are scheduled, and a real bottleneck once the timetable fills — which is the
arc §7 describes. Note the end state: a full 12-slot timetable launches roughly one train per Stage
and each occupies a tray for about a Day, so a saturated Division would want ~12 trays. Anything less
is deliberate pressure, and this number is a prime candidate for retuning after play.

**Decision — Rolling Stock supply ≈ 62 pieces.** Loaded and empty counts are paired because loading
swaps a white car for a coloured one (§9.3).

| Type | Loaded | Empty |
| --- | ---: | ---: |
| Coaches (blue) | 8 | 8 |
| Boxcars (brown) | 6 | 6 |
| Hoppers (brown) | 6 | 6 |
| Reefers (brown) | 4 | 4 |
| Tank cars (brown) | 4 | 4 |
| Cabooses (red) | 6 | — |
| **Total** | | **62** |

**Fixed supplies, derived from the rules rather than chosen.**

| Component | Count | Source |
| --- | --- | --- |
| Mainline cards (tarot) | N + 1 for N players | §4.2, plus one beyond each end Division Point |
| Division Point cards | 2 (East, West) | §4.3 |
| Whistle Post cards | N + spares | §4.1 — "all remaining … are set aside" |
| Limits cards | 2N + spares | §4.1; the same card moves outward as the Running Track extends (4a) |
| Number Boards | 12, numbered 1–12 | §2.3 — one per Timetabled Train |
| Fedora | 1 | §4.4 — marks the Superintendent |
| Pocket Watch | 1 | §4.4 — marks the current Stage |
| D12 | 1 | §4.3, §4.4, §7 |

---

### 4c — Train card consist criteria · DECIDED

**What a train card carries**, from §7 and §8.1: its number, its direction (from the card image), the
car types it accepts, the maximum consist, and whether a caboose is required — plus the required
**order**, since §8.1 blocks a highball unless the consist is "in correct order listed on the train's
card." A train may depart short (§8.1 explicitly permits fewer Rolling Stock than listed); it may not
depart out of order.

**The four-slot constraint.** §A.4 caps a Crew Tray at four Rolling Stock, and §2.2 lists cabooses as
Rolling Stock. A caboose therefore consumes one of the four slots, so any train requiring a caboose
carries at most **three** revenue cars. This is easy to get wrong and is baked into the table below.

**Decision — six paired classes**, odd westbound and even eastbound, arranged so the pairs work as
sister trains under the optional rule. Seniority runs passenger-first, matching real practice: low
numbers are the varnish, high numbers the drags and locals.

| Trains | Class | Consist |
| --- | --- | --- |
| 1 / 2 | Limited | 4 coaches, no caboose |
| 3 / 4 | Mail-Express | 3 coaches, no caboose |
| 5 / 6 | Manifest Freight | 3 boxcars or reefers + caboose |
| 7 / 8 | Coal Drag | 3 hoppers + caboose |
| 9 / 10 | Oil Train | 3 tank cars + caboose |
| 11 / 12 | Way Freight | 3 cars of any type + caboose |

Order in every case is engine at the front, revenue cars, caboose last where required.

**Decision — Extra Trains (X9–X12) list flexible criteria: any 3 cars + caboose.** §7 lets the player
who played the Extra load it "as he chooses, subject to the listed criteria", so keeping the criteria
loose is what gives an Extra its purpose — a train tailored to whatever cargo that player actually
needs moved, rather than a duplicate of a scheduled train.

---

## Gap 5 — Extra-train seniority ties

**Status:** DECIDED — Timetabled trains always outrank Extras.

**The problem.** §8 orders Mainline movement by train number, lowest first, and says to "remove the
'X' from extras to determine their true number." So Extra X7 resolves to 7 and can tie Timetabled
Train 7 in the same Mainline Phase. No tiebreak is given. Multiple Extras sharing a number is also
possible depending on how many Extra cards exist (Gap 4).

Gap 4a settled the Extras at X9, X10, X11 and X12 — one card each — so Extras never tie *each other*.
The only tie is an Extra against the Timetabled train of the same number.

**Decision — the Timetabled train moves first; Extras yield to every scheduled train.**

*Rationale.* This is how it actually worked: extras carried no timetable authority and ran only on
train orders, inferior to all regular trains. It also reinforces the Gap 4a choice of high X-numbers,
which made Extras deliberately low-seniority filler rather than disruptions. Leaving the tiebreak to
the Superintendent was rejected — it would reintroduce a judgment call into a Mainline Phase that
Gap 2 made fully automatic.

**Ordering rule for implementation.** Sort Mainline Phase movement by `(number, isExtra)` ascending,
where `isExtra` is false before true. Numbers are the train's own for Timetabled trains and the
X-number stripped of its "X" for Extras.

---

## Gap 6 — Victory conditions

**Status:** DECIDED — mode × victory-condition matrix, with shared failure floors.

**The problem.** §3 says goals are "a specific total Revenue Points or highest Revenue within a
specific number of Days" and, separately, Co-Op where "multiple players work to achieve a shared
goal." No numbers for either, and no statement of what the Co-Op goal is. Revenue is earned at +1
per load/unload operation and lost at −5 per collision; no other sources are defined, so the scoring
range is narrow and target numbers need to be grounded in expected per-Day earnings.

**Expected earning rate, used to calibrate every number below.** §9.3 requires four separate
Laborer-actions to complete one freight load — Green Slot → MEN → AT → WORK → onto the car — for a
single Revenue point, so a Facility with 2 Laborers needs two full Stages to score once. §9.2 gives a
Porter a point for one action, but passenger work is gated on a train actually standing at the A/D
track. Netting out, a developed player earns roughly **5–8 Revenue per Day**, which makes a −5
collision cost about a full Day's work.

### Structure

Setup selects a **mode** and a **victory condition** independently, plus a **length**.

| Length | Target | Days |
| --- | ---: | ---: |
| Short | ~~15~~ **10** | 3 |
| Standard | ~~30~~ **20** | 5 |
| Campaign | ~~60~~ **45** | 10 |

Co-op targets are the same figures **multiplied by player count**, since Co-op scores a pooled total.

> **Superseded by [Gap 10e](#10e--revenueday-revalidated-and-the-gap-6-targets-revised).** The
> struck-through figures were set here against an estimate that assumed steady-state earning from Day
> 1. Once the card faces were specified, the development ramp made them roughly 1.5× too high. The
> structure, floors and mode matrix below all stand as decided — only these three numbers moved.

### The matrix

| Mode | First to Revenue target | Highest Revenue after N Days |
| --- | --- | --- |
| **Solitaire** | Reach the target → win | Must reach the target by the end of N Days, else **lose**. Above it, the final score stands as the result. |
| **Competitive** | First player to reach the target wins | All players' Revenue **combined** must reach `3 × players × Days`, else **everyone loses**. Otherwise highest individual Revenue wins. |
| **Co-op** | Pooled Revenue reaches `target × players` → team wins | Pooled Revenue must reach `target × players` by the end of N Days, else **lose**. Above it, the final pooled score stands as the result. |

**Decision — "Highest Revenue" becomes a threshold in Solitaire and Co-op.** A comparison between
players is meaningless with one player and self-defeating among cooperating ones, so in those modes
the timed format is pass/fail against the same target figure: below it you lose regardless of score;
above it your score stands and is what players compare between sessions.

**Decision — Competitive carries a collision floor: three collisions within a single Day and every
player loses.** Counted Division-wide across all players and the Superintendent, and **the counter
resets at the start of each Day**. Applies to Competitive only, under both victory conditions;
Solitaire and Co-op have no collision limit.

**Decision — Competitive timed games also carry a collective Revenue floor** of
`3 × players × Days` — about half the expected output of a functioning Division, so it is comfortably
met by a railroad that works and missed by one crippled with wrecks and blocked Subdivisions.

| Players | Days | Floor |
| ---: | ---: | ---: |
| 3 | 3 | 27 |
| 3 | 5 | 45 |
| 4 | 5 | 60 |
| 4 | 10 | 120 |

**Why this matters beyond scoring.** The two floors make Competitive play *partly cooperative*:
players race each other inside a railroad they all need to keep functioning. It is the mechanical
expression of the game's premise — the railroad depends on you.

**Known failure mode, accepted.** A player who is clearly losing can deliberately wreck trains to
trip the collision floor and deny the leader a win. Because the saboteur loses too, it is mutually
assured destruction rather than a free grief, and the per-Day reset means three wrecks must land
inside a single Day. Flagged in the rules rather than designed around.

---

## Gap 7 — Terminology errata

**Status:** DECIDED — all four fixes adopted.

Small wording inconsistencies, settled in one pass:

1. **"Cargo phase" vs "Load/Unload Phase."** §5.1 lists the fourth phase as "Cargo phase"; the
   section heading (§9) and the turn chart both call it "Load / Unload". Pick one.
2. **"the day ends" vs "the Stage ends."** §5 says "Once all the Phases for that Stage are complete,
   the day ends." A Day is twelve Stages (§2.4), so this should almost certainly read "the Stage
   ends."
3. **"Scrap Yard" vs "Salvage Yard."** §2.3 sends completed Extra Train cards to "the Scrap Yard
   deck"; §2.6 and §6.2 define and use "Salvage Yard". Presumed the same pile under two names.
4. **"turn" vs "Stage."** Several passages use "turn" where "Stage" is meant (§4.4 "his shift runs
   three turns", §8.2 "must move one region every turn", §9 Modifier "only be used on one Facility
   in a turn"). Worth normalizing so timing rules read unambiguously.

**Decision — all four adopted in v0.2.**

| Original | v0.2 | Where |
| --- | --- | --- |
| "Cargo phase" | **Load/Unload Phase** | §5.1 — the outlier against both the §9 heading and the printed turn chart |
| "the day ends" | **the Stage ends** | §5 |
| "Scrap Yard" | **Salvage Yard** | §2.3 |
| "turn" (meaning a Stage) | **Stage** | §4.4, §8.2, §9 |

The phase name follows the turn chart because the chart is a printed component players read every
Stage; renaming it would mean reprinting it to match a single line of prose.

---

## Gap 8 — First placement into an empty Office Area

**Status:** DECIDED — Office cards carry junction stubs above and below.

**The problem.** Gap 4a established that track cards must **connect to existing track** when placed.
But a player begins with exactly three cards in a horizontal row: Limits, Whistle Post, Limits (§4.2).
If those three carry only straight-through rails, nothing can ever be placed above or below them —
there is no diverging connection to attach to. The Office Area could never leave its opening row, and
Appendix A's whole switching game would be unreachable.

Appendix A's diagrams show the Running Track row (D, E, F) carrying turnout geometry that curves up to
the Secondary row (A, B, C), so turnouts clearly live *in* the Running Track. The question is how the
first one gets there.

**Candidate readings.**

- **(a) The first build must extend the Running Track.** A player's first placement can only be a
  card played into the Running Track row, east or west of the Office, which moves the Limits outward
  (Gap 4a). Once that card is a turnout, Secondary Track can branch from it. Consequence: every
  player's opening development follows the same forced shape — widen first, then build up.
- **(b) The starting cards carry turnout stubs.** The Whistle Post and/or Limits cards are printed
  with diverging connections, so Secondary Track can be placed immediately. Consequence: no forced
  opening, but it means the starting cards are a specific printed geometry that has to be designed.
- **(c) Connection is not required for the first card.** A player may seed one disconnected card
  adjacent to their Office and connect it later. Consequence: simplest to implement, but permits
  orphaned track that trains cannot reach, which is a state the rules never contemplate.

**Decision — (b): the Office card is printed with a diverging connection above and below its
track.** Both Secondary rows are reachable from turn one, so §9's 3×3 Modifier neighbourhood is
usable immediately and players have real layout choices from the opening Stage.

```
        [   ][ ↓ ][   ]
        [Lim][Off][Lim]
        [   ][ ↑ ][   ]
```

**The stubs are plain junctions, not turnouts.** §A.1's directional rule — enter from A and you may
proceed to B or C; enter from B or C and you may only proceed to A — applies to *drawn turnout
cards*, not to the Office card. This keeps the Office card's Operational Rail status and its A/D
track rules (§A.4) from tangling with turnout directionality, which would otherwise interact badly
with §A.4's provision that trains may pass through the Office while free A/D tracks remain.

**All four Office tiers share identical track geometry** — Whistle Post, Depot, Station and Terminal
are printed with the same stubs in the same places. This is load-bearing, not cosmetic: an upgrade
replaces the card in place (§11.1), so any difference in geometry between tiers would strand the
Secondary Track attached to the old card. The tiers differ only in Control Point status, Passenger
Facility status, and A/D track count.

*Why not (a).* Requiring the first build to extend the Running Track needed no new art, but it forced
every player through an identical opening — widen, then branch — and made vertical development
hostage to drawing a turnout card early.

*Why not (c).* Permitting a disconnected first card allows orphaned track that no train can reach, a
state the rules never contemplate and the engine would have to tolerate indefinitely.

**Component consequence.** Office cards are geometrically interchangeable. Any card art must place
the stubs identically across all four tiers.

---

## Gap 9 — Consist length scales with player count

**Status:** DECIDED — the make-up round repeats until the consist is full.

**The problem.** §7 makes up a train by having each player, "starting with the superintendent and
working left," place **ONE car**. Read literally that is a single round, so the number of cars a
train receives at make-up equals the number of players.

With the Gap 4c consist specs (4 coaches for a Limited, 3 + caboose for freights), that means:

| Players | Cars placed at make-up | Limited (wants 4) | Coal Drag (wants 3 + caboose) |
| ---: | ---: | --- | --- |
| 2 | 2 | half empty | no caboose possible |
| 3 | 3 | short one coach | full only if someone places the caboose |
| 4 | 4 | full | full |
| 5+ | 5+ | over-full — round must stop early | over-full |

At two players every train leaves permanently short; at five the round overruns the consist and has
to be cut off mid-way, which the rules do not describe.

§7 does provide a release valve — "Rolling stock might be added enroute to bring it to its maximum
length" — so a short train is playable, and picking up cars along the line is arguably the intended
texture. But it is very different at 2 players than at 4, and the rules never acknowledge it.

**Candidate readings.**

- **(a) One round, as written.** Trains at low player counts run short and fill enroute. Simple,
  faithful, and makes 2-player games a distinctly different experience.
- **(b) Repeat the round until the consist is full** or no suitable cars remain in the Division Yard.
  Trains always leave properly made up regardless of table size; the make-up phase just takes more
  passes at low player counts.
- **(c) One round, and cap consist specs at the player count.** Train cards specify a maximum, and the
  effective consist is `min(spec, players)`. Predictable, but it makes the printed train cards mean
  different things at different tables.

**Decision — (b): repeat the round.** Play continues around the table — Superintendent, then left —
until the consist is full or no suitable cars remain in the Division Yard.

```
4-coach Limited, 2 players
  round 1:  P0 → coach   P1 → coach
  round 2:  P0 → coach   P1 → coach
  full — departs with 4

5 players: round ends mid-way when the consist fills
```

*Rationale.* Trains look like trains at every table size, at the cost only of extra passes around a
short table. §7's existing requirement that a player "make every effort to find a suitable car" is
the natural stopping condition, so no new rule is needed to end the round. The 5+ player over-full
case resolves for free: the round simply ends when the consist is full, and no player is left holding
a car they cannot place.

*Why not (a).* Faithful to the literal text, but it makes a 4-coach Limited leave half empty at two
players and still leaves the over-full case undefined.

*Why not (c).* Capping the consist at player count means a printed train card denotes different
trains at different tables, which undermines the point of having consist specs on the cards at all.

---

## Gap 10 — Card face specifications

**Status:** DECIDED. Full catalogue in [`card-reference.md`](card-reference.md).

**The problem.** The rules describe the *mechanism* of Laborers, Porters, capacities and Modifiers in
detail (§9.1–§9.3), and Gap 4a fixed how many cards of each category exist — but no individual card
ever received values. Nothing stated how many Laborers a Mine Tipple has, what capacity an Oil
Refinery holds, which car types a Produce Shed accepts, or what a Modifier adds. The Modifier row in
the §12.1 deck table was blank in its detail column.

This blocked every downstream path identically: the rules engine could not instantiate the `Facility`
structure defined in `architecture/game-state.md` §5, print-and-play could not draw a card, and no
balance work was possible.

### 10a — Freight facility profiles

**Decision.** Five types, moderate and varied by industry:

| Facility | Car | Direction | Laborers | Outbound | Inbound | Track |
| --- | --- | --- | ---: | ---: | ---: | ---: |
| Mine Tipple | Hopper | Outbound | 3 | 3 | — | 4 |
| Produce Shed | Reefer | Outbound | 2 | 2 | — | 3 |
| Grocer's Warehouse | Boxcar | Both | 2 | 2 | 2 | 3 |
| Oil Refinery | Tank | Both | 3 | 2 | 2 | 4 |
| Power Plant | Hopper | Inbound | 3 | — | 3 | 4 |

*Rationale.* Directions follow the commodity and give §9 all three of its stated cases. Bulk
industries get more Laborers and a 4-car track so the types feel distinct when choosing what to
build — but the counts stay moderate because Laborers are **not** the binding constraint (see 10e),
so raising them buys little beyond reducing idle time.

### 10b — Identical pairs

**Decision.** Both copies of each freight type carry the same values. Small/large variants were
considered and rejected: they double the specification work and make balance harder to reason about,
for texture the five distinct types already provide.

### 10c — Passenger facility profiles

**Decision.** Slot capacity deliberately exceeds Porter count:

| Office | Porters | Green slots | Red slots |
| --- | ---: | ---: | ---: |
| Whistle Post | — | — | — |
| Depot | 1 | 2 | 2 |
| Station | 2 | 3 | 3 |
| Terminal | 3 | 4 | 4 |

*Rationale.* Only trains 1–4 carry coaches, so an Office needs to bank boarding passengers between
visits and absorb a whole trainload of arrivals. Matching slots to Porters one-for-one would leave a
Depot idle whenever a train had not just arrived, and make a 4-coach Limited impossible to work
fully. Slot counts mirror the A/D track progression already fixed in Gap 3c.

### 10d — Modifier cards

**Decision.** Five cards, mixing capacity and workers:

| Card | Effect | Applies to |
| --- | --- | --- |
| Team Track | +1 car on the industry track | Freight |
| Loading Dock | +1 green Outbound capacity | Freight |
| Storage Shed | +1 red Inbound capacity | Freight |
| Extra Platform | +1 green **and** +1 red slot | Passenger |
| Section Gang | +1 Laborer **or** +1 Porter | Either |

*Rationale.* §2.5 and §9 say only that Modifiers "increase capacities", which taken literally would
leave no way at all to speed up a slow facility. Section Gang is the sole worker-adding card, which
keeps that power scarce. Capacity modifiers are stronger than they sound, since banking room rather
than worker count is what limits output.

**Sub-decision — what a "Freight House" is.** §9.3 and Appendix A refer to Freight Houses, but §9's
facility list never defines one. It is **not a card**: it is the collective term for a freight
facility that both loads and unloads — under 10a, the Grocer's Warehouse and the Oil Refinery. This
reconciles every reference without adding a card type or disturbing Gap 4a's deck composition.

### 10e — Revenue/Day revalidated, and the Gap 6 targets revised

**The binding constraint is Local Operations actions, not workers.** A player gets exactly one per
Stage — switch, *or* draw, *or* work the Freight Agent (§6) — so twelve per Day. Every Revenue point
costs roughly one action: stocking a green box, or clearing a red one. Capacity buffers defer that
cost but never remove it.

The ceiling is therefore **12 Revenue/Day**, reachable only by never switching and never drawing.
Realistic mid-game play spends ~4 actions switching and ~2–3 drawing, leaving 5–6 for revenue.

**The correction: the original estimate ignored the development ramp.** Players open with a Whistle
Post (not a Passenger Facility) and no freight facilities, and the timetable starts empty so no
trains run until someone draws and plays a train card.

```
Day 1    ~0    no facilities, no trains yet
Day 2    ~2    first facility placed, first train running
Day 3    ~5    developed
Day 4+   ~6    steady state

cumulative:   3 Days ≈ 7     5 Days ≈ 19     10 Days ≈ 49
```

**Decision — the Gap 6 targets are lowered from 15 / 30 / 60 to 10 / 20 / 45.** The original figures
assumed the steady-state rate applied from Day 1 and were roughly 1.5× too high. This mattered most
in Solitaire and Co-op, where the target doubles as a *minimum* — a Solitaire Standard game needed 30
in 5 Days against a realistic ~19, so it would have failed nearly every time.

| Length | Target (was) | Days | Est. cumulative |
| --- | ---: | ---: | ---: |
| Short | 10 (15) | 3 | ~7 |
| Standard | 20 (30) | 5 | ~19 |
| Campaign | 45 (60) | 10 | ~49 |

**The Competitive collective floor is unchanged** at `3 × players × Days`. It was calibrated as about
half of expected output — 15 per player over 5 Days against ~19 earned — and that still holds.

*Note on Gap 6.* Its structure, floors and mode matrix stand as decided; only the three target
figures moved, and only because Gap 10 replaced an assumption with real numbers.

---

## Gap 11 — Track card orientation

**Status:** DECIDED — orientation is chosen when the card is placed.

**The problem.** Gap 4a fixed the track mix at turnout ×6, straight ×3, run-around ×3. But a track
card has an **orientation**, and nothing says what any of them is.

- A **turnout** has handedness: which end is the stem (§A.1's "A"), and which way the leg diverges.
  A stem-east/diverge-north turnout and a stem-west/diverge-south turnout are different cards.
- A **straight** has an axis: east-west along the Running Track, or north-south connecting rows.

**Why it is not cosmetic.** Card edges must actually meet for a placement to be legal (Gap 4a). An
east-west straight placed north of the Office has no south port, so it cannot attach to the Office's
junction stub at all — the placement is illegal, not merely awkward.

Taken to its conclusion: **if all three straights run east-west, the Office's junction stubs can
never be used, and Gap 8's fix is undone.** Vertical growth needs cards with north-south ports, and
the catalogue currently guarantees none.

The same applies to turnouts. Appendix A's worked examples require turnouts facing more than one way
to be performable at all; six identical turnouts would not build the layout the diagrams show.

**What the code does meanwhile.** `TurnoutOrientation` and `TrackAxis` are carried per card in
`src/engine/state.ts`, and turnouts with no stated orientation default to stem-east / diverge-north
(`DEFAULT_TURNOUT` in `src/engine/track.ts`). Tests cover both axes and several turnout handednesses,
so whichever way this is settled the engine already supports it.

**Candidate resolutions.**

- **(a) Specify a mix.** Give the six turnouts named orientations and split the three straights
  between axes — e.g. 2 east-west, 1 north-south. Concrete, and it makes the draw meaningful: the
  card you need may not come.
- **(b) Orientation chosen on placement.** A track card is generic, and the player picks how to lay
  it when playing it. Removes the drought risk entirely and matches how model railroaders think, at
  the cost of making track cards much more flexible — arguably too flexible, since a turnout is a
  physical object.
- **(c) Rotationally symmetric cards.** Each card carries all four ports. Simplest to implement and
  impossible to be stuck with, but it discards §A.1 entirely, which is one of the game's most
  characterful rules.

**Decision — (b): orientation is chosen when the card is placed.** A track card is generic; the
player decides how to lay it. §A.1's constraint survives intact — a turnout's two legs still never
join each other — only the rotation is free.

*Measured, not argued.* With orientation fixed at a default, 100 simulated Office Areas grew only
sideways and downward, **never upward**: an east-west straight has no south port, so it could never
attach to the Office's north junction stub. Gap 8's fix was silently undone and Appendix A's
switching puzzle was unreachable.

```
before (fixed orientation)        after (chosen on placement)
  row  0: 561 cards                 row  3:   1
  row -1: 324                       row  2:  30
  (nothing above the mainline)      row  1: 193
                                    row  0: 456
                                    row -1: 186
                                    row -2:  17
                                    row -3:   2
```

*Why not (a), a specified mix.* It would have to be tuned so no plausible draw leaves a player unable
to build — hard to guarantee, and easy to break whenever the deck is retuned.

*Why not (c), rotationally symmetric cards.* It discards §A.1 entirely, one of the game's most
characterful rules.

**Implemented.** `variantsFor()` in `src/engine/track.ts` enumerates the rotations — 2 for a straight,
6 for a turnout, 2 for a run-around — and the chosen index rides the `cardPlayed` event, so replay
reproduces the same layout.

**Consequence for print-and-play.** Card art must read correctly at any rotation the card allows.

---

## Gap 12 — Balance targets are NOT reachable as specified

**Status:** OPEN, and the earlier "validated" reading is **withdrawn**.

### What changed

An earlier run reported mean 5.0 Revenue/player/Day and a ~35% win rate, apparently confirming the
Gap 10e prediction. **That was an artifact of a scoring bug.** Unloading was being scored through the
same path as loading, so an unload paid a full Revenue point after ONE Laborer action instead of
four. End-of-game statistics exposed it by showing that `loadAdvanced` never fired in 200 games.

With the pipeline corrected, honest numbers for 200 solitaire Standard games:

| | Observed | Gap 10e predicted |
| --- | ---: | ---: |
| Revenue per game | 4.6 mean | 19 |
| Revenue/player/Day | ~0.9 | 5–6 |
| Win rate vs target 20 | **0 / 200** | — |
| Freight share of gross | 21% | — |

**Nobody wins.** The targets of 10 / 20 / 45 are unreachable at this level of play.

### Is that the game or the bot?

Still the bot, at least in part. It spends about **10 Laborer actions per game against roughly 900
available** (5.3 facilities × ~2.5 Laborers × 60 Stages). It is leaving almost the entire freight
capacity of the railroad unused. Until that gap closes, the targets cannot be judged.

What the correction *does* establish firmly: a completed freight load costs **four** Laborer actions
plus a stocking action plus the switching to spot a car — far more than the model assumed. The
`card-reference.md` §7 estimate of 5–6 Revenue/Day was built on that mistake and should be treated as
unfounded until re-derived.

### Strategy signal — the first real one

Games bucketed by how their Revenue was earned:

| Strategy | Games | Mean Revenue |
| --- | ---: | ---: |
| passenger-only (freight 0%) | 94 | 4.8 |
| passenger-heavy (<33%) | 11 | **8.2** |
| balanced (33–66%) | 37 | **7.7** |
| freight-heavy (>66%) | 6 | 5.3 |
| freight-only (100%) | 18 | 1.2 |

**Mixed strategies beat pure ones**, and pure freight is much the worst. That is a genuinely good
sign for the design — it means the two revenue systems complement rather than substitute. Worth
re-checking once the bot improves, since a weak bot could produce this pattern by accident.

### The bot was NOT the dominant gap — measured

The obvious suspicion was that the bot simply failed to use its Laborers. Measured over 20 games:

| | |
| --- | ---: |
| Load/Unload decision points | 1496 |
| ...where a Laborer action was **legal** | 238 (16%) |
| Laborer actions the bot **took** | 226 |

**The bot takes 95% of the Laborer actions available to it.** The problem is that they are legal
only 16% of the time. Attributing the shortfall to bot policy was wrong.

### What is actually limiting freight

**A train stands at the Office only 18% of Stages.** Measured across 20 games (1200 Stages):

| | |
| --- | ---: |
| Stages with a train at the Office | 213 (18%) |
| Mean trains in play | 2.27 of 4 Crew Trays |
| Stages where a due train was **held** for want of a crew | 140 (12%) |
| Trains scheduled per game | 6.1 of a possible 12 |

Every freight point needs a car brought *in* and the loaded car taken *out*, and both require a
train standing at the Office. At 18% of Stages that is roughly 11 opportunities per game, capping
freight at perhaps 5 points **regardless of how well the player switches**.

Two things follow:

1. **Traffic volume, not labour, is the binding constraint** on freight. The tunable that matters
   most is how many trains are scheduled and how fast they turn around — Crew Tray count
   (`players + 3`, so only 4 in solitaire) and the 2-region Mainline card are both implicated.
2. **Solitaire with one Office may simply be a thin configuration.** It is the MVP target, so this
   matters: the economy may only come alive with more Offices and a fuller timetable.

### Bot improvements made, and what they bought

| | Before | After |
| --- | ---: | ---: |
| Freight share of gross revenue | 5% | 31% |
| Laborer actions per game | 10.1 | 13.4 |
| Cars dropped (mostly junk before) | 19.0 | 13.8 |
| Mean net revenue | 4.6 | 4.9 |

The largest single fix: the bot was dropping whichever car happened to sit at the tray's end, which
silted industry tracks up with the wrong commodity — **532 coaches were observed parked on freight
sidings across 20 games**. §A.3 forces cars off in seated order, so spotting the right car requires
re-ordering the consist with the six Moves. That is the game's central switching puzzle and this bot
still does not attempt it; it merely declines to drop a car that would do no work.

### Next steps

1. **Watch a game.** The remaining questions are about whether 18% train presence and a 6-of-12
   timetable *feel* right, which is a judgment call, not a measurement.
2. Get the bot to schedule all 12 trains (it reaches only 6.1), which should roughly double freight
   opportunity.
3. Only then decide whether the targets move or the economy does.

## Gap 13 — Deck scaling by player count

**Status:** OPEN — measured; recommendation below.

**The question asked:** should the 52-card deck be doubled?

**Measured answer: no.** 15 games per player count, Standard length:

| Players | Draws/game | Reshuffles | Trains scheduled | Freight facilities per player |
| ---: | ---: | ---: | ---: | ---: |
| 1 | 38 | 0.0 | 8.0 | 6.2 |
| 2 | 47 | 0.0 | 12.0 | 5.0 |
| 3 | 43 | 0.0 | 12.0 | 3.3 |
| 4 | 40 | 0.0 | 12.0 | 2.5 |

**The deck never depletes.** Zero reshuffles at every player count; a solitaire player sees about
74% of it. Deck size is not the constraint, so doubling would not relieve any pressure — and it
would actively hurt, by halving the density of Timetabled Train cards. Trains are the scarcest
useful card, and they are what drives all traffic.

Trains also cannot meaningfully double: the twelve are unique by number, and their numbers carry
seniority (§8). Two Train 5s would be ambiguous. Note the table shows all 12 already get scheduled at
2+ players.

**Where there IS real pressure: facilities, at higher player counts.** Freight facilities per player
falls from 6.2 in solitaire to 2.5 at four players, from a fixed supply of 10. A facility is the only
route to freight revenue, so that is a genuine squeeze — and it is a scaling problem, not a deck-size
problem.

**Recommendation: scale the buildable portion with player count, and leave trains fixed.** Add
roughly 4 cards per player beyond two — 2 freight facilities, 1 track, 1 Office upgrade — giving 52
at 1–2 players, 56 at 3, 60 at 4. This keeps train density high in the early game, where traffic
needs to get started, while giving each player material to build with.

**Not yet decided**, because it interacts with Gap 12's variance question: more facilities per player
would raise the ceiling on the runaway mode as well as the floor.
