Files
Dune/docs/MORITANI_ASSASSINATE_LEADERS.md
T

23 KiB

Moritani: Advanced Assassinate Leaders preview

Updated 15 October 2026. Prototyped / Partial. Original native Advanced Moritani play is connected through the supported local entry profiles, including the bounded no-Skills E3 Nexus composition below. Normal public game-start and publication gates remain closed. This is the battle-loss ability, separate from the random Assassination Terror token.

Authority and Advanced duration cutover

The GF9 Ecaz & Moritani rulebook, pp. 6, 14 and 16, supplies the ability, captured-own-leader answer and Karama table. The historical publisher review found no official duration clarification. The user-authorized revised Advanced PDF now supplies an explicit game-long condition, recorded below. The runtime retains the following sequence:

  1. Native Advanced Moritani loses a normal battle against a surviving opposing leader disc, with no traitor called.
  2. Moritani may reveal a held Traitor Card of the opposing player's printed faction, naming a different leader from the disc just opposed.
  3. A living named leader goes to the Tanks and pays its printed strength from the Bank. An already-dead named leader remains a legal reveal: no repeated death or spice, but the faction use and replacement still occur.
  4. Keep the revealed physical card through battle cleanup. During Mentat Pause, set it aside face up as that faction's permanent use marker and draw one private physical replacement. Use the advantage once per opposing faction. Karama has no effect on this ability.

Authorized Advanced cutover — 2 October 2026: the supplied UNOFFICIAL_Revised_Dune_Rulebook_v.2.3_web.pdf, physical p35 / logical p33, Assassinate Leaders D condition(d), says Moritani must “not yet [have] revealed your Traitor Card normally this game.” A normal own-card reveal therefore forfeits the advantage for the rest of this game, across later turns and all opposing factions. The existing persisted normal-call flag already enforced this scope; owner guidance and public reveal history now describe the sourced forfeiture rather than an unresolved-duration guard.

This resolves the old duration question under the authorized Advanced source, not as a newly located GF9 erratum. Basic, exceptional leader interactions and the independent private-step UX/public-preview gates remain unchanged. See source identity and precedence.

The captured-own-leader answer preserves original faction identity: a Moritani leader used by Harkonnen does not become a Harkonnen-faction assassination card. Thus a victorious Harkonnen using that captive can permit a reveal of a different held printed Harkonnen Traitor Card, not the captured Moritani's card. The played disc remains Moritani in the battle record. This clarification does not define every other captured or foreign-ghola target interaction.

Connected scope and private information

The original preview supports native Moritani with Atreides, Bene Gesserit, Emperor, Fremen and Guild opponents, Advanced rules and the Ecaz faction expansion, without optional modules. The later original E3 Nexus compositions add Ecaz and, in the bounded no-Skills composition below, Harkonnen. Other expansion factions, Skills with Harkonnen, Homeworlds, Discoveries and other combinations retain their separate integration boundaries. The bounded all14 native skill composition now extends this same non-Harkonnen roster without opening public starts. Winner Suk rescue and Rihani choice finish first; the unspent assassination receipt waits, then opens its original private choice. Already completed casualties cannot replay after reveal/decline. A different eligible trained disc returns its physical skill once; printed bounty and original Mentat replacement remain. This scope is not a printed restriction on other combinations.

7 October 2026 — original paired native Nexus composition: the exact Ecaz/Moritani/classic profiles, without Skills or with all14 and original optional modules, now admit Ecaz as an opposing printed faction. The classic-only trigger/receipt list was a software scope limit, not a printed prohibition. Two real original native Ecaz battle losses reject before, then reveal a different actual held Ecaz card, kill its original disc for printed bounty and replace it once at Mentat after the shared list gains Ecaz. Winning-disc exclusion and game-long normal-call forfeiture remain; shared/captured/Ghola and Advanced Harkonnen were still guarded at that checkpoint (the no-Skills Harkonnen follow-up is below). A foreign Homeworld's normal Traitor prohibition does not prohibit this distinct native ability. The no-Skills receipt retains its earlier pause before winner casualties; all14 retains its skill-first pause afterward. Canonical programme, game and human qualifications.

Every publicly qualifying loss gets the same private reveal-or-continue opportunity, regardless of the hidden eligible card. Only Moritani sees its candidate identities and blocked reason; rivals see the same decision and no private options. This requires Continue even for an ineligible hand, conflicting with the user's usual automatic-action preference. Moritani's uniform-private-step approval remains separate: the 11 October Mentat approval applies only to that card-show flow. The bounded native Nexus composition uses its original entry and original postbattle/assassination continuation, not a separate opt-in assassination shim; ordinary public starts and room API mode gates remain closed. A publicly spent faction or prior normal traitor call can be skipped without consulting hidden eligibility.

