Connect physical Jacurutu allocation and cumulative station choices
This commit is contained in:
1 parent
373badd560
commit
554f2bf9e9
22 files changed
+1943
-129
No files matched your search
@@ -29,6 +29,24 @@ optional skill bands, combinations and public expansion starts remain open.
|
||||
Rules implementation continues; comprehensive assurance and administration
|
||||
remain deferred until all rules are implemented.
|
||||
|
||||
**Recommended Jacurutu and Testing Station choices — 14 October.**
|
||||
Following the choose-recommended-option priority, mixed physical Jacurutu dials
|
||||
now use a defeated-player exact ordinary/elite/paid selection before battle
|
||||
mutates. Original withdrawal/retreat counters do not earn Tanks income;
|
||||
unique readings stay automatic, and original payment/casualty/Collection resumes
|
||||
once. Testing Station gives each non-advisor occupant one cumulative adjustment
|
||||
in original storm order, then traverses once; natural source/base/from/token,
|
||||
Weather exclusion and existing sole-frame signatures remain.
|
||||
Both are visible provisional interpretations, not new publisher or separately
|
||||
answered numerical user rulings. Actual native original setup, token lottery,
|
||||
ship/reveal/entry, declared battle or worm alliance retain printed stock and
|
||||
starting armies. Actual390px dial choice earns1 with two losing Tanks/one elite;
|
||||
native city income remains separate. Guild+1 changes pending2→3 without moving
|
||||
storm3; Ecaz−1 then moves it once to5 and opens Spice Blow, with both garrisons
|
||||
intact. Browser errors empty and no root overflow. Related12-file union104/104,
|
||||
types/lint and app build pass; [precise source and proof](DISCOVERY_PROTOTYPE.md#recommended-physical-dial-and-cumulative-storm-choices--14-october-2026).
|
||||
Cistern/Orgiz/shared-collector effects and full acceptance remain open.
|
||||
|
||||
**Classic Homeworld normal Banker and whole-invoice accounting — 14 October.**
|
||||
Fresh `banker-income --homeworlds` reuses original classic Basic/Advanced
|
||||
occupation/all14 setup and income-v1, without Nexus/Discovery/Tech/Strongholds
|
||||
|
||||
+89
-30
@@ -5,6 +5,65 @@ partial rules coverage. It connects physical components, real actions, private
|
||||
controls, AI choices and saved continuation. Normal public Discovery and
|
||||
Advanced start gates, and the publication gate, remain closed.
|
||||
|
||||
## Recommended physical dial and cumulative storm choices — 14 October 2026
|
||||
|
||||
Under the user's choose-recommended-option priority, the prototype now selects
|
||||
two explicit implementation interpretations without another question:
|
||||
the defeated Jacurutu player identifies the physical reading of their revealed
|
||||
dial, and each Testing Station non-advisor occupant chooses once in original
|
||||
storm order, cumulatively. These are not separately answered numerical user
|
||||
rulings or newly located publisher clarifications. Controls label them provisional.
|
||||
|
||||
Jacurutu's owned event and canonical ordinary/elite/paid allocation choices
|
||||
pause before support, casualties, card cleanup or rewards mutate. A chosen
|
||||
reading must match all four original commitment fields. Only opposing undialed
|
||||
counters actually sent to the Tanks earn spice. Original Harass returns bind
|
||||
their already selected physical dial; actual withdrawal/retreat counters are
|
||||
excluded. Unique readings stay automatic. Native resolution resumes once;
|
||||
its subsequent ordinary city Collection remains separate.
|
||||
|
||||
Genuine Advanced Emperor/Atreides/Guild setup draws the original Hagga Basin
|
||||
Discovery, places the actual Jacurutu supply token at printed Gara Kulon8,
|
||||
ships one ordinary/one Sardaukar, inspects/reveals it and free-enters next turn.
|
||||
An actual opposing shipment and declared battle produce dial2/support1:
|
||||
Sardaukar-only earns1; ordinary-plus-Sardaukar earns0. Both destroy the same two
|
||||
losing counters, spend original support once and resume native Collection.
|
||||
The same original dial1/support0 position earns1 automatically. All four
|
||||
properly configured legal bot policies choose an offered physical reading.
|
||||
|
||||
Testing Station preserves the original natural source/base/from/token and
|
||||
existing sole-frame signatures. A two-owner signed queue stores original storm
|
||||
order and one delta per owner. First choice leaves storm/protection untouched;
|
||||
second starts one final traversal. Choices use current cumulative distance,
|
||||
bounded0..40. Wrong owner/event/index, replay and Weather Control fail closed.
|
||||
No new route, station token, starting army or source is fabricated.
|
||||
|
||||
Genuine Ecaz/Guild/Fremen/Emperor setup retains every original starting army:
|
||||
real paid shipment, Collection reveal, next-turn entry, worm Nexus, reciprocal
|
||||
alliance and allied shipment yield two station occupants. Earlier natural
|
||||
sole-occupant opportunities use the real Keep control. The Advanced path also
|
||||
finishes its original Guild interception before checking the arrival. Original
|
||||
unplayed Spice ordering and actual supply lottery are explicitly staged.
|
||||
|
||||
Actual390px Jacurutu selection settles Emperor6→5, opposing Atreides9→10
|
||||
(support−2, reward1, original city2) and the same two Tanks/one elite; observer
|
||||
Guild13→14 retains its original Collection. Actual station Guild+1 changes
|
||||
pending2→3 without moving storm3; Ecaz−1 then moves it once to5 and opens
|
||||
Spice Blow, preserving both original garrisons. Browser errors empty; no root
|
||||
overflow. `/tmp/dune-discovery-choice-ui-proof.json` records private local proof.
|
||||
No complete-module, broad-assurance or deployed acceptance is claimed.
|
||||
|
||||
Evidence: `tests/fixture-jacurutu-mixed-dial.ts`,
|
||||
`tests/jacurutu-mixed-dial-runtime.test.ts`,
|
||||
`tests/fixture-testing-station-contest.ts`,
|
||||
`tests/testing-station-contest-runtime.test.ts`, and the original
|
||||
`tests/discovery-battle.test.ts` / `tests/discovery-storm.test.ts`.
|
||||
|
||||
Frozen related12-file union104/104, types/lint and app build pass. The build
|
||||
retains existing module-registration, chunk-size and route-classification
|
||||
warnings. Throwaway native probes are removed; permanent tests exercise
|
||||
source/actor/transition/payment boundaries, not wording or fixture-copy echoes.
|
||||
|
||||
## Mixed E1/E2 and paired E3 Nexus — 7 October 2026
|
||||
|
||||
Original native Nx/Discovery now admits both selected Ix+CHOAM families
|
||||
@@ -583,9 +642,10 @@ Focused native cases are in `tests/discovery-module-profile.test.ts`,
|
||||
`tests/discovery-native-marker-runtime.test.ts` and
|
||||
`tests/discovery-native-e3-runtime.test.ts`. Fixtures explicitly label controlled
|
||||
unplayed Spice order, placement lottery and conserved counter/card/identity
|
||||
positions; clocks, choices and outcomes use original producers. This does not
|
||||
resolve contested Cistern/Testing Station/Orgiz, shared-payer theft, mixed-dial
|
||||
Jacurutu, complete module strategy or public-start/deployed acceptance.
|
||||
positions; clocks, choices and outcomes use original producers. At that earlier
|
||||
checkpoint, contested benefits and mixed-dial Jacurutu remained unresolved.
|
||||
The 14 October recommended dial and station interpretations supersede those two
|
||||
guards; Cistern/Orgiz, shared-payer theft, strategy and full acceptance remain open.
|
||||
|
||||
### Bounded runtime evidence
|
||||
|
||||
@@ -780,16 +840,16 @@ conversion was fabricated.
|
||||
another payment. Unresolved Ecaz shared lots and contested Orgiz occupation
|
||||
withhold their uncertain transfers, not the ordinary Collection phase.
|
||||
|
||||
- **Jacurutu:** winning a battle here automatically grants one bank spice per
|
||||
opposing undialed physical force sent to the Tanks. Winner casualties and
|
||||
pre-existing Tanks do not count. Ordinary and unambiguous Advanced plans are
|
||||
playable. Mixed normal/elite plans with different possible physical counts
|
||||
leave an explicit unpaid gap pending the allocation ruling below.
|
||||
- **Ecological Testing Station:** a sole non-advisor occupant receives an owned
|
||||
decrease/keep/increase choice after the ordinary storm-card window closes,
|
||||
before traversal and CHOAM/Fremen protection. The original natural dial/card
|
||||
source, turn, physical station and chosen distance remain bound through saved
|
||||
protection and typed loss continuations. Weather Control bypasses the station.
|
||||
- **Jacurutu:** one bank spice per opposing undialed physical counter actually
|
||||
sent to the Tanks. Unique readings remain automatic. For different possible
|
||||
counts, the defeated owner selects an exact legal ordinary/elite/paid reading
|
||||
before settlement under the provisional 14 October interpretation. Original
|
||||
withdrawal/retreat counters never count; winner losses and old Tanks do not.
|
||||
- **Ecological Testing Station:** each non-advisor occupant chooses once in
|
||||
original storm order after the ordinary storm-card window and before traversal.
|
||||
Adjustments accumulate on current movement; bounds0..40 and original source
|
||||
remain authoritative. Weather Control bypasses the station. Sequential
|
||||
cumulative ordering is a visibly provisional implementation interpretation.
|
||||
- **Shrine:** current non-advisor occupation of the publicly revealed location
|
||||
authorizes Truthtrance as Karama or Karama as Truthtrance in the existing effect
|
||||
paths. Cards retain their physical identity and custody. A committed converted
|
||||
@@ -839,24 +899,23 @@ trigger described above. Two fighters occupying Orgiz still withhold theft.
|
||||
An Ecaz shared lot or inconsistent collected payers withholds that territory's
|
||||
transfer; independent territories and ordinary Collection proceed.
|
||||
|
||||
The Testing Station's two-occupant case leaves ordering and cumulative adjustment
|
||||
unresolved. The prototype opens only the sole-occupant path and continues an
|
||||
ordinary storm without that contested benefit. Choosing after the ordinary
|
||||
storm-card window is an implementation timing interpretation: the printed
|
||||
source specifies the Storm phase and excludes Weather Control, but does not
|
||||
supply a separate station/card priority order. A legacy pending storm without
|
||||
new source metadata keeps its existing movement; a subsequent naturally
|
||||
produced storm can use the station. No source is inferred from display logs.
|
||||
The 14 October recommended prototype selects one cumulative adjustment per
|
||||
Testing Station occupant in original storm order. The printed source specifies
|
||||
the Storm phase and excludes Weather Control but does not give a separate
|
||||
station/card priority or contested-order FAQ. The selected ordering remains an
|
||||
implementation interpretation, not publisher authority. Existing sole-occupant
|
||||
signed frames remain valid; no original movement is invented for a legacy
|
||||
pending storm without source metadata.
|
||||
|
||||
Jacurutu's text says opposing **undialed forces**, not a numeric wheel difference.
|
||||
Advanced combat permits different physical allocations: an Emperor with one
|
||||
ordinary force and one Sardaukar, dial two and one paid support, can dial the
|
||||
supported Sardaukar alone or the supported ordinary plus unsupported Sardaukar.
|
||||
Those choices leave one or zero undialed counters. The existing loser resolution
|
||||
has no physical allocation choice. The user question asks whether the defeated
|
||||
player should select those counters; it remains pending. The prototype records
|
||||
the unpaid gap instead of silently choosing a reward. Source: publisher-authored
|
||||
Ecaz & Moritani rulebook p13, with no clarification in its bundled Q&A.
|
||||
Those choices leave one or zero undialed counters. The 14 October prototype
|
||||
selects the recommended defeated-player physical allocation before any battle
|
||||
mutation. The former unpaid-gap guard is removed; numeric wheel subtraction
|
||||
alone remains invalid. Publisher-authored Ecaz & Moritani p13 supplies the
|
||||
undialed-counter trigger, not this choice timing. No new clarification is claimed.
|
||||
|
||||
## Evidence and next dependencies
|
||||
|
||||
@@ -925,10 +984,10 @@ to Spice Blow. Refresh restored the same station forces and private Snooper.
|
||||
This is targeted control/recovery evidence, not an unmodified complete game.
|
||||
The 187 opening saved rooms remain preserved; no server restart was needed.
|
||||
|
||||
1. Resolve contested Cistern/Orgiz/Testing Station benefits, Ecaz shared-lot
|
||||
Orgiz allocation and Jacurutu's mixed physical dial allocation; complete
|
||||
remaining controls and effects when settled. Basic's per-collected-deposit
|
||||
Orgiz interpretation remains provisional; the Advanced count is source-cut over.
|
||||
1. Resolve contested Cistern/Orgiz benefits and Ecaz shared-lot Orgiz allocation.
|
||||
Jacurutu mixed dial and Testing Station order now use the visible recommended
|
||||
interpretations above. Basic Orgiz remains provisional per collected deposit;
|
||||
the Advanced territory count is source-cut over.
|
||||
2. Integrate combined modules and complete games, then refine interaction,
|
||||
strategy and presentation coverage before opening normal start gates.
|
||||
3. Use the existing prototype starter and saved-room verification for further
|
||||
|
||||
@@ -1,5 +1,52 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 14 October 2026 — recommended physical Jacurutu dial and cumulative station queue
|
||||
|
||||
The choose-recommended-option priority removes another clarification stop.
|
||||
The prototype selects defeated-player physical dial allocation at Jacurutu and
|
||||
one cumulative Testing Station adjustment per non-advisor occupant in original
|
||||
storm order. Both controls label these provisional implementation interpretations;
|
||||
the printed source does not supply their choice timing/contested-order FAQ.
|
||||
No separate numerical user answer or new publisher ruling is claimed.
|
||||
|
||||
Jacurutu's owned event preserves exact canonical ordinary/elite/paid readings
|
||||
before battle mutation. Selection must match all four fields; actual Harass
|
||||
returns bind their already selected commitment and retreat/withdrawal counters
|
||||
never enter Tanks income. Unique readings stay automatic. Both1/0 readings
|
||||
spend the same support and produce the same original two losing Tanks/one elite,
|
||||
winner losses and original subsequent city Collection; all four configured
|
||||
minimal policies produce a legal selection.
|
||||
|
||||
Testing Station adds a signed two-owner queue while preserving original sole
|
||||
frame signatures. Source/base/from/token and one ordered delta per owner stay
|
||||
bound. The first action updates current pending movement without traversal;
|
||||
the final action traverses once. Cumulative0..40 bounds, actor/event/replay
|
||||
rejection and printed Weather exclusion are exercised.
|
||||
|
||||
Native fixtures use real original setup, printed blow/supply lottery, paid
|
||||
shipment, Collection inspect/reveal, next-turn entry and actual battle or worm
|
||||
alliance. Owner removed a child’s arbitrary conserved starting-force relocation;
|
||||
every original starting army remains intact. The station fixture also had to
|
||||
choose Keep on its earlier real sole opportunity and finish Advanced Guild
|
||||
interception before checking the allied arrival. Initial wallet expectations
|
||||
omitted ordinary city Collection; the repaired tests preserve that original
|
||||
quote separately rather than changing the engine’s payout. A Weather fixture
|
||||
assumed seat order, while actual storm order made its second occupant Ecaz2;
|
||||
the meaningful assertion now preserves its actual original garrison. Wording,
|
||||
markup, log-growth and staging-copy assertions were deleted, not re-pinned.
|
||||
|
||||
Actual390px Jacurutu earns1: Emperor6→5, Atreides9→10 (−2 support,+1 reward,
|
||||
+2 original city), Guild13→14 from original Collection. Actual station Guild+1
|
||||
changes pending2→3 without moving storm3; Ecaz−1 traverses once to5, enters
|
||||
Spice Blow and preserves original2/1 garrisons. Browser errors empty; no root
|
||||
overflow. Private proof `/tmp/dune-discovery-choice-ui-proof.json`.
|
||||
Native throwaways and isolated host/tab/scaffold are removed.
|
||||
|
||||
Final related12-file union104/104, types/lint and app build pass with existing
|
||||
module-registration, chunk-size and route-classification warnings. The exhaustive
|
||||
decision registries are migrated. Comprehensive assurance, other pending
|
||||
Discovery effects, complete modes and deployed acceptance remain open.
|
||||
|
||||
## 14 October 2026 — classic Homeworld final Bank income and ruled accounting
|
||||
|
||||
The user selected whole-invoice low Guild/Emperor rounding, first eligible
|
||||
|
||||
@@ -550,8 +550,8 @@ These are unresolved in the cited records. Do not infer an answer from elapsed t
|
||||
| Moritani Atomics after alliance change | The publisher's persistent −1 hand-limit text names Moritani and “your ally,” but not whether the penalty follows a later ally, remains on the original ally or affects both. Requested online source searches found no clarification; the alliance-change case remains gated. | [Terror source boundary](MORITANI_TERROR_RULES.md#material-gaps-and-ordinary-compositions) |
|
||||
| Moritani Sneak Attack entry classification | The printed verb is “Send”; no retrieved ruling classifies the off-planet reserve transfer as a shipment for other arrival powers. The engine now **explicitly adopts** the supported shipment composition: a positive Sneak Attack in Shipment and Movement accrues the Heighliners token once for its owner, then offers the Bene Gesserit Intrusion (Advanced, with fighters present) and the free spiritual-advisor shipment, with the committed Terror entry resolving first; a zero-force resolution accrues nothing and opens no reaction. This order is an implementation interpretation, not a publisher ruling. | [Source boundary and adopted classification](MORITANI_ASSASSINATION_SNEAK.md#adopted-shipment-classification-7-october-2026) |
|
||||
| Orgiz collection | Basic retains the publisher-p13 per-blow ambiguity and provisional one-transfer-per-positive-deposit mapping. Authorized supplied Advanced rulebook physical24 instead says each time Collection occurs in a territory containing spice: Advanced applies one transfer per actual positive territory Collection, only to a unique rival payer. Multiple source keys do not add transfers. Contested ownership, inconsistent/different payers and Ecaz shared lots still withhold only uncertain transfers; ordinary Collection proceeds. No new publisher ruling on those pending cases is claimed. | [Advanced source cutover and Basic boundary](DISCOVERY_PROTOTYPE.md#authorized-advanced-collection-wording) |
|
||||
| Jacurutu physical dial | The user question asks whether the losing player should choose the physical normal/elite forces represented by its dial. When legal Advanced allocations produce different rewards, income remains explicitly unpaid; numeric wheel subtraction is not a ruling. | [Discovery interpretations](DISCOVERY_PROTOTYPE.md#interpretations-retained-for-refinement) |
|
||||
| Testing Station contest/timing | Only sole non-advisor occupation is prototyped. Two-occupant priority/stacking remains unresolved; opening after the ordinary storm-card window is an explicit source-timing inference. Weather Control is excluded by the printed text. | [Discovery interpretations](DISCOVERY_PROTOTYPE.md#interpretations-retained-for-refinement) |
|
||||
| Jacurutu physical dial | Under the 14 October choose-recommendation priority, the prototype selects the defeated-player exact ordinary/elite/paid reading before settlement. Unique readings remain automatic; actual returned counters never earn income. This replaces the earlier unpaid gap without claiming a separate numerical user answer or publisher ruling. | [Recommended runtime and source](DISCOVERY_PROTOTYPE.md#recommended-physical-dial-and-cumulative-storm-choices--14-october-2026) |
|
||||
| Testing Station contest/timing | The 14 October recommended prototype gives each non-advisor occupant one cumulative adjustment in original storm order, after the ordinary card window and before a single traversal. Original source/base and Weather immunity stay unchanged. Ordering/stacking is explicit provisional interpretation, not a newly found publisher answer. | [Recommended runtime and source](DISCOVERY_PROTOTYPE.md#recommended-physical-dial-and-cumulative-storm-choices--14-october-2026) |
|
||||
| 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) |
|
||||
|
||||
Reference in new issue
Block a user