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.
This commit is contained in:
Quintine committed 2026-10-24 18:49:22 +11:00
1 parent 660b0a0c25
commit 61828150b9
15 files changed
+917 -70

No files matched your search

+85
View File
@@ -1,5 +1,90 @@
# 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.
+20
View File
@@ -16,6 +16,26 @@ open mode gates.
## Current checkpoint and work
**Atreides special inspection before reveal — 24 October. Prototyped / Partial.**
Supplied physical27 F now controls the native special Karama deadline. Declining
the original offer preserves quiet later use with zero or one sealed plans.
A sealed target is privately readable immediately; an unsealed target commits
next. Existing plans cannot change, and a target that seals last reaches the
original public reveal without a reading acknowledgement or deadlock.
Persistent controls and minimal bots share spendable-card/target permission.
Ordinary preparation priority and target-first sequencing remain provisional.
[Source, continuation and bounded proof](ATREIDES_FULL_PLAN_TIMING.md#before-reveal-window--24-october-2026).
Disjoint fixture/control lanes and bounded source/continuation review pass
**11 files126/126**, types/lint/build, five actual control/gameplay/GameTable SSR
journeys into Collection and eight existing-profile paths accepting eight
inspection proposals. Genuine49/50-action public Advanced setup, a paid Shield
auction, two paid shipments and actual ground movement supply the battle.
Feedback removes an unintended new pre-leader restriction and repairs reference
metadata/two test type assertions. Full modes, wider combinations, comprehensive/
browser/deployed acceptance and AI refinement remain unfinished. No saved-room,
D1, reset, restart or deployment operation.
**Native advisor preparation — 24 October. Prototyped / Partial.**
Advanced Bene Gesserit can now declare preparation at quiet boundaries in
Charity, Bidding, Revival and before the first actual shipment, including after
+30
View File
@@ -1,5 +1,35 @@
# Dune implementation status
## 24 October 2026 — Atreides special inspection until public reveal
Use supplied physical27 F's before-reveal deadline after declining the original
special offer, including one committed plan. A focused public-state timing quote
serves preflight and owner-only card/target projection; persistent controls and
minimal existing-profile preference reuse it. A sealed target is read at once;
an unsealed one retains target-first commitment. Existing plans, physical pieces,
support costs and binding fields stay fixed. Removing the target-branch early
return lets the second seal reach normal public reveal once, without a new
reading acknowledgement. Preparation priority and sequencing remain provisional.
Disjoint fixture/control lanes and bounded review pass11 files126/126,
types/lint/build, five actual control/gameplay/GameTable SSR journeys through
Collection and eight profile paths accepting eight proposals. Genuine49/50
public native Advanced actions include an actual one-spice Shield auction,
two four-spice shipments and real Arrakeen ground movement. No played phase,
army, wallet, hand or plan is assigned. Core and existing No-Field tests now
retain late permission rather than the obsolete first-offer deadline; an
unrelated owner's late read retains private entitlement.
Feedback catches and removes an unintended shared pre-leader prerequisite absent
from original special preflight, retaining its separate gate on every plan seal.
Exact repaired Semuta/Atreides1/1 passes; later type feedback repairs existing
reference metadata usage and two test assertions. Final source is frozen through
all checks. Full modes, wider optional combinations, comprehensive/browser/
deployed assurance and AI refinement remain unfinished. No saved-room/D1/reset/
restart/deployment operation.
[Source, exact proof and limits](ATREIDES_FULL_PLAN_TIMING.md#before-reveal-window--24-october-2026).
Private proof:20261024-atreides-full-plan-window/frozen-integrated-3.
## 24 October 2026 — Native advisor preparation before first shipment
Expose the supplied Advanced BG after-Spice/Nexus window in phases2–5 at quiet
+15 -1
View File
@@ -1,5 +1,19 @@
# Rule decision index
## Atreides special inspection before public reveal — 24 October 2026
Supplied physical27 F permits the native Advanced special Karama before Battle
Plans are revealed. Declining the initial offer is no longer a deadline: quiet
boundaries with zero or one sealed plans retain the same physical-card and
once-per-game use. A selected sealed plan is read immediately by Atreides only;
an unsealed target commits next. Original sealed plans cannot be reopened.
Voice/ordinary Prescience preparation priority and target-first sequencing
remain provisional. If Atreides already sealed, the target's last commitment
reveals both plans immediately, with no extra reading acknowledgement or free
replanning. This source cutover supersedes the older pre-first-seal deadline;
it neither opens modes nor changes the recorded No-Field distinction.
[Source, implementation and limits](ATREIDES_FULL_PLAN_TIMING.md#before-reveal-window--24-october-2026).
## Native advisor preparation window — 24 October 2026
Apply supplied physical28 G and publisher base18 after-Spice/Nexus timing
@@ -1007,7 +1021,7 @@ These are unresolved in the cited records. Do not infer an answer from elapsed t
| Smuggler collection strength | The older source check/question produced no numerical answer. Under the later choose-recommended instruction, provisionally cap by copied/printed disc plus declared skill bonuses and KH2, retaining reveal piles and delayed survival settlement. Actual Artillery zeroing voids collection; the base Stunner remains a projectile. Sole own Traitor bypasses weapons, so it retains collection. Printed bounty does not change; this is not a publisher ruling. Other exceptional compositions remain separate. | [Source and explicit policy](LEADER_SKILLS_RULES.md#smuggler-modifier-policy--17-october-2026), [runtime contract](SMUGGLER_BATTLE.md#provisional-modifier-policy--17-october-2026) |
| Ordinary Guild cancellation | Unaffordable repricing, replacement/retry/decline, consumed opportunity, contributor adjustment and ordering with special shipment-stop. The affordability question was already sent. | [Material timing](GUILD_RATE_KARAMA_RULES.md#material-unresolved-timing) |
| Repeat Karama on a canceled compulsory cache lot | After one Karama cancels the compulsory Richese cache auction and restores the ordinary pool, the engine currently still accepts a second Karama against the resumed window and re-derives the ordinary count from the frozen pre-cache field. Whether a repeat cancellation should be refused is not settled; the invariant that a canceled lot never restores more than its frozen pre-cache count does hold. | [Richese auction source](RICHESE_AUCTION_RULES.md), [exhausted-cache runtime](IMPLEMENTATION_STATUS.md) |
| Base special Karama | Unfunded auction recovery, stopped-shipment settlement and Atreides full-plan commitment order remain provisional. Native full-plan/Voice/Prescience/Truthtrance/Ghola interactions now have genuine-setup focused evidence, but the source audit does not settle the special offer/deadline or target-first interpretation. | [Explicit base interpretations](BASE_ADVANCED_READINESS_20260907.md#explicit-unresolved-base-interpretations), [full-plan interaction audit](ATREIDES_FULL_PLAN_TIMING.md) |
| Base special Karama | Unfunded auction recovery, stopped-shipment settlement and Atreides full-plan commitment order remain provisional. Supplied physical27 F now sets its before-public-reveal deadline, including quiet later use after declining the initial offer. Ordinary preparation priority and target-first sequencing remain implementation compositions, with sealed plans retained and no added reading acknowledgement. | [Explicit base interpretations](BASE_ADVANCED_READINESS_20260907.md#explicit-unresolved-base-interpretations), [current full-plan timing](ATREIDES_FULL_PLAN_TIMING.md#before-reveal-window--24-october-2026) |
| Homeworld high-threshold revival deployment | The publisher does not state whether a return that itself first reaches the high threshold may deploy on that same return. The content-first prototype evaluates the resulting population, so the crossing return qualifies; this is a visibly provisional composition, not a located timing ruling. The Tleilaxu low-income start-condition snapshot is unchanged, and partial groups, split destinations, storm placement, allied-Homeworld limits and shipment-classified entry effects remain guarded. | [Benefits contract](HOMEWORLD_BENEFITS_RULES.md#provisional-high-threshold-revival-deployment--9-october-2026), [resumption record](IMPLEMENTATION_STATUS.md#9-october-2026--gated-captures-resumed-under-the-basic-occupation-and-odd-force-occupy-prototypes) |
| Occupied Homeworlds | The publisher question about retention after departure, replacement or contest, unique-power composition and shared income remains open; the first-occupier/current-occupier question was already sent. The content-first Basic benefit selector now uses the visibly provisional current-sole policy above (Tupile excepted), which is an implementation choice, not an answer to that question. | [Occupation questions](HOMEWORLD_OCCUPATION_RULES.md#questions-the-retrieved-sources-do-not-settle), [lifecycle audit](HOMEWORLD_OCCUPATION_LIFECYCLE_AUDIT.md), [Basic policy](HOMEWORLD_OCCUPATION_RULES.md#basic-current-sole-benefit-policy--9-october-2026) |
| Nexus responses and composition | Betrayal private-response timing, Emperor fewer-than-five, fresh advisor/storm cases, Duke restoration and remaining faction-specific combinations remain source-bound. Tleilaxu Secret Ally now has the explicitly provisional recommended combined policy in its own row below; it is not borrowed authority from native revival or Ghola. | [Common boundaries](NEXUS_CARD_RULES.md#remaining-source-questions-and-release-boundaries) and individual faction source/runtime documents |