ReviewOS

stacks/the-settlers-iii-remake

Freeze active construction work and due effects when a site is suspended

#231
Closed chris opened this 20 hours ago ·
20 hours ago

Suspending a construction site only affected its next work loop. A builder or digger already working could finish its pending operation after pause, consuming a material or changing elevation. A due effect also committed on the suspend command tick.

Parent: #35 (S3-033). Related: #94 (deterministic replay), #92 (versioned saves).

Acceptance:

  • Pausing freezes the active site program, including elapsed work and already-due effects, until resumed.
  • Both leveling and building preserve terrain, materials and remaining work during suspension.
  • Resume continues retained work; demolition releases paused crews and reservations.
  • Mid-pause saves and replays agree; immutable published profiles retain their previous behavior through the new engineering 0.16.0 profile.
  • Public-session regression tests retain the original four failing reproductions.

Reproduction: bun test tests/unit/construction-suspension.test.ts. Before correction a paused building site consumed a material (remaining work 7 to 6), and a leveling site changed elevation (remaining leveling 54 to 53).

This correction does not establish original Gold cancellation/refund values, which remain within #35.

20 hours ago

Implemented and pushed in db1029e as Chris, without coauthors. Engineering profile 0.16.0 fixes both reachable specialist dispatch and suspended construction programs; frozen 0.15.0 retains digest f9f2adad01804a09836577c6732a1b79e9c79ea7c02327a40b00a076117bd912 and its previous save/replay behavior.

Validation: all 482 unit tests / 85,739 assertions passed, lint has zero errors or warnings, app/tools/STX types pass, frozen installation is unchanged, all asset/content checks pass, and the final production build passes. Real Chrome passed 58 campaign steps, 19 construction/production/accounting/save steps and 26 home/demo/registration steps. Campaign and production diagnostics contain no console, request or collection errors.

The retained source and execution receipt records failing reproductions, source hashes, rules identities and check results. Hosted CI will have its own run evidence.

The linked narrow defects are #230 and #231. Original Gold numeric behavior and parent-issue fidelity criteria remain unverified; this does not complete #35 or #40.

19 hours ago

Exact-source CI 41387680636 passed on db1029ed444d0dbc35be01f003aae83eff43f540, including all 482 unit tests and the complete 22-suite production browser matrix. The same source successfully deployed in production run 41387712090, with the public smoke gate passing and rollback skipped.

Downloaded original diagnostic artifact 13116529620 and independently verified GitHub SHA-256 dc8db14580ae704ff59c1da278575af34a985f82fec0051d40162a1f462d6a98, all 45,955 archive bytes and every ZIP CRC. Read back all 22 diagnostic suites, including nested multi-viewport reports: all 1015 browser steps succeeded, all recorded process exits were zero, and no available console-error, failed-request or collection-error arrays contained entries. Original-media rasters were not included in the artifact.

This completes the narrow engineering corrections #230 and #231. Parent #35/#40 and complete native/Gold qualification remain open.

Sign in to comment on this issue.