The off-axis scouting candidate exposes a real engine resting-placement failure in an ordinary passive-player seed2 battle. At tick26,000,12carriers share two occupied owned tiles and repeatedly order settle movement to nearby neutral tiles. The ordinary civilian router permits owned territory only, so the same target fails every tick (2,409expanded nodes per query). The resting selector currently accepts neutral candidates and searches geometrically through obstacles.
Captured examples: carrier85 from tile4534(owner2, holder102) to4536(owner0); carrier91 from4407(owner2, holder101) to4408(owner0). Both destinations are passable, but are outside legal civilian movement. No world, goods, settler, terrain or clock edits. Captured profile0.10.0 on base main340ddc2 plus the staged #200source hashes; generated fixture/provenance retained locally, no original media.
The unchanged battle test now takes479seconds, remains playing at its existing50,000tick bound and fails; its declared120secondtimeout is retained. CPU profiling attributes67.6%inclusive time to tickSettler, dominated by repeated A* failures. A normal26,000to27,000tick diagnostic takes10.9seconds, checksum90cb4942 and clean conservation. This is civilian resting movement, not a combat-cache defect. No memoization, timeouts or game speeds have been changed.
Acceptance:
- Reproduce the captured contradiction through public Session execution and normal profile/setup commands.
- Select a genuinely free reachable resting tile through the same enterability, elevation and civilian-territory rules as ordinary movement. Use normal movement, no direct relocation or visibility/goods grants.
- If no legal free destination is reachable, do not keep issuing the same impossible movement program every tick.
- Version the changed simulation behavior, freeze published0.10.0, and retain exact older-save/replay behavior. New default rules remain explicitly engineering evidence.
- Test normal seeded progression, reachable/neutral/blocked boundaries, goods/people conservation and mid-movement restore. Retain before/after profiles without flaky wall-clock unit assertions.
- Pass the original battle bound, full source/browser acceptance and exact pushed-main CI; do not increase deadlines or skip the failing scenario.
Related #200, #76, #73, #74 and #4. This issue blocks publication of the current scouting candidate. Framework packages remain unchanged.