An ordinary two-policy seed-3 match spends its last three stones on a fourth small tower at tick3,120, before granite is known. It has no stonecutter. The tower is a legal public command, but it consumes the entire budget needed for a future stonecutter. Later exploration finds granite after the remaining permitted non-military refunds can no longer pay the quarry. At100,000ticks player1 has produced no stone and the match remains unfinished; a continued normal trace remains unfinished180,000 with clean conservation and no failed executions.
Owning source: game economicAI construction planning. The current bootstrap guard only applies once granite is known. Expansion orders and other optional buildings can commit the last quarry budget earlier.
Captured ordinary checkpoint before the last-stone tower: source ccaf4315f5301811a1848de8106136937ed937b7, generated simulation only. Full SHA256/size will be retained with the regression fixture. No world, goods, worker, terrain, rule or clock edits.
Acceptance:
- Preserve a real stonecutter construction budget while no stonecutter exists, including when granite has not been discovered yet.
- Apply the budget to expansion towers and other optional construction; account conservatively for unfinished sites without inventing goods or using hidden deposits.
- Permit normal stonecutter construction when a usable site is known, and retain ordinary expansion when sufficient spare stone exists.
- Retain a public observation/ordinary command regression for the captured spending failure and matching restore/conservation through later play.
- Repeat normal seeded economies and report any remaining resource/survey/production failures. Do not claim every seed or Gold behavior from this scoped correction.
- Appropriate source lint/type/unit/build/browser checks and exact pushed-main CI must pass before closure.
Related #73, #74, #76, #43 and #4. This is engineering AI against profile0.10.0, not an observed original Gold difficulty policy.