Connect Leader Skill battle effects and private Rihani exchanges

Prototype Mentat/Bureaucrat score effects, automatic Sandmaster board spice, and Rihani inspection plus committed exchange. Preserve private views, physical custody, saved winner cleanup and captive/Suk sequencing. Remaining normal bands, missing skill families and combined modules remain gated.

Validation: 45 focused tests; typecheck, lint, 4465 offline tests, production build and 43 HTTP tests passed. Independent rules/privacy/persistence review completed. New isolated browser setup exercised inspection, draw, pending refresh, exchange and completed refresh. Two genuine four-profile Basic/Advanced samples completed without rejected candidates but did not trigger Rihani.

Preserved all 393 opening rooms and original seat/recovery rows (427 rooms after QA/HTTP). SQLite integrity and foreign keys passed. Server remained healthy after the reported outage; no restart or reset.

Verified source tree: c64ce9537269de94c0d785bc08b17346e826c5797352a636771e1dc6ce5e4859
This commit is contained in:
Quintine committed 2026-09-13 19:45:29 +10:00
1 parent af360c836b
commit 06f46c6f79
26 files changed
+1230 -122

No files matched your search

+3 -1
View File
@@ -6,7 +6,9 @@ inspectors, private two-card offers and one-card assignment custody. Five role
bonuses, public skilled capture, death return and own revival are connected;
Planetologist now also has movement and base green-Special battle controls;
[Suk Graduate](SUK_GRADUATE_RULES.md) redirects actual ordinary/elite casualties
through readable rescue choices without creating counters. Seven effects remain
through readable rescue choices without creating counters. [Battle effects](LEADER_BATTLE_EFFECTS.md)
now connect Rihani inspection/exchange, Mentat/Bureaucrat scoring and Sandmaster
victory spice. Their other bands and Spice Banker, Diplomat and Smuggler remain
missing. This supersedes the historical missing-inventory
rows below only for Leader Skills. See [source inventory](LEADER_SKILLS_RULES.md),
[capture interpretation](LEADER_SKILLS_CAPTURE.md) and [prototype evidence](LEADER_SKILLS_RUNTIME.md).
+11 -2
View File
@@ -4,6 +4,14 @@ Updated 13 September 2026. This is the short navigation dashboard; detailed evid
## Evidence and source of truth
- [Leader battle effects](LEADER_BATTLE_EFFECTS.md) now connect both Rihani bands
and lower Mentat, Bureaucrat and Sandmaster effects. Private controls, all four
AI profiles, JSON/SQLite continuation and concurrent exchanges are covered.
A new browser room exercised separate inspection, draw, public return and refresh.
Three normal bands and Spice Banker, Diplomat and Smuggler remain missing.
The server responded after the outage; a fresh backup captured 393 rooms.
Broad check results and final preservation are recorded in the checkpoint commit.
- [Suk Graduate](SUK_GRADUATE_RULES.md) now connects both casualty-rescue bands,
ordinary/elite counter routing, player controls, all four AI profiles and saved
continuation. Targeted browser rescue and refresh preserved two board forces,
@@ -29,8 +37,9 @@ Updated 13 September 2026. This is the short navigation dashboard; detailed evid
- The [first Leader Skills prototype](LEADER_SKILLS_RUNTIME.md) connects all
fourteen physical cards, private setup, five battle disciplines, skilled capture,
death and own revival through controls, legal AI and saved choices. The [Planetologist follow-up](PLANETOLOGIST_RULES.md) adds movement and
Special-card battle controls, and Suk Graduate adds casualty rescue; the other
seven skills remain **Missing**. The user-requested [capture search](LEADER_SKILLS_CAPTURE.md)
Special-card battle controls, and Suk Graduate adds casualty rescue. The
battle-effects follow-up adds Rihani and three lower bands; remaining work is
listed in its contract. The user-requested [capture search](LEADER_SKILLS_CAPTURE.md)
resolves publicity through the known physical card; captured replacement and
broader combinations remain pending. No mode gate is opened.
- Following the reported power outage, the existing server responded normally,
+21
View File
@@ -1,5 +1,26 @@
# Dune implementation status
## 13 September 2026 — Leader battle effects prototype
[Battle effects](LEADER_BATTLE_EFFECTS.md) connects lower Mentat +2 strength,
Bureaucrat occupation penalties and automatic Sandmaster board spice, plus both
Rihani private inspection and committed optional exchange. Shared quotes, owner
controls, all four AI profiles and saved continuation form usable prototypes.
Three normal bands and Spice Banker, Diplomat and Smuggler remain missing.
Independent review found a completed Rihani receipt was not bound to current
custody during battle cleanup. Decline/exchange now preserve and validate exact
deck order; regressions cover corruption, replay and SQLite concurrent writes.
A fresh genuine browser setup followed by a conserved staged battle exercised
private inspection, separate draw, pending refresh, public return and completion.
Two Basic/Advanced samples finished with no rejected candidates but did not
trigger Rihani; they do not certify its integrated full-game behavior.
The server remained healthy after the outage report. An online backup preserved
393 opening rooms; no restart or reset was needed. Broad results and final
preservation are in the checkpoint commit and private source-bound report.
No rules-mode or publication gate is opened.
## 13 September 2026 — Suk Graduate casualty rescue prototype
[Suk Graduate](SUK_GRADUATE_RULES.md) connects both printed bands through shared
+86
View File
@@ -0,0 +1,86 @@
# Leader Skill battle effects
13 September 2026. **Prototyped, with Partial rules coverage.** This follow-up
connects both Rihani Decipherer bands and the lower battle bands of Mentat,
Bureaucrat and Sandmaster. Normal Mentat questioning, Bureaucrat payments and
Sandmaster movement collection remain missing, as do Spice Banker, Diplomat and
Smuggler. Public module starts and publication remain gated.
## Source contract
The [GF9 CHOAM & Richese rulebook, page 9](https://www.gf9games.com/dune/wp-content/uploads/2021/11/CHOAM-Rulebook-low-res.pdf)
provides the common skill procedure. The printed cards and publisher designer
walkthrough supply the individual effects; see the [component inventory](LEADER_SKILLS_RULES.md).
- [Mentat, 17:37](https://www.youtube.com/watch?v=XT_azRVLq_0&t=1057s): the
surviving selected skilled disc gains two battle strength. Its printed value,
bounty and Zoal source value stay unchanged.
- [Bureaucrat, 15:01](https://www.youtube.com/watch?v=XT_azRVLq_0&t=901s): the
surviving selected skilled disc subtracts one from its opponent's total per
distinct stronghold that opponent occupies. Contested and storm-covered
occupation count; advisors and virtual victory control do not. There is no
implicit zero clamp. The shared board helper recognizes HMS and Jacurutu,
though combined-module play remains gated.
- [Sandmaster, 15:48](https://www.youtube.com/watch?v=XT_azRVLq_0&t=948s): a
surviving skilled winner adds three board spice to an existing pile in the
battle territory automatically. This grants no direct income and does not
require surviving forces. No pile means no addition. Multiple positive piles
are guarded before the final battle vote pending a sector-placement ruling.
- [Rihani, 12:49](https://www.youtube.com/watch?v=XT_azRVLq_0&t=769s): a face-up
native trainer grants the normal private inspection after a victory using
another leader. A surviving selected native skilled winner receives both
bands. A surviving captured skilled winner receives only the lower band.
Rihani first privately inspects two random physical Traitor Deck cards and
reshuffles them. It then offers the separate optional two-card draw. Choosing
to draw commits the player to keep one newly drawn card, publicly reveal and
return one unused old card, and secretly return the unkept new card. Those two
returns are shuffled into the actual deck. There is no post-draw decline or
return-both-new alternative. The two samples can contain the same identity.
**Ordering inference:** normal-before-lower follows the printed order and
designer narration; no explicit priority sentence was found. **Unused** means
not actually called, rather than merely known or publicly disclosed. Returning
an old card announces its name without adding it to the actual-use register.
A Traitor Card used to win this battle is already excluded from the exchange.
No eligible old card means no optional draw. There is no partial draw fallback
when fewer than two physical deck cards are available.
The [Ixian/Tleilaxu rules](https://www.gf9games.com/dunegame/wp-content/uploads/2020/09/IxianAndTleilaxuRulebook.pdf)
place skill resolution before faction capture and Face Dance. Tleilaxu Rihani
must instead exchange an unrevealed Face Dancer. That combination, foreign
gholas and the skill lifecycle after non-kill Face Dance remain unimplemented.
The connected entry supports base factions in Basic/Advanced with Leader Skills
alone. These boundaries are implementation limits, not prohibitions in the game.
## Connected behavior and checks
Shared battle quotes calculate score changes; bots use the same public
stronghold count. Sandmaster resolves automatically. Rihani offers owned
draw/decline controls, then separate inspectable keep-new and reveal-old
selections. All four AI profiles use only their permitted view. Only the owner
receives inspection history and drawn identities. The public log names the
returned old card, never the kept or unkept new identity.
Physical snapshots, an event-bound obligation and saved stages preserve Rihani
through casualties, winner cleanup and captive return. Independent review found
that completed receipts were not bound to custody during cleanup; this now
rejects changed deck order after either decline or exchange. JSON and SQLite
restart tests cover both choices, concurrent writes, stale replays, normal versus
captured eligibility, actual-use exclusion and native Suk rescue preceding a
captured Rihani exchange. Focused checks also cover score-boundary winners,
dead/bluffed skills, Sandmaster without surviving forces and UI privacy.
Fresh browser room `HNGSR8GB` used genuine module setup, then a separately
staged conserved battle. The human inspected two private cards, drew two
separate cards, refreshed the pending exchange and selected a keep and public
return. Completion and refresh restored the kept Traitor and winner card cleanup.
This is targeted browser evidence, not a naturally reached complete game.
Two genuine four-profile Basic/Advanced samples completed in 92/188 actions,
with 3/6 JSON continuations and no rejected candidates; neither reached a Rihani
effect. They establish sample continuation, not comprehensive skill acceptance.
The running server responded after the reported outage. A fresh online backup
captured all 393 opening rooms. No restart or reset was needed. Required broad
checks and final saved-game preservation are recorded in the checkpoint commit
and private source-bound report.
+9 -8
View File
@@ -49,10 +49,11 @@ publisher instruction to announce a name.
## Missing and guarded work
Seven cards still have readable inventory entries but **missing effects**:
Bureaucrat, Spice Banker, Diplomat, Mentat, Rihani Decipherer, Sandmaster and
Smuggler. They are not completed features. Planetologist and Suk Graduate now
have connected prototypes described below.
[Battle-effects follow-up](LEADER_BATTLE_EFFECTS.md) connects both Rihani bands
and the lower Mentat, Bureaucrat and Sandmaster effects. Their normal questioning,
payments and movement collection remain missing, along with all Spice Banker,
Diplomat and Smuggler effects. Planetologist and Suk Graduate have the connected
prototypes described below.
Captured-card replacement entitlement remains unresolved. The prototype rejects
own-leader revival while its original skill is captured, before beginning a
@@ -63,8 +64,8 @@ Before enabling them, add response-driven automatic revival continuation
coverage; the current before/after revival observer does not certify deferred
Tleilaxu response chains. The other source-contract timing questions also remain
open. Planetologist now has bounded movement and battle controls as described below.
The other seven skills still need their payments, information, rescues, retreats
and other effects connected.
Remaining normal-band payments, questions, collection and the three missing
skill families still need connected effects.
## Planetologist follow-up
@@ -78,8 +79,8 @@ continuation and revalidate source custody before a response is spent.
Six base factions remain the supported roster. Mixed BG origins are supported
where ordinary rules determine the destination stance. Enemy-only mixed arrival
still needs a combined flip response. Expansion faction/card/module combinations
and full integrated acceptance remain unfinished. Seven other skill effects are
still missing; this is partial prototype coverage.
and full integrated acceptance remain unfinished. The remaining bands and skill families are
listed above; this is partial prototype coverage.
## Suk Graduate follow-up
+1
View File
@@ -6,6 +6,7 @@ Updated 13 September 2026. This is the authoritative navigation index for existi
| Topic | Decision to preserve | Detailed authority and evidence |
| --- | --- | --- |
| Leader battle effects | Rihani normal peek and reshuffle precede a separate committed optional draw; ordering is an explicit printed-order inference. Unused excludes actual calls, not mere disclosure. Mentat/Bureaucrat change scores; Sandmaster adds board spice. Multiple piles and Face Dancer composition stay guarded. | [Source contract and prototype](LEADER_BATTLE_EFFECTS.md) |
| Source and readiness | Separate published rules, explicit implementation choices and unfinished interpretations; Advanced/expansion gates stay closed. | [Base/Advanced audit](BASE_ADVANCED_READINESS_20260907.md), [checklist](../game/reference.ts) |
| Setup and Fremen movement | Preserve source-ordered setup and the distinct declared-movement cancellation; do not recreate fixed historical gaps. | [Setup contract](ADVANCED_SETUP_TEST_SEAM.md), [Fremen Karama](FREMEN_MOVEMENT_KARAMA_RULES.md) |
| Guild payment | Rate, transport permission and income are distinct; power owner, shipper, contributors and independent rate-card beneficiary remain distinct. | [Rate/cancellation sources](GUILD_RATE_KARAMA_RULES.md), [implemented payment routing](GUILD_SHIPMENT_PAYMENTS.md) |