ReviewOS

stacks/the-settlers-iii-remake

Prevent construction sites from enclosing moving settlers

#193
Closed chris opened this 8 days ago ·
8 days ago

A normal seed-2 two-economy match at game main 85ac0f1e805edca6f6d008897089218345657f85 stalls with both players still alive at tick 100000. Rival geologist 87 stands at 87,79 with unreachable; every one of its six neighboring tiles belongs to iron-mine footprint 2352. Reissuing the ordinary survey command at 87,77 fails movement immediately, and the AI repeats it at ticks 100001, 100080 and 100200. Conservation is clean.

Construction checks the resting occupancy index, but movement vacates that index at the beginning of a step. It therefore misses both the walker's current tile and the destination of an already-started step. This allows a site to enclose a moving worker. Two minimal public session/placement tests fail on the current source because both placements are accepted.

Captured complete normal checkpoint: SHA256 50d21d30b27452400089a9ca0b350187b251c414d9dd2c6629f09c6531d313be, 464751 bytes. The checkpoint and full local trace remain retained with the task evidence. This is an engineering simulation defect, not an original executable observation.

Acceptance:

  • Reject a building footprint that intersects an outside settler's current tile or the destination of a step already in progress.
  • Permit the site after the worker actually clears it. Keep unrelated walkers and future routes usable.
  • Retain the published 0.9.0 rules unchanged, with deterministic old save/replay behavior. Version the changed construction policy.
  • Verify both public preview and command enforcement, goods/people conservation, mid-step save/restore and actual web regression checks.
  • Continue the stronger same-rules match and report remaining stalls without treating this correction as full skirmish or Gold qualification.

Related: #29, #34, #73, #74, #76, #4.

8 days ago

The owning simulation fix is implemented on base 85ac0f1: a new construction site rejects an outside settler's current tile and committed next step. The original resting occupancy check remains in place. No teleportation, free goods, patched runtime or clock changes are used.

New settlements use engineering profile 0.10.0, digest ac7a5d264941b39ef94fe8f9d11613356de3c70e130617ce7d19960fc060021b. Published 0.9.0 is retained verbatim in the catalog. Six command/placement regressions cover leaving and entering a site, mid-step restore, eventual valid construction, future-path obstruction recovery, old saves/replays and rule validation.

Current validation: 278 unit tests pass with 22810 assertions; lint has zero errors/warnings; type checks, assets, fidelity/roadmap checks and the production build pass. The production browser suite has passed campaign, desktop/phone control frames, resize, production, selection, recruitment, working areas and skirmish. The full paced rival battle and final document reload are still running, so this is progress, not final acceptance.

A stronger normal-start, two-economy seed-2 probe reaches 200000 ticks, checksum 60a8248b, with both players alive, clean conservation and zero rejected command submissions. The geologist is no longer enclosed. Both sides' production is unchanged between ticks 100000 and 200000, so the wider same-rules economy/skirmish issues remain open while resource planning is traced separately.

8 days ago

Source fix is normally pushed to main as Chris, without coauthor trailers: https://github.com/stacksjs/stacks/commit/e7e0770c47450738ecf5c3da5f584347a7f763ef.

The real two-version Mach-O regression passes, including invalid-cache replacement that preserves the old bundle and source app. Final checks: 45 browser tests / 230 assertions, 10 real scenario tests / 65 assertions (including 65-second idle), 13 package/skill contracts / 190 assertions, 3 declaration tests / 10 assertions, testing package build, complete framework type checks, full Pickier lint with zero errors/warnings.

The first validation candidate exposed repeated full signature verification on warm sessions. The final source reuses the immutable validated generation while an owned shared process is alive; the original five-second warm-session check now passes. Earlier failed startup and low-disk runs remain retained as failure evidence. Browser flags, sandbox and startup/scenario deadlines are unchanged.

Source qualification receipt: https://github.com/stacksjs/stacks/blob/e7e0770c47450738ecf5c3da5f584347a7f763ef/docs/guide/buddy/receipts/chrome-framework-signing-2026-10-25.json.

The maintained bun run release:patch is running using the qualified original Pantry 0.11.127 and Bun 1.4.4. Published source/release gates, original package/native artifacts, normal downstream install and complete game browser acceptance are still pending. This issue remains open until those are verified.

8 days ago

Construction no longer places a footprint over an outside settler's current tile or committed next step. Placement preview and the executed build command use the same check. New settlements use engineering profile 0.10.0; frozen 0.9.0 saves and replays retain their own rules.

Implementation: https://github.com/stacksjs/the-settlers-iii-remake/commit/08d4eff3b50eb295e68324c2b453551cf829defb

Verification: six focused construction regressions (50 assertions), 283 unit tests, clean lint/type/assets/fidelity/roadmap checks, the production build, and 385 browser steps including a full ordinary-4x battle and real save/reload. Exact pushed-main CI: https://github.com/stacksjs/the-settlers-iii-remake/actions/runs/40225612811. Original retained diagnostic artifact SHA-256: 732cbccb239192709ac82a56aa0c393eadcc2f7e6f5319699f9bb9ca85c3ebf5.

The receipt is docs/roadmap/receipts/construction-occupancy-0.10.0-2026-10-25.json. This closes the captured moving-settler enclosure defect. Full Gold behavior and native presentation remain open in the roadmap.

Sign in to comment on this issue.