Progression & the fresh-start guarantee
How a settlement gets from “almost nothing” to a working Knowledge economy — and the contract that makes it impossible for any age (including future ones) to soft-lock a fresh start.
The progression contract
Enforced by ProgressionContractTests for every age with catalog content —
wiring any later age auto-enrols it, Contemporary next (ROADMAP age-wiring contract #10). Born from the on-device Stone
soft-lock of 2026-07: structures cost Wood → the only Wood producer was Knowledge-gated → the
node cost Insight → Insight had no mid-age income. The contract, per age:
- The free starter set is economically closed — the seed trickles the fuel, a free harvester produces the staple, the free dwelling houses, and every free construct is payable from the free set's own outputs.
- Every cost is producible — any resource a construct costs has a producer somewhere in the same age.
- Everything is reachable — every non-seed construct is free or unlocked by a non-reserved Knowledge node.
- A fresh start provably progresses — a scripted greedy player (0 Insight, empty web) earns Insight, buys Forestry, opens the fuel economy, and grows, inside one hourglass.
- The spine completes across the wired arc from one fresh Stone start.
- The frontier can never wedge a run — placement is now spatially gated (below), the
scripted player's placement scan is reach-aware, and a terrain-gated construct with no
matching terrain inside the frontier is exempt until some exists (the
Expedition Waiver) — so no seed or Upheaval history can strand
the fuel or ore economy out of reach (fenced by
FrontierHistoryTests, a deterministic fan over seed × age-history combinations).
The frontier — a new shape of placement gate
Until urbanism Phase 2, every placement gate was aspatial: is the type researched
(NotUnlocked)? affordable (Unaffordable)? does the footprint fit
(bounds/occupancy/terrain)? The frontier adds a gate of a different shape —
where you build is checked against a derived reach envelope: a
seed disc at the valley origin ∪ chain discs around everything already placed
(∪ street corridors, from the Victorian age once roads land). Out of reach refuses with
OutOfReach — "Beyond the frontier — build closer."
Three properties keep it from ever touching the guarantees above: it is purely derived (nothing stored — old saves re-derive, and restored placements are never re-validated); placements only ever add reach and demolition never retro-invalidates what already stands (though removing an anchor can shrink where you may build next); and it is waived exactly where it could wedge — a terrain-gated kind with no legal spot inside the envelope may found beyond it, and the expedition camp then anchors the next chain step. Prior-age ruins beyond the frontier anchor nothing until a live construct reaches them — reclaiming a beacon is expansion, not a loophole. Full mechanics: Urbanism → The frontier.
A simulated first playthrough, per age
The timelines below are real sim runs: the exporter boots a fresh world (population 3, Insight 0, empty web, default seed) and plays the same modest greedy policy the contract test uses — resolve crises with the first choice, buy every affordable node, build first-of-each-kind, keep staple income ahead of mouths, add housing when full. It places by a nearest-first ring scan from the origin, so it plays inside the frontier automatically — every timeline below is a run under the live reach rules. If it can progress, a human can.
Reading the curves
- Insight stair-steps up on discoveries (+) and milestones (+ at population ) and drops at each unlock.
- Fuel should never flatline at zero early — the seed trickle guarantees income before the fuel harvester is unlocked.
- Population rises in steps of one every 4 fed ticks while housed; watch it stall whenever housing lags.
- The run ends at the Upheaval: survivors ≈ population × readiness (banked staple 60% / shelter 40%, unrest penalty) — a greedy expansionist ending with a thin bank gets punished, which is the intended tension.