Files
Dune/docs/ATREIDES_FULL_PLAN_TIMING.md
Quintine 61828150b9 Keep Atreides special inspection available until plan reveal
Allow native Advanced use after declining the first offer, including a sealed
target. Reuse projected card/target permission in persistent controls and
minimal bots; retain sealed plans and finish target-last public reveal once.

Source: authorized supplied physical27 F. Ordinary preparation priority and
target-first ordering remain provisional; no new reading acknowledgement.

Verified: 11 affected offline files126/126, types/lint, production build, five
actual control/gameplay/GameTable SSR journeys and eight legal profile paths.
No saved-room, D1, reset, restart or deployment operation.
2026-10-24 18:49:22 +11:00

13 KiB
Raw Permalink Blame History

Atreides full-plan interaction audit

Before-reveal window — 24 October 2026

Prototyped / Partial. The authorized supplied revision, physical p27 F, allows the native Advanced special Karama before Battle Plans are revealed. The initial offer after preparation remains, but declining it no longer forfeits this battle's later opportunity. A quiet boundary with zero or one sealed plans permits the same held spendable card and once-per-game use, including Atreides outside the current battle. This supersedes the older pre-first-seal deadline documented in the historical audit below; no explicit user decision fixed it.

A focused public-state timing quote serves native preflight and the private owner-only projection. It never reads the opposing plan. Persistent controls reuse that permission and original special-card action; both combatants remain selectable. The initial offer uses those same controls, with its separate keep button. Minimal bots retain their existing own/allied target preference and use the shared permission at the initial or later window. No strategy tuning.

Selecting an already sealed target immediately makes its original committed plan and selected physical card faces available to Atreides alone. Selecting an unsealed target retains the existing target-first rule. Already sealed fields, physical cards, forces, support payments and Truthtrance commitments are not reopened or refunded. The private read does not itself materialize a No-Field; the previously recorded distinction remains unchanged.

If Atreides has already sealed, a target that commits last completes both plans and the normal public reveal happens in that same action. There is no new reading pause or acknowledgement and neither combatant can revise its plan. This deliberately preserves the existing automatic reveal protocol. Target-first sequencing and Voice/ordinary Prescience preparation priority remain provisional implementation compositions; the source supplies the before-reveal deadline rather than those network ordering details. Current response, decision, Truthtrance, card-effect and preparation priority remains.

The genuine three-seat fixture uses public native Advanced setup and original undealt card/Spice positions. Atreides earns its Shield at an actual one-spice auction, pays four to ship two forces and moves two from Arrakeen; Emperor pays four to ship two into that territory. Native preparation reaches the original offer, which is actually declined. No played phase, army, wallet, hand or plan is assigned. Branches use real legal plan actions in either sealing order. The source prefix is49 actions at the original offer or50 after its decline.

Current scoped proof

The frozen 11-file126/126 affected offline union, npm run check:quick, production build and actual changed-control smoke pass. Nine new native-window cases, seven UI cases and an unrelated-owner late read cover immediate sealed inspection, target-first continuation, own-sealed target-last reveal, self target, unchanged plans, physical cost, rejected timing/target/card choices and all four existing profiles. Earlier No-Field assertions retain the original marker and ordinary planning rather than asserting the obsolete deadline.

Five actual new-component callback/gameplay/full GameTable SSR journeys reach Collection: initial, later zero-seal, target already sealed, own already sealed and own sealed self target. Eight own-view profile paths (zero/one seal for each profile) accept eight original inspection actions and continue the native battle. This is runtime and server-rendered control evidence, not browser/hydration, mobile, complete-game or deployed certification.

First frozen feedback was125/126: adding a new shared pre-leader readiness guard incorrectly blocked an existing Richese/Semuta initial offer. The repaired quote retains the original Voice/Prescience preparation priority, while shared readiness continues to guard actual plan commitments. The exact failing case passes1/1. Second frozen tests pass126/126; type feedback then corrects checklist schema metadata and two intentional test assertion types, with no rule behavior change. Final types/lint/build and all scoped proof pass on unchanged source.

The source-bound proof is based on 660b0a0c258aeab6b3002a42a1f5ef6d527c1006, tree dee3d11ca7dbfc6454530650087ce25967cd5d16e5b9694ce962a52e092d00ff (2711 nonignored files). Private reports/logs/control renderings remain outside Git in 20261024-atreides-full-plan-window/frozen-integrated-3; the final checkpoint prose/reference overlay is reviewed separately with source hashes.

Relevant paths: timing and policy, controls, native fixture, native regressions, control regressions, existing full-plan cases and existing No-Field cases.

Full Basic/Advanced/expansion modes, wider optional combinations, comprehensive rules/save/privacy/custody/browser/deployed acceptance and full AI remain unfinished. No saved-room, D1, reset, restart or deployment operation is needed for this slice. The historical evidence below retains its original date/scope.

13 September 2026. This audit verifies the existing native Advanced interaction paths without promoting an implementation timing choice to an official ruling. The public Advanced and unfinished expansion gates remain closed.

Supplied-source No-Field composition — 16 October 2026

The authorized supplied revision, physical p27 C, restricts the ordinary one-element Battle Prescience dial choice against a No-Field. The distinct p27 F special Karama says to look at any one player's entire Battle Plan before public revelation. Physical p36 B names Prescience in its No-Field dial exception; it does not separately name this special power.

Under standing choose-recommended, the prototype provisionally keeps those powers distinct: ordinary dial Prescience stays prohibited, but native Advanced special Karama may inspect the actual complete committed plan. This is explicit textual composition, not a newly retrieved combined FAQ or a newly answered user question. Other native special-use/counter/mode limits and the provisional original target-first offer order remain.