All four AI profiles use the same owner-only quote. They choose a legal card or decline and do not inspect rival hidden state. The public history shows only revealed cards and face-up set-aside markers; replacement identities remain private.

The Mentat replacement now draws the first distinct physical Traitor Card in the reserve rather than the reserve's first entry: the set-aside card can still sit in that list, and re-drawing it would duplicate a card instead of replacing it. When no distinct card remains, the replacement is blocked with an explicit reason instead of committing an invalid receipt. (7 October 2026) Dead-target inspection retains the printed leader strength despite its zero bounty.

Native Harkonnen battle identity — 15 October 2026

The bounded Advanced Moritani/Harkonnen E3 Nexus composition without Leader Skills, including the paired Ecaz/Moritani roster, admits an original normal Moritani loss to a victorious Harkonnen. The winning surviving battle disc may be one of Harkonnen's own five native discs, an actual captured foreign native disc (including Moritani), or the separately controlled/captured Duke Prad Vidal. The engine must bind that exact disc to the actual Harkonnen battle plan, effective control and survival before creating the opportunity; a helper identity check alone is not evidence of captivity or a completed battle.

The supplied Advanced p35 / logical p33 D conditions still govern: normal loss, surviving opposing disc, no Traitor revealed in the battle, no earlier use against that printed opposing faction, and no prior normal own-card reveal this game. The held card must be an ordinary Harkonnen-faction Traitor identity, different from the actual played disc. A native Harkonnen played disc therefore excludes its own card. A captured Atreides or Moritani disc does not exclude or become any Harkonnen card. Duke stays the separate Ecaz strength-6 disc with no Traitor Card; Cheap Hero cannot open this ability.

The original five native Harkonnen targets pay their printed strength if living, or zero with no second death if already in the Tanks. Use is still once per printed opposing faction, with the revealed physical card held until the original automatic Mentat face-up retirement and one distinct private replacement. The normal-call forfeiture is game-long; decline spends no use. Karama behavior, private uniform opportunity, casualty cleanup and replacement ordering remain the original ability, not new Harkonnen-specific mechanics.

game/moritani-assassinate.ts admits the distinct native/captive/Duke battle identity while retaining version1 state, receipt shape and the original signature. Its target pool remains the opposing faction's native identities, not the winner's battle-use pool. Existing missing/altered, captured, concealed, foreign-Ghola or foreign-controlled target guards remain unchanged; admitting Harkonnen's captured battle disc is not a general relaxation of those policies or a ruling on other profiles.

tests/moritani-harkonnen-assassinate.test.ts supplies pure trigger/receipt/ choice regressions for native, captured foreign/Moritani and Duke identities, native-card exclusion, wrong-faction and Cheap Hero rejection, dead bounty, once-use, normal-call forfeiture and physical replacement. The frozen affected22-file union passes 195/195, with types/lint/build. Original three-seat native play produces Harkonnen's actual capture, original Karama cancellation and a real Harkonnen win using captive Duke6. The engine binds the original surviving battle reference before its custody release; Moritani then reveals its actual held Beast Rabban4, receives four Bank spice and kills that native disc. Original Mentat retires the card face up and draws distinct Esmar Tuek privately. Actual styled390px GameTable performs the cancellation/reveal and displays the replacement, without overflow or browser errors. Four-profile response smoke is legal, not calibrated strategy. The separate random Terror pool is not derived from this captured-own FAQ. At that checkpoint, non-Harkonnen foreign/shared winning discs remained unconnected; the following native-disc cutover supersedes that boundary.

Canonical winning discs and native targets — 15 October 2026

Played physical identity and victorious player's printed faction are separate. The existing engine binds the actual surviving controlled disc to the winner's real plan before its battle-use release. The shared helper now recognizes canonical ordinary discs, shared Duke and CHOAM's actual optional Auditor, without requiring an ordinary native disc of that victor. The cached printed catalog also includes Auditor's matching physical Traitor and printed two. Auditor still cannot be captured or acquired as a foreign Ghola; its played identity is CHOAM-only. Cheap Hero does not become a physical leader disc, and Duke still has no Traitor Card.

Targets remain the victorious player's printed faction, different from the played disc. Original native examples now connect:

  • Ecaz / Duke6: original paid reusable Ambassador acquisition, real native battle and surviving Duke produce a native Ecaz choice. Actual Sanya Ecaz4 dies for four, while the same used Duke remains alive and set aside.
  • Tleilaxu / foreign Guild5: original projectiles kill Guild's Staban Tuek and a different native Tleilaxu disc; the real next Revival buys that foreign disc for three. Its later Tleilaxu victory opens Zoal3, not a Guild target or copied five-spice bounty. The surviving ghola retains Guild identity, its death history and actual Tleilaxu custody.
  • CHOAM / Auditor2: a real Auditor victory opens Frankos Aru4. Conversely, a different surviving CHOAM disc permits the actual held Auditor Traitor for two. If Auditor itself was played, its card is excluded and the original private Continue spends no card, death, bounty or faction use.

