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:

  1. 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.
  2. Every cost is producible — any resource a construct costs has a producer somewhere in the same age.
  3. Everything is reachable — every non-seed construct is free or unlocked by a non-reserved Knowledge node.
  4. 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.
  5. The spine completes across the wired arc from one fresh Stone start.
  6. 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