Files
Dune/docs/MORITANI_ASSASSINATE_LEADERS.md
Quintine eff668b202 Support Moritani assassination of captured and foreign-ghola targets
Retain printed native identity and valid original custody while projecting only
uniform potential bounty before commitment. Resolve living/dead targets once,
clear selected capture/concealment and retain ordinary Ghola return custody.
Selected concealed-outcome disclosure is explicitly provisional.

Verified: 14 affected offline files100/100, types/lint and production build;
six actual choice/gameplay/GameTable SSR journeys and twelve profile paths.
Native capture source47 actions; actual paid Ghola prefix140 actions followed
by explicit conserved seven-action battle. No saved-room/D1/reset/restart or
deployment operation. Runtime-only driver fixes reused unchanged passed checks.
2026-10-24 19:03:03 +11:00

479 lines
30 KiB
Markdown

# Moritani: Advanced Assassinate Leaders preview
Updated24 October2026. **Prototyped / Partial**. Supported fresh native
Advanced Moritani starts initialize this printed advantage automatically,
including plain faction starts and the independent-card profile. Normal lobby
access is a labelled preview, not complete-mode or publication acceptance.
This battle-loss ability is separate from the random Assassination Terror token.
Played saves are not assigned fabricated prior-call or opportunity history.
## Native target custody — 24 October 2026
The authorized supplied revision, physical **p35 D**, selects a different held
Traitor identity of the opposing printed faction. A valid native Harkonnen
capture or ordinary Tleilaxu foreign-Ghola return does not rewrite that faction.
The target pool now accepts those actual producer flags, including an already
dead target. It still requires one canonical disc in the original native roster,
matching printed name/value/faction and the original native controller. Unknown
custodians, arbitrary foreign controllers, shared Duke's nonexistent Traitor and
Auditor's explicit capture/foreign-Ghola prohibitions remain excluded. The older
captured-winning-disc work below did not itself enable these targets.
Pending choices now contain only canonical card/name and printed **potential
bounty**. Living, dead, captured, concealed-executed and ordinary foreign-ghola
targets have the same choice shape; controls and minimal bots do not receive
actual life/capture/Ghola fields to rank or label those choices. Every publicly
qualifying loss still gets the same private opportunity, and rivals receive no
candidate identities. Public completed history retains the actual awarded bounty.
Committing the original event-bound physical reveal kills a living target once,
clears its territory use and awards printed value. An already-dead target adds
no death or spice, retaining its existing execution/death count. Clear only the
selected `capturedBy` and `concealed`; retain ordinary `gholaBy` for its existing
return/buyback contract. A new death uses the existing global last-native
Harkonnen captive-release hook and idempotent skill-return hook. Original
cleanup, once-per-printed-faction use, normal-call forfeiture and one physical
Mentat retirement/replacement remain unchanged. Declining changes none of the
target's custody or bounty and does not spend that faction's use.
**Selected outcome disclosure is provisional.** Under standing 14 October
choose-recommended authority, committing the selected Traitor reveal makes its
actual death/zero-bounty outcome public, including a previously concealed
execution. Supplied D does not expressly settle that disclosure; the publisher's
captured-own-winning-disc answer is not a target-custody FAQ. Unselected discs
retain existing secrecy, subject to the ordinary last-native captive release.
No mode, module or roster admission is changed.
The primary fixture earns the held Emperor card, battle, Harkonnen capture,
Keep/Execute decision and later Emperor victory against Moritani through actual
public native Advanced play. A different surviving Fenring disc supplies the
opportunity; Burseg3 remains the selected target. Only original undealt positions,
scalar shuffle choices and the actual capture permutation are selected. A second
fixture earns the ordinary Guild disc's combat death and paid Tleilaxu foreign
revival, then explicitly stages a conserved later Guild/Mori battle and one
physical Traitor swap. That branch does not claim a wholly unstaged chronology.
The native capture source takes47 actual actions in either branch. The paid
Ghola prefix takes140 actual actions; its separate later battle uses seven
actual actions after the documented conserved positioning.
### Current scoped proof
The frozen **14-file100/100** affected offline union, `npm run check:quick` and
production build pass. Six actual choice callbacks/gameplay/full GameTable SSR
journeys cover captive, concealed-executed and foreign-ghola reveal/decline,
including original physical Mentat replacement. Twelve own-view paths across
the existing four profiles accept twelve original actions and finish the same
continuation. Ten new native/controlled engine cases, three added quote cases
and the current five control cases cover eligibility, uniform choices, actual
death/payment, source/event/owner rejection and decline. Earlier trained/native
discs and other projected-choice consumers retain their actual rule assertions.
Narrow feedback first caught a test that ignored Harkonnen's ordinary two-spice
stronghold income when battle completion starts Collection. Runtime stays
unchanged. First frozen79/82 feedback repairs old choice-schema consumers and
a death assertion that read the printed registry instead of the public native
roster; four selected cases pass4/4. Subsequent82/82 tests pass, then typecheck
finds two further old pending-bounty consumers, which join the final union.
Final100/100/types/lint/build are in `frozen-integrated-3`. Private smoke feedback
first stopped at entering Mentat before queued Nexus replacement, then at an
owned Face Dancer choice. The corrected driver explicitly declines optional
aftermath and follows original closing controls to the actual receipt. The
runtime-only `frozen-integrated-5` checks source equality before reusing those
three passed check steps; `reused-checks.json` records their origin. Tests/build
were not rerun after these private driver-only repairs.
All evidence binds base `61828150b951a859eb440f4987c59ef5a0038ba9`, tree
`2f72c115cca1bf3afdc61c9cfbcaab568be872f6db3d885d4296ca159c7006bb`
(2714 nonignored files). Private logs, rendered controls and source hashes stay
outside Git in `20261024-moritani-assassinate-target`; final checkpoint prose/
reference overlays are reviewed separately without changing engine/tests.
This is no browser/hydration/mobile/deployed or complete-game certification.
Relevant paths: [quote and projection](../game/moritani-assassinate.ts),
[choice controls](../components/moritani-assassinate.tsx),
[native capture fixture](../tests/fixture-moritani-assassinate-target.ts),
[paid-Ghola prefix and controlled battle](../tests/fixture-moritani-assassinate-ghola-target.ts),
[target outcomes](../tests/moritani-assassinate-target.test.ts),
[quote cases](../tests/moritani-assassinate-quote.test.ts) and
[choice cases](../tests/moritani-assassinate-controls.test.tsx).
Full modes, wider combinations, comprehensive rules/save/privacy/custody and
browser/deployed acceptance, plus full AI, remain unfinished. This prototype
does not run a capture-restoration campaign or operate on saved rooms/D1.
**18 October registered Skills:** mixed native E1/E2/E3 seats and unused
selected decks no longer need Nexus or one exact E3 family for all14. Actual
Mori binds its original Advanced producer; a CHOAM native-source fee and normal
loss reach unused trained Frankos4, one skill return and one real replacement.
Basic, normal-call forfeiture, shared Duke and Advanced role limits remain.
[Current609/609 evidence and preserved original module guards](LEADER_SKILLS_RUNTIME.md#registered-native-e3-selected-decks--18-october-2026).
**17 October World continuation:** native World/card/phase starts now retain
the same Advanced power with or without Skills. Real paid World shipments
and own reserve fees/typed H returns precede a normal loss; a different unused
trained native target dies once, returns its skill once and yields one actual
Mentat replacement. Basic, normal-call forfeiture, shared Duke and original
Advanced role boundaries remain.
[Current World scope and459/459 proof](LEADER_SKILLS_RUNTIME.md#native-e3-worlds-with-independent-cards--17-october-2026).
## Authority and Advanced duration cutover
The [GF9 Ecaz & Moritani rulebook](https://www.gf9games.com/dune/wp-content/uploads/EcazMoritani-Rulebook-LOWRES.pdf),
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](RULE_DECISIONS.md#authorized-source-amendment--1-october-2026).
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
Without Skills, fresh selected native rosters containing Moritani retain this
advantage with their actual distinct Ix/CHOAM/Ecaz family decks, including
Harkonnen, the Ecaz pair and existing Homeworld occupation. Existing module
profiles still govern Nexus, Discovery, Tech and Strongholds. Independent cards
do not require an unrelated Nexus module or suppress assassination.
With Skills, standalone or paired native Ecaz/Moritani/classic setups now work
without Nexus, optionally independent cards and original Tech3+/Advanced
Strongholds2+. Advanced Harkonnen, mixed families and other module envelopes
retain their guards; see [current phase composition](LEADER_SKILLS_RUNTIME.md#independent-cards-with-original-phase-modules--17-october-2026).
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](NEXUS_CARD_RULES.md#mixed-e1e2-and-paired-e3-nexus--7-october-2026).
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.
Supported normal-lobby previews use the same constructors; complete modes remain gated.
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](DEFERRED_SHIPMENT_ARRIVAL.md#ordinary-guild-income-before-ambassador-entry--15-october-2026).
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:
```sh
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](VERIFICATION_WORKFLOW.md#reusable-base-and-faction-sample-games)
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.