Every real reveal retains the original physical card until automatic Mentat face-up retirement and one distinct private replacement. Once-use and game-long normal-call forfeiture are unchanged. No state/signature-version cutover, target-custody relaxation or new public pause is introduced.

The genuine Ecaz producer also exposed an obsolete future Guild income arrival guard. Ordinary reserve shipment now uses the existing income-then-entry queue, rather than rejecting before Guild permission. Human controls ship one for Moritani12→11/reserves14→13, Guild6→7, then offer the actual Ambassador and Duke acquisition. This changes no tariff, funding, payment or token rule. Arrival contract and remaining gates.

Affected15-file union 134/134 and types/lint pass. Twenty-five original API/policy scenarios cover the three Auditor positions, Ecaz/shared Duke, Tleilaxu/foreign Ghola and all four legal owner policies in each. Actual styled390px GameTable performs the three Auditor controls, paid Guild→Ambassador→Duke acquisition, Sanya4 and Zoal3 reveals and physical Mentat replacement. Final Guild/Ghola surfaces have no overflow or browser errors. An earlier rejected Guild fixture also exposed a temporary QA-client error handling invalid metadata; that handling was repaired before final proof. Only original undealt entropy and conserved unplayed Spice/Nexus ordering are directed; no wallet, hand, force, leader, phase or battle is staged.

Exceptional captured/Ghola targets, Skills/Harkonnen, private-step UX, remaining arrival combinations, full assurance and deployed acceptance remain separate. Passing these local native paths does not certify complete modes.

Physical replacement roles and retired-card zone — 15 October 2026

The original Mentat draw takes a physical Traitor Card, not necessarily a faction leader-disc identity. With the original Ix deck selected, the single Cheap Hero / Heroine Traitor is a legal replacement. It remains a Traitor: no physical leader, native-faction assassination target or Duke Traitor is manufactured. Original native Ix play kills Dominic Vernius4, retires its real held card and draws that original reserve Hero once.

Retired victims remain permanently out of circulation. The shared NexusTraitorSnapshot.removed zone derives from actual stage: 'replaced' victim cards, not from historical replacement IDs. It participates in the canonical full census, retaining the existing Ecaz Loyalty exclusion, but cannot appear in reserve, ordinary hands or Face Dancers. Harkonnen exchange, Tleilaxu Cunning, Betrayal source/replacement and Rihani consumers preserve that zone. This is distinct from Face Dancers temporarily set aside before their own return shuffle, or a Betrayal-declared card returned to the deck.

A replacement's recorded ID is a historical draw, not permanent ownership. Its real card can later be exchanged, returned and drawn again. Keep the old receipt/signature unchanged; count current custody once, not once per past reference. Original native CHOAM/Auditor play draws Hasimir6, Harkonnen Secret Ally returns that card while keeping Esmar3, then a real turn-three Guild loss retires Esmar3 and original Mentat draws the same Hasimir6 again. Both public victim markers stay out; one live Hasimir card remains.

New Nexus exchange sources carry/sign the optional permanent zone when present. Absent-zone records retain their original grammar/signature; completed history validates its recorded physical state rather than adopting later live markers. No old receipt is rewritten when a second victim retires. Engine application never rewrites the derived Game marker zone from an exchange result. Existing actor/card authorization, full current census, native target guards and revealed-card reservation remain.

Affected15-file 134/134 passes, including adjacent engine/continuation consumers. Eleven original API/policy paths cover Hero/next Storm, all four Ready paths through actual owned Mentat initialization, legal old-card return, the repeated native draw and all four pending-return policies. All four return policies legally keep Hasimir; the human/scripted return chooses to give it back. This is legal participation, not strategic calibration.

Actual styled390px GameTable completes final Collection readiness, displays the private Hero inspector, draws two real Nexus cards, returns Hasimir/Caid through the native checkboxes, restores the original Mori placement, passes it and reaches the next Storm. A separate original recycled chronology reveals Esmar3 and displays one Hasimir6 after the second draw. No overflow/browser errors. Only original deal/return-shuffle entropy and conserved unplayed Spice/Nexus ordering are directed; no hand, wallet, force, leader, phase or battle is staged. No saved/deployed rooms or broad assurance are covered.

The wider consumer run exposed older fixtures skipping the real borrowed-Voice opportunity before native Prescience/plans. They now consume the original canonical preparation actions; no engine legality is weakened. Old permanent replacement-ownership/uniqueness and wording/markup pins were removed, not re-pinned. Receipt consistency is not a claim of authenticated past save history.

