feat: resume Semuta battle discards before Harkonnen capture

This commit is contained in:
Quintine committed 2026-10-12 01:35:00 +11:00
1 parent 7cb6f98332
commit da61249592
9 files changed
+179 -12

No files matched your search

+7
View File
@@ -10,6 +10,13 @@ Normal Advanced/Ixian winner casualties retain the effective force strengths, fr
The remaining order is winner casualties, applicable Ixian substitution, optional winner cards, Moritani cleanup, CHOAM support income, tech transfer, Harkonnen capture, Auditor, Face Dance and the next battle/phase. Winner and Moritani discards are distinct later batches. Empty batches create no event. Moritani's consumed retention receipt preserves played and kept identities without requiring discarded cards to remain in hand. Older cleanup decisions without a resolved receipt can establish one from their existing authenticated parent; a mismatching existing receipt is rejected.
11 October 2026 Semuta update: the explicit development preview admits mandatory
and winner-card batches with the native Advanced Harkonnen capture still pending.
Claim or all-seat decline retires the discard receipt before the original
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.
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
+13
View File
@@ -29,6 +29,19 @@ 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 Advanced Harkonnen capture — 11 October.** Mandatory and
winner-card battle discards now offer Semuta with the original capture pending.
Claim or all-seat decline preserves winner casualties and cleanup before the
same capture offer; no early sampling or second capture. Other pending reward
exclusions are unchanged. The regression fails before and passes after;
types/lint and 97 affected cases pass. Thirty-six isolated runtime scenarios
cover both producers, claim/pass, four legal AI profiles and capture
decline/retention/execution; execution earns exactly two extra spice against the
same decline suffix. Real GameTable at 390px claims Stunner, resumes capture and
retains one captive before Collection with no 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 / ordinary battle Truthtrance — 11 October.** Ordinary definite
Truthtrance answers now offer the consumed card during battle, including a bound
unsubmitted-plan promise, a question about a submitted/revealed plan and a fact
+34
View File
@@ -1,5 +1,39 @@
# Dune implementation status
## 11 October 2026 — Semuta before native Advanced Harkonnen capture
The resolved battle and winner-cleanup receipts already validate the original
pending capture's winner, loser and territory. Removing only `pendingCapture`
from the reaction exclusion admits both discard batches without changing the
capture handler, random selection or aftermath ordering. Other pending reward
exclusions remain intact.
The real Advanced Richese/Harkonnen fixture now covers mandatory loser disposal,
winner disposal, claim/pass, unchanged resources and pending capture, retired
events, card conservation and one retained captive. It fails before the guard
change and passes after. The fixture also declines the existing Atreides
full-plan inspection before shared readiness; no preparation bypass was added.
Types/lint and 97 affected cases across eight files pass.
Thirty-six isolated engine scenarios cover both producers with claim, all-seat
pass and all four legal AI profiles, followed by capture decline, retention or
execution. Each reaches Collection with zero or one captive as appropriate;
execution gains exactly two spice against the same decline suffix. An initial
probe wrongly attributed automatic Collection income to capture; its corrected
comparison uses the complete same-phase baseline.
Real production GameTable controls at 390px claim the winner's Stunner, resume
Capture a leader, inspect the captive and retain exactly one before Collection,
without horizontal overflow. The QA adapter only switched seats and mounted the
real table against an isolated memory-only engine; it touched no saved store.
All temporary scripts, server and browser tab are removed/stopped. The first
compiler pass stopped on an unused temporary fixture helper; after scaffold
removal, the frozen implementation check passed.
Source/runtime boundaries: [Semuta](SEMUTA_SOURCE_UPDATE_20260907.md),
[battle ordering](BATTLE_DISCARD_CONTINUATIONS.md). Full Semuta, expansion and
deployed acceptance remain open.
## 11 October 2026 — Semuta with a bound battle-plan promise
The Truthtrance receipt already carried a battle promise and the integrity
+6
View File
@@ -27,6 +27,12 @@ Native Richese/No-Field shipment questions and unsupported module combinations
remain outside the admitted shipment-question scope. A claim may move the
consumed card, never re-answer the question or rewrite its history.
Mandatory and winner battle discards may now pause before native Advanced
Harkonnen capture. The original pending capture remains bound to the winning
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.
Clean Once Around Sapho stages `saphoAuctionDiscard` after the open
lot's finite bidder reorder, hand-slot release and public card disposal,
but before settlement. The saved receipt binds the lot, prior funding,
+23 -3
View File
@@ -234,9 +234,9 @@ 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 and other
typed producers retain their automatic continuation; Semuta cannot
claim those events yet.
pending battle rewards other than native Harkonnen capture and other typed
producers retain their automatic continuation; Semuta cannot claim those events
yet.
The completed Box's selected
search card stays private and its paid shuffle is not repeated
when another seat takes the used Box. No source ruling is inferred
@@ -245,6 +245,26 @@ 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 Harkonnen capture suffix.** Mandatory and winner
battle discard batches now offer Semuta while the original Advanced Harkonnen
capture remains pending. Only the capture exclusion changed; the battle receipt
already validates that the winning Harkonnen, loser and territory match. Claim
or decline resumes original winner casualties and card cleanup before the same
capture offer. No captive is sampled until the original capture response ends.
Other pending battle rewards retain their separate exclusions.
The permanent regression fails before the guard change and passes after,
covering both discard producers, unchanged capture/cleanup order, settled
resources, card custody, retired-event rejection and one retained captive.
An isolated engine smoke covers both producers with claim, all-seat pass and
four legal AI profiles, then capture decline, retention and execution (36
scenarios). Execution adds exactly two spice compared with the same completed
decline path, without counting automatic Collection income as capture income.
Real GameTable controls at 390px claim the winner's Stunner, resume Capture a
leader, inspect the captive and retain exactly one before Collection; no
horizontal overflow. No saved store or deployed game was targeted.
Types/lint and the affected 97-case union across eight files pass.
**11 October 2026 — ordinary battle answer.** Ordinary definite Truthtrance
answers now offer the consumed card during battle. This includes unsubmitted
battle-plan promises, questions about submitted/revealed plans and fact questions.