feat: preserve native Face Dance through Semuta battle discards

This commit is contained in:
Quintine committed 2026-10-12 04:16:12 +11:00
1 parent 12e4bcbf45
commit 0d545deb63
9 files changed
+191 -10

No files matched your search

+6
View File
@@ -17,6 +17,12 @@ casualties, cleanup and capture suffix. The capture offer samples no captive
until its original response finishes. Other pending reward exclusions are
unchanged; this does not certify complete Semuta or expansion combinations.
The same preview now admits native Tleilaxu Face Dance pending across mandatory
and winner-card batches. Original casualties and cleanup precede the same
private opportunity; native replacement runs once and does not undo a Semuta
claim. Face Dancer cards remain their separate physical deck, never Treachery
discard targets. Other pending reward exclusions are unchanged.
Sequence retirement precedes the remaining work. Ordinary public actions still drain these saved steps automatically. Test-only observation of unchanged private production dispatch captures real intermediate frames; this is not a public Semuta reaction window.
## Integrity, privacy and multiplayer
+15
View File
@@ -29,6 +29,21 @@ optional skill bands, combinations and public expansion starts remain open.
Rules implementation continues; comprehensive assurance and administration
remain deferred until all rules are implemented.
**Semuta / native Face Dance — 11 October.** Mandatory and winner battle
discards now offer Semuta while native Tleilaxu replacement remains pending.
Original casualties and card cleanup still precede the same private opportunity;
one native replacement preserves the claimed Treachery card. Other reward
exclusions are unchanged. The regression fails before and passes after.
Types/lint and 117 affected unit cases across eight files pass.
Twenty-four runtime scenarios cover both producers/modes, claim/pass and four
Semuta AI profiles; eight more prove all four native Face Dance AI continuations
in both modes. Real GameTable at 390px claims Hunter Seeker, restores the original
reserves/sector controls and replaces three in Arrakeen10. Old winner
reserves18/Tanks2, Tleilaxu board3/reserves12/Tanks5, claimed card still held.
Phase7's native Ix opening remains; no premature Collection claim or overflow.
Temporary QA scaffolds are removed; no saved store or deployed game was targeted.
See [the source/runtime boundary](SEMUTA_SOURCE_UPDATE_20260907.md).
**Semuta / CHOAM final Mentat — 11 October.** Gamont disposal in the native
final opportunity now offers Semuta, then restores the same CHOAM-owned window.
Claim/pass returns the selected force but never checks victory or advances
+34
View File
@@ -1,5 +1,39 @@
# Dune implementation status
## 11 October 2026 — native Face Dance after Semuta battle discards
The battle receipt already validates pending native Face Dance against the
original winner, territory and Tleilaxu owner. Removing only its battle-reward
exclusion admits mandatory and winner-card batches without changing native
replacement, force sources or aftermath ordering. Other reward exclusions
remain intact; Face Dancer cards are not Treachery targets.
The genuine mixed CHOAM/Ix fixture stages a matching physical Face Dancer by a
conserved identity swap with the actual reserve/held traitor zones. The
regression fails before and passes after, covering both discard producers,
claim/pass, original casualties/cleanup, one replacement and winning leader
death, card preservation after replacement and retired reaction/Face Dance
replay rejection.
Twenty-four isolated runtime scenarios cover both producers, both modes,
claim/pass and all four legal Semuta AI profiles, followed by native replacement.
Eight further native Face Dance AI cases cover each profile in Basic/Advanced;
all legally reveal their own matching card and replace three survivors. The old
winner ends with reserves18/Tanks2 and no board forces; Tleilaxu holds
board3/reserves12/Tanks5, with one winning-leader death.
Real production GameTable at 390px claims the winner's Hunter Seeker, restores
the original private reserve/sector controls, then reveals the matching Face
Dancer and replaces three in Arrakeen10. Hunter Seeker stays held by Richese.
Phase7's original Ix opening remains; this is not premature Collection proof.
There is no horizontal overflow. Temporary scripts, isolated server and browser
tab are removed/stopped; no saved store or deployed game was targeted.
Types/lint and 117 affected unit cases across eight files pass.
Contracts: [Semuta](SEMUTA_SOURCE_UPDATE_20260907.md),
[battle ordering](BATTLE_DISCARD_CONTINUATIONS.md). Full Semuta/Tleilaxu,
combinations and deployed acceptance remain open.
## 11 October 2026 — original final Mentat after Semuta/Gamont
The Gamont receipt now carries an optional final-Mentat marker and signs the
+8 -2
View File
@@ -39,6 +39,12 @@ Harkonnen, loser and territory; winner casualties and optional card cleanup
still precede the capture offer. Claim or decline neither samples a captive
early nor repeats the capture. Other pending battle rewards remain gated.
Mandatory and winner battle discards may also pause before native Tleilaxu
Face Dance. The same saved winner/territory/owner opportunity survives claim or
decline; original casualties and winner cleanup still precede it. Native
replacement runs once, and the claimed Treachery card remains held afterward.
Face Dancer cards are not Treachery cards and never enter the fresh batch.
Completed ordinary Ghola disposal may now offer Semuta during battle as well.
Revival has already committed; the receipt binds the returned leader/forces and
original battle, including a sealed opposing plan. Claim or decline restores
@@ -179,8 +185,8 @@ winning-card cleanup uses a separate `winnerMandatoryDiscard` batch,
and an optional winner selection uses a third `battleCleanup` batch.
Every supported stage has a neutral all-seat offer; committed holders
select one fresh card, leave the others in the pile and resume exactly
once. Native Advanced Harkonnen capture now remains pending across the offer;
Auditor, tech, Face Dance and CHOAM rewards remain automatic without Semuta.
once. Native Advanced Harkonnen capture and native Face Dance remain pending
across the offer; Auditor, tech and CHOAM rewards remain automatic without Semuta.
The explicit Richese preview also accepts a fresh physical Ix deck.
Clean Thumper disposal stages `thumperDiscard` before `blowSpice`
+32 -2
View File
@@ -237,8 +237,8 @@ policy**, not a newly discovered publisher timing rule. Full-hand
Semuta uses the explicit user-approved atomic exchange; its completed
hand count is unchanged. Pending gifts, competing responses,
completed Ornithopter arrivals with Ecaz Ambassador or Moritani Terror,
pending battle rewards other than native Harkonnen capture and other typed
producers retain their automatic continuation; Semuta cannot claim those events
pending battle rewards other than native Harkonnen capture/Face Dance and other
typed producers retain automatic continuation; Semuta cannot claim those events
yet.
The completed Box's selected
search card stays private and its paid shuffle is not repeated
@@ -248,6 +248,36 @@ separate [reaction privacy audit](SEMUTA_PRIVACY_REVIEW.md) explains why
auto-closing only when nobody secretly holds the card would leak
possession. The main game and public expansion gates remain closed.
**11 October 2026 — native Face Dance suffix.** Mandatory and winner
battle discard batches now offer Semuta with native Tleilaxu Face Dance pending.
Only that reward exclusion changed. The existing battle receipt already binds
the pending native owner, original winner and territory. Claim/pass preserves
casualties and winner-card cleanup before the same private opportunity; it
cannot replace an army early, repeat replacement or move the claimed card back.
Auditor, tech, CHOAM income and other reward exclusions remain separate.
The permanent regression fails before and passes after, covering both discard
producers, claim/pass, one replacement, original leader death, force and card
custody, and retired reaction/Face Dance replay rejection. Genuine mixed
CHOAM/Ix setup supplies the physical cards; a conserved traitor/Face Dancer
identity swap stages the matching winner without inventing a second card.
Twenty-four isolated runtime scenarios cover both producers, Basic/Advanced,
claim/pass and four legal Semuta AI profiles, then one native replacement.
Eight further native Face Dance AI cases cover all four profiles in both modes:
each uses its own matching card and legally replaces three survivors. The old
winner ends with reserves18/Tanks2 and no board group; Tleilaxu has board3,
reserves12/Tanks5, and the winning leader has one death.
Real GameTable at 390px claims the winner's Hunter Seeker before restoring
Tleilaxu's actual reserves/sector selector. Reveal Face Dancer replaces three
in Arrakeen10 and keeps Hunter Seeker in Richese's hand. Phase7's original Ix
opening remains; no premature collection settlement is claimed. No horizontal
overflow. Temporary scripts/server/browser are removed or stopped; no saved
store or deployed game was targeted. This is bounded continuation coverage,
not complete Semuta/Tleilaxu or deployed acceptance.
Types/lint and 117 affected unit cases across eight files pass.
**11 October 2026 — original final-Mentat continuation.** Gamont disposal
inside CHOAM's final opportunity now offers Semuta too. The receipt signs an
optional `mentat` marker and the still-pending native opportunity. Claim or