Save and physical custody

The resolved battle binds the opportunity's event, opposing faction and surviving leader. Its saved continuation is also bound to a separate battle obligation before the decision opens. Reveal/decline resumes that exact cleanup once. A normal traitor call has a separate event ledger; its explanatory log waits until the normal public reveal, preserving sealed submissions.

A physical Traitor Card belongs to reserve, an ordinary/Face Dancer hand, or a public permanent marker in the existing canonical census. Revealed assassination cards remain held until their actual Mentat retirement. Retired victims never return. Historical replacement references may recur after legal physical exchanges; they are not additional live cards or a permanent hand-ownership constraint. Cross-zone duplication and altered pending continuations still reject.

Replacement runs during original Mentat initialization, after the owned phase opening; merely displaying phase8 does not mean that initialization finished. The current native Nexus path can pause/resume original Mori placement without repeating retirement, drawing or payment. Complete timing/optional-module and save-authenticity assurance remain separate from these exercised local paths.

Reproduction and evidence

Use the existing private backup/CAS workflow with a fresh ready lobby:

node --import tsx tools/start-prototype.ts --profile moritani-assassinate --db /absolute/games.sqlite --room ABCDEFGH --version 1 --out /private/new-checkpoint
npm test -- moritani-assassinate prototype-room

Rules and engine tests use genuine Advanced setup followed by explicitly staged, conserved forces and physical traitor swaps. They cover living and dead targets, no-use paths, all four profiles, private indistinguishability, sealed normal calls, per-faction limits, a real later-turn replacement chain, rejected-action immutability and corrupt saves. Authenticated SQLite tests exercise pending restoration, Truthtrance interruption, competing submissions and the actual Mentat replacement. The local writer test preserves seats and unrelated rooms and rejects repeat starts.

Independent rules/privacy/persistence review and the 32-case focused union pass: eight pure quote cases, eleven engine cases, three controls cases, five authenticated SQLite cases and five prototype-writer cases (one added for this profile).

Two genuine Advanced four-player samples, with all four AI profiles rotated, finish in 296 and 101 accepted actions with no rejected candidates. Neither sample stages hands, decks, forces or phases. Ten periodic JSON rounds and all eight final seat views restore; physical Treachery, Traitor, force and elite custody hold throughout. The first game offers two assassination opportunities, both declined; the second offers none. These samples prove continuation, not natural reveal/replacement use.

A separate browser exercise starts from genuine setup with explicitly staged, conserved battle forces and one physical traitor swap. Real battle actions produce the pending choice. Revealing Master Bewt kills that live leader and pays three spice once; the card stays held until automatic Mentat replacement, then becomes a public set-aside marker. Pending and resolved refresh preserve the human seat. Choice and retired-card inspectors show readable, context-correct guidance. Exact card/force custody and private projections pass; Guild separately collects two spice from Arrakeen. The game remains saved at human Terror placement.

All 801 opening games remain unchanged after the reported power failure. The healthy server is reused. Broad checks, source fingerprint, final saved-game preservation and Git delivery are recorded with the checkpoint. Focused and staged evidence does not certify a complete faction, all combinations or public Advanced readiness.

29 September 2026 — five-roster game continuation

The reusable faction-game runner now exercises this exact gated Advanced preview from two through six seats with Moritani and only the supported classic opponents except Harkonnen. Five games at seed 20260929 completed in 2,511 accepted actions, with zero rejected candidates and 65 JSON continuations. The six-seat game opened two genuine private assassination decisions; both were declined. The existing staged battle/replacement cases and the external physical custody check cover the actual reveal, retirement and new-card draw, but the natural full-game samples do not demonstrate a reveal. The source boundaries and pending user timing/UX questions above remain unchanged.

29 September 2026 — natural revealed-card game

An additional unchanged-source six-seat Advanced game using base seed 20261307 and the existing moritani-assassinate profile completed 1,666 accepted actions, zero rejected candidates and 45 JSON view restores. A genuine turn-six battle loss first produced a private offer that Moritani declined. A second loss let its Easy bot reveal its actually held emperor-1 Traitor Card against a different Emperor leader. That named leader was already dead, so the legal reveal paid no second bounty. The physical card remained held at accepted action 987; automatic Mentat replacement at action 995 set it aside and privately drew fremen-4. A separate Node replay JSON-restored every seat view at both boundaries; the whole-game runner checked physical custody after every accepted action through final turn ten.

Source-bound private report: /tmp/dune-assassinate-natural-reveal-20261307/report.json, based on 583cd97a250bce4b2a9f570bc1e2893e9d49db41. This establishes one natural dead-target reveal and replacement, not a natural living-target kill, full module composition, an official resolution of normal-traitor duration, or public Advanced Moritani readiness.