ReviewOS

stacks/the-settlers-iii-remake

Choose reachable specialists and equipment before accepting dispatch

#230
Closed chris opened this 18 hours ago ·
18 hours ago

Specialist dispatch currently chooses the nearest shovel to the target before checking whether a carrier can reach it. A public scenario with a shovel on a six-neighbor water island and a farther reachable shovel accepts the order but never equips a pioneer. The isolated shovel repeatedly wins selection despite valid stock.

Parent work: #40 (S3-038), related #50 (civilian specialists), #94 (deterministic replay).

Acceptance:

  • Dispatch chooses reachable existing specialists or a real carrier/tool pair whose full trip can reach the destination through ordinary movement rules.
  • Unreachable orders create no equipment reservations or phantom professions.
  • Preserve carrier minimums, goods ownership and conservation.
  • Freeze published rules 0.15.0; new routing behavior receives a new evidenced engineering profile while older saves/replays retain their behavior.
  • Public-session regressions cover disconnected tools, carriers, specialists and destinations, plus save/restore/replay.

This is an engineering correctness correction, not an original Gold timing or balance observation. Reproduced with bun test tests/unit/specialist-dispatch.test.ts: expected one pioneer after 1,000 ticks, received none.

18 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.

17 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.