The actual target commits first. Only Atreides receives that plan's dial, support, leader and physical played faces. This entitlement does not expose the token inventory or a prospective maximum to other seats. Private reading is not public token revelation: reserves, marker and original event remain unchanged until both combatants seal, then the native zero/capped materialization and card/cost/loss history run once. This private-read-versus-public-reveal composition is provisional as well. No saved field, Basic power or public expansion start is added.

The same distinction follows native mixed Occupy: an active Ecaz plan uses the original fixed increment plus Richese variable dial; prevention restores only the chosen lead's own pool. It does not erase the unrelated marker's original revelation or alter original card-user funding/physical losses.

Scoped native proof

Eighteen new actual-shipment inspection cases and the frozen29-file393/393 related union pass, with types/lint/build and existing warnings. A final type-narrowed real-Traitor case passes1/1. Fixture repairs preserve real shared preleader readiness and test an actually legal alternate leader's ordinary commitment; no product preparation or target-first guard is weakened.

Four actual390px journeys finish original battle-card cleanup/CHOAM market into phase7: zero with real leader/cards; mixed ordinary dial3.5/support2; Ecaz total5/support0 with marker5 capped to2; Richese H/R total6/support3. Each actual private read leaves the native marker, reserves and force arrays unchanged. Ordinary Prescience controls still offer only leader/weapon/defense. The mixed defeat loses6 real counters. The capped co-side loses4 Richese and3 Ecaz counters; H/R spends its original3 after materialization, returns2 and ends Richese reserves2/Tanks6, Ecaz Tanks3. Native token history remains.

Sixteen fresh native programs across all four profiles accept92 policy actions through Collection, including original active/prevented owners and actual Traitor outcomes. The guide imports with34 evidence paths/source anchor valid; five No-Field facets and both topic coverages stay Partial. No overflow/browser/ application error; owned host/tab/scaffolds removed. Native controls here use explicit conserved battle staging after genuine setup/shipment, not complete unstaged games, new save assurance or deployed acceptance.

Published requirements and remaining interpretation

The GF9 base rulebook, printed p14 gives Advanced Atreides a once-per-game Karama inspection of any one player's entire Battle Plan. Its Q&A p23 orders Voice before ordinary Prescience, permits Truthtrance during that interaction and leaves unaffected plan components changeable. The Q&A p22 permits a Ghola-revived leader to fight during Battle.

The November 2020 FAQ, pp8–9 confirms any-time Truthtrance, current-turn commitments with impossibility release, and the Battle-phase Ghola use. The independent source audit retrieved official indexed text for these passages.

Neither retrieved source orders special full-plan inspection against ordinary Voice/Prescience, fixes the special offer's exact deadline, or expressly chooses which combatant seals first. This implementation offers it after preparation, before either plan is sealed, and requires the selected target to seal first. Ghola cannot be played during the pending offer; it can be played after that decision resolves. These remain explicit implementation choices. The older WBC wording supporting target-first commitment is outside the requested GF9 authority and was not adopted as a publisher ruling. Preserve the existing unresolved interpretation instead of silently enabling Advanced on the strength of tests.

Verified interaction boundary

tests/full-plan.test.ts now uses initializeBaseGameForAudit and completes actual Advanced prediction, traitor and BG advisor setup before staging a battle. It no longer starts Basic and flips the mode afterward. A staged scenario remains distinct from a setup-to-finish Advanced game.

The 17 focused tests include five new interaction tests:

  • All four profiles can honor a Truthtrance leader/weapon commitment, preserve Voice and ordinary Prescience, revive the required leader with one physical Ghola, seal for inspection and reach public reveal after the other plan seals.
  • A question during the special offer preserves the pending choice and its revival-dependent answers, whether Atreides later uses or declines the special.
  • Questions after inspection disclose only the truthful result of the sealed plan. They cannot reopen fields, duplicate a binding record or spend its support.
  • Seven native preparation windows survive a Truthtrance interrupt: Voice selection/response, Prescience selection/response/answer, full-plan offer and selected-special target wait. Parent response, decision, preparation and plan state are retained; named restrictions leave other fields selectable.
  • Atreides can revive its own leader after reading and before sealing, while the target's plan remains unchanged and private.

Existing tests retain owner-only inspection, sealed-card restrictions, ordinary Prescience cancellation, outsiders and once-per-game custody. JSON continuation, rejected-action immutability and physical-card conservation are asserted in the new paths. No runtime change was needed for these tested interactions. An independent review found no actionable issue with the added tests.

Browser and restoration evidence

Room AZC4HGLB uses genuine Advanced initialization followed by a staged battle. An Atreides human chose the special Karama inspection through the browser after a Truthtrance leader promise and ordinary Prescience. The Medium Emperor used Ghola to revive Hasimir Fenring and sealed a plan honoring those restrictions. The private inspection displayed dial 0, support 0, Fenring, Chaumas and Shield, while Atreides retained its own plan controls. Expanded component controls and the inspection were readable on desktop and at 390×844 phone width.

A backed-up restart had already completed when the user removed the hourly restart requirement. Browser refresh restored the same owned inspection and the earlier inventory room LC3E55GY. The final comparison retained all 64 saved room versions and state hashes with none missing or changed. The server returned HTTP 200. Future restarts occur only when a change or observed server condition warrants them, with preservation and restoration checks; no recurring automation is installed.

Required check results are recorded in the checkpoint commit and private source-bound report. There are no runtime changes, so the preceding production build and HTTP-suite evidence are reused rather than claimed as new runs. This audit does not certify arbitrary Truthtrance questions, every Advanced interaction, expansion combinations or a complete human/AI game.