Prototype native Ecaz Nexus Duke Cunning
This commit is contained in:
1 parent
1bda2ec31e
commit
1b36402dd6
19 files changed
+829
-23
No files matched your search
+11
-1
@@ -52,7 +52,17 @@ through human controls, legal bot action, JSON and in-memory SQL continuation,
|
||||
and focused gameplay, race and restart tests. A local browser fixture rendered
|
||||
the holder-only offer and rival Karama notice without writing a room. The
|
||||
Secret Ally inquiry has a bounded private prototype; its native-leader
|
||||
scope/answer audience, Duke Cunning and combined modes remain release gates.
|
||||
scope/answer audience and combined modes remain release gates.
|
||||
|
||||
The bounded [native Ecaz Nexus Cunning](NEXUS_ECAZ_RULES.md#bounded-native-cunning-duke-vidal)
|
||||
prototype spends the one card to take the existing living Duke from Moritani
|
||||
at a quiet Battle boundary in paired Ecaz/Moritani Nexus games. Owner controls,
|
||||
legal AI, ordinary battle selection, temporary end-turn custody and signed
|
||||
saved continuation are connected in Basic/Advanced outside Advanced Harkonnen
|
||||
tables, where the battle path cannot select Duke. Captured, dead and Ghola
|
||||
destinations and all combined modules remain gated. The Battle-only timing
|
||||
is a documented product boundary rather than printed phase text. This code
|
||||
is not yet in the live image.
|
||||
The main page
|
||||
labels its build's Git commit in the lobby and active-table masthead; local
|
||||
Git HEAD does not represent uncommitted work. The main-branch container
|
||||
|
||||
@@ -78,9 +78,53 @@ pending snapshot binds the card's discard position, ally and exact typed board
|
||||
group through the Karama window, even if another Nexus card is discarded
|
||||
during that response. The ally's reserve counters are validated before any
|
||||
board return. Saved receipts reject replay but are not cryptographic proof of
|
||||
historical save authenticity. Ecaz Cunning's Duke override remains
|
||||
unimplemented; Secret Ally's exceptional leader scope and audience remain
|
||||
unsettled beyond the bounded runtime below.
|
||||
historical save authenticity. The bounded Duke Cunning path below is separate;
|
||||
Secret Ally's exceptional leader scope and audience remain unsettled beyond
|
||||
the bounded runtime below.
|
||||
|
||||
## Bounded native Cunning: Duke Vidal
|
||||
|
||||
When Ecaz and Moritani are both seated in a three-to-six-player Basic or
|
||||
Advanced game using only their expansion and Nexus cards (other seats may be
|
||||
classic factions), an unallied Ecaz holder may spend the physical Ecaz Nexus
|
||||
card at a quiet Battle phase boundary to take the **existing** living,
|
||||
uncaptured, non-Ghola Duke Vidal. This transfers the one shared disc even if
|
||||
Moritani controls him; it does not add a leader or Traitor Card to a native
|
||||
roster. The owner's private offer reports the current public controller and
|
||||
availability. Other seats see no held-card-dependent offer or pause.
|
||||
|
||||
Acceptance binds the original controller, source, turn, seated factions and
|
||||
event to a signed saved receipt, discards the single card, changes Duke custody
|
||||
and retains independent replay markers. The ordinary battle leader path may
|
||||
then select Duke, and battle use sets him aside through its existing lifecycle.
|
||||
Unused **Nexus** custody ends at turn end. This distinct temporary source does
|
||||
not shorten the ordinary Ecaz Ambassador tenure, which lasts until battle use
|
||||
or a later Moritani acquisition. JSON restoration and saved-room replay retain
|
||||
the completed play without recomputing historical custody from a later turn.
|
||||
|
||||
The printed Cunning explicitly reaches Duke in capture, Tanks or Ghola custody;
|
||||
this **bounded prototype does not**. Those return destinations and exceptional
|
||||
priority interactions need a coherent physical-custody contract before they
|
||||
are enabled. The face does not print a Battle-only timing restriction; the
|
||||
quiet phase-six window is a product implementation boundary, **not** a GF9
|
||||
ruling. Advanced Harkonnen tables are also excluded: the existing shared
|
||||
leader battle path cannot select Duke there, so the card must not be spent
|
||||
for an unusable disc. Other expansion factions, Homeworlds, Discoveries,
|
||||
Leader Skills and combined optional modules remain gated. This is not full
|
||||
Ecaz, Moritani or Nexus module acceptance.
|
||||
|
||||
[The focused Duke tests](../tests/nexus-ecaz-duke-engine.test.ts) exercise
|
||||
genuine Ecaz/Moritani setup, physical draw/spend, Basic and Advanced transfer,
|
||||
ordinary leader projection, actual end-turn expiry, blocked custody,
|
||||
Advanced-Harkonnen rejection, stale commands and historical integrity.
|
||||
[Owner/bot controls](../tests/nexus-ecaz-duke-controls.test.ts) and
|
||||
[in-memory SQLite recovery](../tests/nexus-ecaz-duke-recovery.test.ts) cover
|
||||
private availability, four legal AI profiles, restart and competing writes.
|
||||
A local read-only browser fixture displayed the owner action and no rival
|
||||
offer; no room was written. The final offline suite passed 5,623 tests across
|
||||
712 files; scoped lint, isolated type diagnostics outside the concurrent
|
||||
Fremen draft and production build passed. The repository-wide `npm run check`
|
||||
remains blocked by that separately owned draft, not by this Duke path.
|
||||
|
||||
## Bounded Secret Ally traitor inquiry runtime
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ These are unresolved in the cited records. Do not infer an answer from elapsed t
|
||||
| CHOAM Secret Ally battle timing | The printed after-victory inspection is optional and the Nexus identity stays secret. The connected prototype chooses a uniform use-or-continue window for every winner when Nexus is enabled and CHOAM absent; nonholders pass, while a holder may decide after the result. This privacy-preserving prompt is a product inference, not publisher text. A holder-only pause would reveal custody and a precommitment would remove the printed choice. Ordinary Karama cancellation remains unestablished by retrieved sources; no response is invented. | [After-victory inspection boundary](NEXUS_CHOAM_SECRET_ALLY.md#after-victory-inspection-audit) |
|
||||
| Moritani Secret Ally battle timing | The printed after-loss retention is optional and the Nexus card remains secret. The connected prototype offers the same choice to every loser when Moritani is absent and at least one publicly revealed played card is retainable; a loser with no eligible public card has no useful choice, independent of hidden custody. Only an unallied holder may spend the physical card. This prompt is a privacy-preserving product inference, not publisher timing text. Native Moritani alliance retention and its Karama response remain separate; no generic Secret Ally counter is invented. | [Nexus retention boundary](NEXUS_CARD_RULES.md#moritani-secret-ally-retention-timing) |
|
||||
| Ecaz Secret Ally traitor inquiry | The printed panel asks one selected player whether they hold any of the holder's leaders as Traitors, without identifying a leader; it specifies neither native-versus-controlled scope nor answer audience. The connected prototype chooses native printed faction leaders (including dead/captured), ordinary Traitor Cards rather than Face Dancers, and a holder-only historical yes/no. This is a privacy-preserving product interpretation, **not** a publisher ruling. Foreign Ghola/captive scope and table-wide disclosure remain release boundaries. | [Ecaz inquiry source and bounded runtime](NEXUS_ECAZ_RULES.md#bounded-secret-ally-traitor-inquiry-runtime) |
|
||||
| Ecaz native Nexus Cunning timing | The printed Cunning takes Duke Vidal for this turn even from capture, Tanks or Ghola custody, but names no phase. The connected first version chooses the quiet Battle phase boundary and a living, uncaptured, non-Ghola shared disc, including a Moritani-controlled Duke. This is a bounded product timing and custody decision, **not** a publisher restriction. Advanced Harkonnen is gated because its existing battle path cannot select Duke. Exceptional return destinations, response priority and combined modules remain gated; ordinary Ecaz Ambassador custody is unaffected. | [Source and bounded runtime](NEXUS_ECAZ_RULES.md#bounded-native-cunning-duke-vidal) |
|
||||
| Emperor Secret Ally purchase timing | The bounded normal bank-auction prototype chooses a uniform winner payment confirmation in classic-faction Nexus-only games with Emperor absent, including otherwise sole spice payments. This prevents a holder-only pause from exposing hidden card eligibility. It is a provisional product privacy choice, **not** a user or publisher ruling; the previously asked confirmation-versus-gate question remains open. Seller-paid/allied purchases and other sources stay gated. | [Source contract and bounded prototype](NEXUS_EMPEROR_RULES.md#secret-ally-retain-the-actual-purchase-price), [runtime](NEXUS_EMPEROR_SECRET_ALLY_RUNTIME.md#bank-auction-purchase-alternative) |
|
||||
| Discovery prototype inferences | Free entry uses storm order and ordinary source-storm restrictions; these are general-rule inferences. Great Maker currently follows ordinary first-turn worm skipping and Sandtrout suppression; an exhausted token type creates no replacement token. These preserve current source interpretation and physical inventory but are not separately confirmed rulings or complete combined-module certification. | [Interpretations for refinement](DISCOVERY_PROTOTYPE.md#interpretations-retained-for-refinement) |
|
||||
| Other Homeworld combinations | Population/force splitting, removal custody, replacement shortages, income accounting and placement ordering remain local to their detailed contracts. | [Homeworld rules](HOMEWORLD_RULES.md), [occupation](HOMEWORLD_OCCUPATION_RULES.md) and the effect documents above |
|
||||
|
||||
Reference in new issue
Block a user