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.
479 lines
30 KiB
Markdown
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.
|