03-decision-cost-of-conquest.md · non-normative

Decision — the Cost of Conquest is an estimate that names its assumptions

Taken 2026-09-10. Binding. Recorded like 01-decision-turn-model.md and 02-decision-reach-units.md, because it settles a contradiction between two specifications rather than choosing an implementation.

The decision. Every line of 12-economy.md EC-1850's Cost of Conquest panel is computed from the city's class, its traits, its observed works level and the player's own facts. Where a line would otherwise read a term the player cannot see, it is given as a bound or a class figure and names the term it assumed. EC-1855 states it; EC-1860's "knowledge view only" and its observation-age marking are unchanged and now satisfiable.


The contradiction

EC-1850 requires seven lines "from the terms the player can see":

Line What it reads
Immediate yield Effective Works at Integration floor(loyalty[me] / 2)
Starting Unrest the class value plus any Citadel term, or 0 for a Homeland claimant
Garrison required points at the starting Integration, and the units that satisfy it
Turns to digest turns to Integration 100 with one Cadre, at the supply state it would have
Cadre cost the price of the player's next Cadre
Levy earned Manpower per turn at Integration 100, and when the first point arrives
War Damage the value after the capture increments it

EC-1860 requires the panel to use only the player's knowledge view.

01-game-rules.md GR-1140 fixes what that knowledge is, exhaustively: the terrain type, the tile Installations, the River-edge features, whether a City is present, the works level of that City where the tile was observed at fidelity 3, and the observation turn. GR-1180 then forbids the view containing anything else the player has not observed, and makes it testable (03-architecture.md AR-950(c)).

So loyalty, integration, population, unrest and warDamage are not available for a foreign city at any fidelity, and five of the seven lines cannot be computed. Verified against the shipped projection: an explored tile carrying a city exposes tile, terrain, installations, edges, hasCity, cityOwner, cityClass, cityTraits, works and observationTurn — GR-1140's list exactly, and nothing more.

The two resolutions, and why this one

Admit the five fields to GR-1140. Rejected. A player's Terrain Record is hashed state (AR-155), stored per player per explored tile, so five more city fields is a rules change that moves every state hash in the project — the 33-game corpus, both committed containers, the CLI goldens — for a readout. It also enlarges exactly the surface GR-1180 exists to keep small, and it would have to answer a fidelity question per field (at what fidelity does a scout learn a city's population?) that no requirement currently asks.

Restate the lines as estimates. Taken. It costs nothing, it is what EC-1850's own header already says — "from the terms the player can see" — and it is strictly better for the player than the alternative reading, because the alternative is a blank line. "At least 4 Works next phase, more if you hold Loyalty here" is a figure a player can act on. A precise figure they cannot be given is not a figure.

The naming clause is the load-bearing half of the ruling: an estimate that does not say what it assumed is indistinguishable from a reading, and this panel exists to be trusted before a player commits a unit. So each line carries the term it could not see, in the same breath as the number.

What each line becomes

Line Given as The term it names
Immediate yield Effective Works at Integration 0 and Industry 1, as a lower bound Integration on capture is half the player's Loyalty; Industry is the city's own
Starting Unrest class value + 20 for a Citadel — exact zero instead for a Homeland claimant, which nothing tells the client
Garrison required points at Integration 0, and the Integration at which they drop — exact —
Turns to digest the forecast with one Cadre, a met garrison and the band the player's own network gives that tile the garrison assumption and the supply state
Cadre cost the player's own next price — exact —
Levy earned the levy at the class's population cap and Integration 100 the city's actual population
War Damage +1 on capture — exact as an increment the current value, so this is not the total

Two of the seven name nothing — the garrison requirement and the Cadre price, both computed from terms the player owns outright. The other five carry an assumption, and each is a bound in the direction that cannot mislead: the yield is a floor, the levy an eventual ceiling, the digestion an assumption stated, the Unrest exact but for one clause nothing tells the client, and the War Damage an increment rather than a total.

What it does not change


Built from source 47fa2827eff0 · VERSION.json