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.
222 lines
13 KiB
Markdown
222 lines
13 KiB
Markdown
# 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](../game/atreides-full-plan.ts),
|
||
[controls](../components/atreides-full-plan.tsx),
|
||
[native fixture](../tests/fixture-atreides-full-plan-window.ts),
|
||
[native regressions](../tests/atreides-full-plan-window.test.ts),
|
||
[control regressions](../tests/atreides-full-plan-ui.test.tsx),
|
||
[existing full-plan cases](../tests/full-plan.test.ts) and
|
||
[existing No-Field cases](../tests/no-field-full-plan.test.ts).
|
||
|
||
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](https://www.gf9games.com/dunegame/wp-content/uploads/Dune-Rulebook.pdf)
|
||
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](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf)
|
||
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.
|