Adopt authorized Advanced Storm and alliance separation defaults

This commit is contained in:
Quintine committed 2026-10-01 14:20:59 +10:00
1 parent 42324b4a99
commit e1056a4db0
30 files changed
+2955 -82

No files matched your search

+67 -2
View File
@@ -2,6 +2,63 @@
Audit: 7 September 2026. Read-only source and code audit, retained by the coordinating agent. Scope is classic GF9 base rules and the applicable November 2020 FAQ, not tournament or movie-game rules.
## Authorized Advanced source cutover — 1 October 2026
The user-supplied root `UNOFFICIAL_Revised_Dune_Rulebook_v.2.3_web.pdf`
is now authorized for Advanced, including its marked unofficial departures.
It has 44 physical PDF pages and SHA-256
`7077aa87a973221d86d4bd2da945b40c4dec3d371caa6a68cb209758ddf1e516`;
metadata says v.2.3, but the visible editorial heading on physical page 3
says Version 2.2. The PDF remains user-owned and is not republished.
**Alliance Constraint, physical PDF page 15:** at the end of either
player's Shipment and Movement, its own forces in a territory shared with
its ally go to Tanks, except Polar Sink. Advisors do not trigger the
constraint. The footnote identifies both per-player timing and advisor
coexistence as intentional departures from the original rules and November
2020 FAQ. **Questions and Answers, physical page 40** explains the aim:
advisor occupation should not lock allies out, and the first acting player
should bear its own departure obligation.
Accordingly, normal Advanced ends no longer wait for the ally's later turn
or exempt an alliance formed this turn. Advisor exemption works in both
directions: sharing with advisors kills neither the advisors nor allied
fighters. BG fighters are not exempt. Native Ecaz peaceful coexistence and
its existing Karama conditions remain unchanged. Homeworlds are not Dune
territories and keep their native allied-entry prohibitions. Basic retains
the existing later-player and formation-turn conditions, including its
non-exempt advisor treatment.
This resolves the **Advanced** timing/advisor and end-turn consequence
questions below. It does not remove the current allied-entry guard, grant
new shipments or extra moves, alter alliance formation/breaking windows,
or settle every optional arrival composition. A forced end consequence
does not require a new loss confirmation; the existing `endMovement`
action remains legal even when no escape is available. The native force,
elite and No-Field custody paths remove the ending player's group once,
not its ally's group.
The own clean-turn warning uses the canonical engine quote via
`GameView.advancedAllySeparation: { territories: string[] } | null`.
It contains public territory names only, not force counts, concealed
values or raw source receipts. Pending response/decision controls retain
priority. Already completed turns are not reevaluated.
**Verification: Partial development verified.** The selected source-wave
checks pass 339/339 across seventeen files; full types/lint and 6,169
offline cases pass. Authenticated SQLite covers restart/CAS/privacy and
unchanged Basic behavior. Genuine unallied Basin groups separated by
Storm subsequently ally at a natural Nexus; native ending sends only the
actor's two physical forces, including one elite, to Tanks. Hajr and
advisor/Ecaz/Polar cases retain their own continuation. Actual 390-pixel
first/later human ending in backed-up `CA6FVKVD` and `U5335T2L` changes
Emperor Tanks from zero to two, leaves Atreides at zero and survives refresh.
Saved physical inventory and all original authenticated seats remain intact.
No allied-entry guard was removed to create the fixture. Basic and wider
public/faction/module gates remain unchanged. The September publisher audit
below is historical comparison, not the current Advanced authority.
The supplied revision is unofficial, not a later publisher FAQ.
## Publisher sources and established facts
**Base rulebook**, printed pp9–10,12,18,23: https://www.gf9games.com/dunegame/wp-content/uploads/Dune-Rulebook.pdf . Read local publisher text `/tmp/dune-rules/base.txt`; official indexed p12 independently corroborates it.
@@ -20,7 +77,7 @@ Audit: 7 September 2026. Read-only source and code audit, retained by the coordi
Exact retrieval queries included the official PDF path plus `"ship into a territory" "ally"` and `"What is the difference between an advisor"`. Searches also checked allied territory, next-turn, Tanks, and advisor/alliance terms. The relevant later clarification is November, not the older April FAQ. Search results for the 2021 movie edition and non-rule forum content were excluded. No later relevant official clarification was located in these bounded searches; that is not proof none exists.
## Current implementation comparison
## Historical implementation comparison — 7 September 2026
Line numbers refer to the saved engine read during this audit.
@@ -30,7 +87,7 @@ Line numbers refer to the saved engine read during this audit.
- `game/advisors.ts` distinguishes total presence from fighter count. Using total presence for allied separation matches the advisor FAQ. Using fighter count for stronghold capacity matches the base advisor exception. These are intentionally different questions.
- A blanket removal of the entry guard would be incomplete: the current formation-turn exemption is player-wide and the end-turn rule allows the first mover to leave shared forces for the second ally. Neither records whether a specific group entered voluntarily this turn or was present when the alliance formed.
## Implementable boundaries and material unanswered cases
## Historical implementable boundaries and unanswered cases
The clearest supported new behavior is **ship into allied territory, then move the complete visiting group to a legal non-allied destination during the shipper's turn**. A movement path passing through an ally and ending elsewhere is also clear. Permit neither a third fighting faction in a stronghold nor storm traversal under this exception. Preserve Polar Sink's exception. Separate shared territories by their history rather than treating every alliance formed this turn as blanket permission to create new co-occupation.
@@ -41,4 +98,12 @@ The following are actual source limits, not established alternative rules:
3. **New voluntary entry during alliance formation turn.** Distinguish the FAQ departure requirement from the p12 delayed deadline for already shared forces. The precise treatment of mixed old/new cohorts in the same territory is not supplied as a token-level rule. Do not let a blanket `allySinceTurn` check silently waive the new entry's obligation.
4. **Other arrival mechanisms.** Advisor accompaniment has its explicit separation instruction; its timing can differ from BG's own turn. Worm rides, No-Field materialization, Enemy of My Enemy and competing expansion arrivals need their own composition. Homeworlds are outside this base transit permission.
Under the authorized Advanced cutover above, the ending player's shared
fighters are lost even if departure was prevented or the alliance formed
this turn; no old/new cohort exemption is inferred. Thus items 1 and 3 no
longer leave the ordinary **Advanced end-turn consequence** unresolved.
Their Basic-policy and prospective entry-permission questions remain.
Item 4's advisor separation premise is superseded in Advanced, while
independent arrival timing and unsupported combinations stay bounded.
Recommended bounded checks before changing the entry guard: ordinary path transit with a clean endpoint; paid shipment followed by complete legal exit; no legal exit available; temporary city access and remaining movement range; ally-plus-enemy stronghold capacity; Polar co-occupation; advisors versus fighters; old Nexus co-occupation in formation turn and following turn, both action orders; multiple shared territories; serialized continuation and duplicate requests. Bind the no-exit outcome only after its policy is source-supported or explicitly adjudicated. No runtime or tests were changed by this audit.