Offer Semuta before optional winner battle cleanup

This commit is contained in:
Quintine committed 2026-09-30 09:20:58 +10:00
1 parent 593ca3beb4
commit e55d275014
9 files changed
+228 -46

No files matched your search

+16 -15
View File
@@ -8,22 +8,23 @@ Expansion starts and full rules/publication acceptance remain gated.**
The explicit [Semuta development preview](SEMUTA_SOURCE_UPDATE_20260907.md#30-september-2026--bounded-clean-discard-runtime)
pauses clean public ordinary-card, paid Box, retired Ornithopter,
private Distrans, final definite Truthtrance, movement-order Sapho
and winner-selected battle-card discards without pending rewards.
private Distrans, final definite Truthtrance, movement-order Sapho,
mandatory winner or later optional winner battle-card discards without
pending rewards. The two winner batches are separate: a claim on the
mandatory Hero can resume the winner's optional weapon choice once.
Every seat sees a neutral offer regardless of hidden Semuta possession.
A sole eligible card transfers on commitment; a simultaneous
winner-card batch first requires public commitment, then reveals
only to that holder the eligible fresh faces to select exactly one.
Other cards remain in the pile and the resolved battle resumes once.
The early-ended flight queue, completed-flight arrival, private gift,
answer history and Sapho order also resume without replay. Minimal
legal AI, exact JSON/SQLite continuation and competing-room CAS are
connected. Phone width showed owned Commit and rival Continue without
a private card face. Mixed arrivals, auction/battle Sapho, queued or
promise-bound Truthtrance, mandatory or reward-pending battle batches,
other discard producers, full-hand ordering, normal Richese starts
and deployed acceptance remain unfinished. Neutral passes and the
free-slot guard are product safety choices, not publisher rulings.
A sole eligible card transfers on commitment; a simultaneous winner
batch first requires public commitment, then reveals eligible faces
only to the holder for one-card selection. Other cards remain in the
pile and the resolved battle resumes once. The flight queue, committed
arrival, private gift, answer history and Sapho order also resume
without replay. Minimal legal AI, exact JSON/SQLite continuation and
competing-room CAS are connected. Mixed arrivals, auction/battle
Sapho, queued or promise-bound Truthtrance, loser/mixed-owner battle
batches, pending battle rewards, other discard producers, full-hand
ordering, normal Richese starts and deployed acceptance remain
unfinished. Neutral passes and free-slot guard are product safety
choices, not publisher rulings.
One [natural Advanced Moritani assassination](MORITANI_ASSASSINATE_LEADERS.md#29-september-2026--natural-revealed-card-game)
now proceeds from genuine battle loss to a dead-target Traitor reveal,
+30
View File
@@ -1,5 +1,35 @@
# Dune implementation status
## 30 September 2026 — Semuta between mandatory and optional winner cleanup
The explicit Richese Semuta preview now pauses a clean public
`winnerMandatoryDiscard` frame after the loser/battle discard but
before optional winning-card cleanup. A physically used Hero is
already in the ordinary pile; every seat receives the same neutral
offer. Another holder with free hand capacity may recover that one
Hero and discard Semuta. All-seat decline leaves it on the pile.
The committed casualty counts and winner remain fixed; `finishWinner`
continues once to the still-held optional weapon decision. Its later
discard is a distinct fresh batch, not another chance at the Hero.
Genuine setup covers two combatants, preparation, Hero plus retained
projectile, the mandatory Hero offer, neutral passes, legal AI claim,
JSON continuation and exact physical census. An isolated migrated
SQLite room restores that offer, authenticates the Hero claim, then
opens and declines the later optional weapon batch without repeating
Semuta disposal or battle rewards. Loser/mixed-owner mandatory cleanup,
pending battle rewards, full-hand ordering, normal Richese starts
and deployed acceptance remain gated.
Independent rules/continuation and privacy/recovery reviews found no
scoped defect. A direct production-engine run completed genuine AI
setup, a mandatory Hero discard, neutral offer and bot claim, then
showed the retained projectile in the original winner's optional
card decision. Phone-width local rules rendered the two-batch boundary
as Partial. `npm run check` passed typecheck, lint and 5,810/5,810
offline cases; `npm run build` and all 55 Vite development HTTP
cases passed. No deployed revision was exercised.
## 30 September 2026 — Semuta choice among simultaneous winner cards
The explicit Richese Semuta preview now recognizes a clean batch of
+9 -9
View File
@@ -12,7 +12,7 @@ Audited 6 September 2026. The ten physical identities and their readable face in
- Player controls show both original plans, exact undialed counts or honest possible totals, the mode choice and a complete internal guide. No victim/death confirmation is added. The card stays physically reserved until standard cleanup; stale events, duplicate requests and corrupted source custody fail before resources change. All four AI profiles use public force possibilities, legal low-dial plans and revealed leader/bounty information. They preserve leader value when Artillery suppresses bounty and leave traitor/explosion precedence intact.
- Semuta Drug has an explicit bounded development preview for clean public ordinary-card, paid Box, retired Ornithopter, private Distrans, final definite Truthtrance, movement-order Sapho and winner-selected battle-card batches. A multi-card winner batch exposes candidates only after holder commitment and transfers one physical card. Private gifts, unresolved promises, reactive arrivals, auction/battle Sapho and mandatory/reward-pending battle batches remain outside scope. Other producers, full-hand ordering and normal Richese starts remain unfinished. Mirror Weapon and Juice of Sapho have separate bounded paths, not complete combined-mode certification. Other unfinished systems, mobile acceptance, difficulty calibration and complete Advanced/expansion games still prevent goal completion. No start gate was removed.
- Semuta Drug has an explicit bounded development preview for clean public ordinary-card, paid Box, retired Ornithopter, private Distrans, final definite Truthtrance, movement-order Sapho and separate mandatory/optional winner battle-card batches. A multi-card winner batch exposes candidates only after holder commitment and transfers one physical card. Private gifts, unresolved promises, reactive arrivals, auction/battle Sapho, loser/mixed-owner battle batches and pending battle rewards remain outside scope. Other producers, full-hand ordering and normal Richese starts remain unfinished. Mirror Weapon and Juice of Sapho have separate bounded paths, not complete combined-mode certification. Other unfinished systems, mobile acceptance, difficulty calibration and complete Advanced/expansion games still prevent goal completion. No start gate was removed.
The complete integrated validation checkpoint is recorded in [IMPLEMENTATION_STATUS.md](IMPLEMENTATION_STATUS.md).
@@ -111,12 +111,12 @@ The [bounded Semuta runtime](SEMUTA_SOURCE_UPDATE_20260907.md#30-september-2026-
supersedes the older inactive-card observations above for one
explicitly opted-in Richese development profile. Neutral all-seat
responses, physical one-card recovery, a provisional free-slot guard,
minimal legal AI and saved continuation now work after clean public
minimal legal AI and saved continuation work after clean public
ordinary-card, paid Box, retired Ornithopter, private Distrans, final
definite Truthtrance, movement-order Sapho and winner-selected
battle-card discards, including a committed owner-only multi-card
choice. Queued questions, promise-bound answers, reactive arrivals,
auction/battle Sapho, mandatory or reward-pending battle batches
and other semantic discard families remain unconnected. Full-hand
ordering, ten-card inventory, cache custody and public expansion
start gate are unchanged.
definite Truthtrance, movement-order Sapho and separate mandatory
and optional winner battle-card batches, including committed
owner-only multi-card selection. Queued questions, promise-bound
answers, reactive arrivals, auction/battle Sapho, loser or mixed-owner
battle batches and pending battle rewards remain unconnected.
Full-hand ordering, ten-card inventory, cache custody and public
expansion start gate are unchanged.
+10 -8
View File
@@ -35,14 +35,16 @@ sources. The final forces and move counter are held in the existing
bound flight frame; claim or decline retires that frame and logs the
arrival once. Mixed entry reactions remain unsupported for Semuta.
Winner-selected public played cards now pause as one `battleCleanup`
batch after the battle is resolved and any earlier mandatory discard
has retired. The winner, combatants and all selected card identities
remain bound. Every seat sees the same neutral offer; only a committed
holder inspects the eligible batch and selects one of multiple cards.
The others remain in the pile before `finishBattle` runs once. Moritani
loser retention and pending Auditor, capture, tech, Face Dance or
CHOAM rewards remain automatic without this reaction.
Mandatory winner cleanup now pauses at `winnerMandatoryDiscard`
after any earlier loser/battle batch has retired; a Hero already in
the public pile can be claimed before the exact optional winner
choice resumes. If the winner then selects other played cards,
their public disposal is a separate `battleCleanup` batch. Each
stage has a neutral all-seat offer; only a committed holder inspects
multiple eligible cards, selects one, and leaves the others in the
pile. No battle award or card cost repeats. Moritani loser retention
and pending Auditor, capture, tech, Face Dance or CHOAM rewards
remain automatic without this reaction.
## Main findings
+11 -8
View File
@@ -66,16 +66,19 @@ without opening ordinary expansion starts. It interrupts **one public
ordinary-card discard, the used Box after a paid Nullentropy search,
either retirement of a played Ornithopter in a clean flight, the used
Distrans after a private transfer, a final definite Truthtrance,
movement-order Juice of Sapho, or a winner-selected battle-card batch
without pending battle rewards**, provided the parent transaction is
clean. Every seat sees a neutral fresh-discard opportunity regardless
movement-order Juice of Sapho, mandatory winning-card cleanup, or a
later winner-selected battle-card batch without pending rewards**,
provided the parent transaction is clean. Every seat sees a neutral
fresh-discard opportunity regardless
of hidden Semuta possession. An early-ended Ornithopter advances its
saved movement queue; a completed flight has committed its forces
and resumes its one arrival only without BG, Ecaz or Moritani entry
reactions. Distrans's gift stays private with its recipient. The
Truthtrance answer/history and Sapho first/last queue are bound.
The winner's chosen played cards are already in one public fresh
batch; its resolved battle and remaining phase transition resume once.
Mandatory winning cards form one public fresh batch after the
previous loser cleanup, and any later optional winner selection is a
separate batch. Neither a Semuta claim nor all-seat decline replays
casualties or re-discards an already claimed card.
Each seat can Continue; only the canonical holder with a free hand
slot and a card discarded by another player can commit. A sole
@@ -93,9 +96,9 @@ free-slot requirement is a provisional safety guard, not the printed
resolution of full-hand take-before-discard. Auction, CHOAM market,
pending gifts, competing responses, completed Ornithopter arrivals
with BG intrusion, Ecaz Ambassador or Moritani Terror, queued or
promise-bound Truthtrance, auction/battle Sapho, mandatory/reward-pending
battle batches and other typed producers retain their automatic
continuation; Semuta cannot claim those events yet.
promise-bound Truthtrance, auction/battle Sapho, loser or mixed-owner
mandatory battle batches and pending battle rewards 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 from this omission. The