Files
Dune/docs/DEFERRED_MOVEMENT_ARRIVAL.md

111 lines
6.7 KiB
Markdown

# Deferred movement and arrival validation
13 September 2026. This work repairs a development-game deadlock without
assigning an unverified order to simultaneous expansion reactions.
## Native Intrusion classification — 15 October 2026
Shared preflight no longer treats **resulting** BG Intrusion as an already
active decision. Actual busy controls and the pre-entry fighter choice
remain blocking. The existing committed-entry queue waits for Intrusion
and accompaniment before offering the original Ambassador entry.
An accompanying counter joining retained fighters is a distinct child:
existing child-first/live-token order remains an explicit provisional
composition, not a new publisher priority. Advisors are exempt.
Original actions, cancellation paths and actual movement continuation pass
in the [native shipment follow-up](DEFERRED_SHIPMENT_ARRIVAL.md#native-own-arrival-continuations--15-october-2026).
This supersedes the historical blanket Intrusion exclusion below, not
unsupported competing-reaction/module guards or public acceptance gates.
## Reproduced failure and source boundary
The all-three-expansion Advanced sample from checkpoint `cab2f1c` stopped on
turn three after 614 accepted actions. Tleilaxu declared three forces moving
to Carthag, where CHOAM had one force. That opened CHOAM's Baliset opportunity.
Carthag also held Ecaz's Fremen Ambassador and a concealed Moritani Terror
token. After CHOAM declined, the unchanged arrival guard rejected the
Ambassador/Terror overlap, trapping the already accepted declaration.
CHOAM's Baliset prevents movement into an occupied territory; it does not
prevent shipment. Therefore its prevention window precedes actual entry.
Successful prevention creates no arrival. Decline or cancellation allows the
original move to be revalidated before any entry occurs. The latter is a
composition of the printed effects, not a separate combined FAQ.
[GF9 CHOAM & Richese, p. 7](https://www.gf9games.com/dune/wp-content/uploads/2021/11/CHOAM-Rulebook-low-res.pdf#page=7)
Ambassadors and Terror both offer optional effects after qualifying entry.
The Ambassador FAQ interrupts the entrant's remaining work, but neither it
nor the Terror rules establishes priority between the two. A targeted
publisher/designer search found no additional priority ruling. Their order
is material: a Fremen Ambassador can relocate forces, while Atomics kills
forces in the marked territory. The current gate remains; no storm-order
policy or lost-opportunity rule is inferred from tests.
[GF9 Ecaz & Moritani, pp. 5, 7 and 15](https://www.gf9games.com/dune/wp-content/uploads/EcazMoritani-Rulebook-LOWRES.pdf#page=5)
At this 13 September checkpoint, the user clarification about a possible
storm-order policy was pending, so the gate below remained. The user's later
standing instruction to choose the conservative recommended interpretation
instead of asking again led to a bounded storm-order continuation on
29 September; see [the source distinction and selected policy](MORITANI_ENTRY_TIMING.md#selected-bounded-overlap-order--29-september-2026).
The gate remains for competing BG Intrusion, child-producing Ambassador
effects, other modules and unfinished Atomics. An unavailable combination is
unfinished software scope, not a physical-game prohibition.
## Continuation contract
Fresh ordinary movement checks its arrival through the existing shared quote
before opening native Ixian, Fremen or CHOAM prevention windows. An unsupported
destination rejects the original action without saving a pending response or
committing forces, costs or movement use. Supported single-reaction arrivals
keep their existing controls and outcomes. Ambassador-generated relocation
continues to use its own validated source and return path.
For an already saved CHOAM movement declaration, an explicit decline can return
an uncommitted move to its original mover if the typed arrival validation
rejects it. The chronicle explains the reason; the mover can choose another
action without spending its movement. This recovery does not trigger an
Ambassador or Terror effect, remove their tokens, or invent an arrival order.
Any previously reserved Ornithopter stays in escrow for a replacement move;
that exact card retires once when its use ends. No additional resources are
spent by the return itself. Unrelated failures are not swallowed. Karama cancellation retains its existing
preflight before any cancellation cost is spent.
Focused regressions and saved-state review cover both new declarations and
legacy pending choices. The checkpoint report records final verification and
sample results. This repairs continuation safety; complete simultaneous
arrival handling, expansion acceptance and public starts remain unfinished.
## Integrated sample evidence
The reusable harness repeated the six genuine-setup scenarios with base seed
20260926. All completed; the first five retain their previous action/restore
counts. Combined Advanced now finishes on turn six with CHOAM winning, after
1,303 accepted actions and 35 JSON restorations. Its 46 rejected candidates
(eight moves and 38 shipments) still encounter the explicit Ambassador overlap
guard before using a legal alternative. This is not full combination acceptance.
Separately, the exact prior failed snapshot resumes through the saved CHOAM
decline and finishes after 691 additional actions and 18 restorations, also on
turn six. Its continuation uses a new seeded stream, not reconstructed earlier
random state. It records 39 guarded candidates (seven moves, 32 shipments).
The input snapshot SHA-256 and private traces are retained in the report.
Both source-bound runs passed; subsequent result documentation changes do not
change their gameplay source. The checkpoint verifies that source correspondence.
Existing browser rooms restored the same Ecaz Storm-opening choice and Ixian
Richese auction, private cards and spice after reload. This checks outage recovery;
the new movement-return path is covered by engine and SQLite tests, not a staged
browser claim. All 632 opening saved games and original seat records matched the
backup, and the healthy development server was reused.
## Bounded storm-order continuation — 29 September 2026
Classic plus Ecaz/Moritani development tables now snapshot a genuine shared
entry and offer each eligible owner one optional response in current storm
order, with the same original arrival receipt across JSON/SQLite restart.
The first resolution precedes the next prompt; neither response replays
shipment cost, physical force arrival or the mover's action. Public owner
order and current actor are visible without projecting a concealed Terror face.
This provisional table order does not certify Atomics, Intrusion, Ambassador
child arrivals or all expansion combinations, and no existing game is reset.