Offer Semuta after clean Sapho battle chooser discard

This commit is contained in:
Quintine committed 2026-09-30 11:19:08 +10:00
1 parent 989a986d68
commit ab5c78226a
10 files changed
+196 -32

No files matched your search

+11 -10
View File
@@ -10,22 +10,23 @@ The explicit [Semuta development preview](SEMUTA_SOURCE_UPDATE_20260907.md#30-se
accepts a fresh Richese roster with CHOAM & Richese and optionally
the physical Ix deck. Clean public ordinary-card, paid Box, retired
Ornithopter, private Distrans, final Truthtrance, Once Around,
movement-order or pre-plan aggressor Sapho, battle-card and Ix-deck
Thumper/Amal discards open the same neutral offer regardless of hidden
Semuta custody. Once Around has already committed remaining bidder
order and a freed hand slot; pre-plan Sapho has committed tie priority.
Claim or decline retains the lot or unsealed shared battle preparation
without another order/aggressor change; a Black Market Semuta reserved
movement-order, between-battles chooser or pre-plan aggressor Sapho,
battle-card and Ix-deck Thumper/Amal discards open the same neutral
offer regardless of hidden Semuta custody. Once Around has committed
remaining bidder order and a freed hand slot; between-battles Sapho
has committed chooser priority, and pre-plan Sapho tie priority.
Claim or decline retains the lot, chooser queue or unsealed battle
without replaying its order/aggressor change; a Black Market Semuta reserved
as the offered card cannot Commit. Thumper waits before its injected
worm/spice draw; Amal waits after halving personal spice and clearing
earlier opening passes. Mixed-owner battle cards require committed
owner-only selection of another player's fresh card; mandatory and
optional winner cleanup remain separate. Minimal legal AI, JSON/
SQLite continuation and competing-room CAS are connected. Mixed
arrivals, remaining battle-choice Sapho, queued or promise-bound
Truthtrance, pending rewards, other producers, full-hand ordering,
normal Richese starts and deployed acceptance remain unfinished.
Neutral passes and free-slot guard are product choices.
arrivals, queued or promise-bound Truthtrance, pending rewards, other
producers, full-hand ordering, normal Richese starts and deployed
acceptance remain unfinished. Neutral passes and free-slot guard are
product choices.
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,
+23
View File
@@ -1,5 +1,28 @@
# Dune implementation status
## 30 September 2026 — Semuta after between-battles Sapho
The explicit Richese preview now pauses after Juice of Sapho
commits a clean between-battles chooser reorder and publicly
discards its physical card. The next battle has not been selected.
All seats see the same neutral offer; claim transfers only that
used card, and all-seat decline leaves it discarded. The saved
receipt binds the chooser use/event, last battle, unselected board,
hands and force geometry. Its completion restores the current
chooser without replaying the reorder or opening another battle.
Genuine CHOAM/Richese setup, first/last chooser order, claim/decline,
owner-only projection, JSON normalization and authenticated SQLite
restart/room CAS were exercised. A direct production-engine smoke
run observed the offer, single card transfer and next battle chosen
by the preserved actor. Two independent read-only rules/privacy
reviews found no scoped defect. `npm run check` passed typecheck,
lint and 5,821 offline tests; `npm run build` and all 55 local HTTP
tests passed. The local phone-width reference rendered the updated
Semuta guidance. No deployed revision was exercised. Competing
responses, other discard producers, full-hand sequencing, normal
Richese starts and publication acceptance remain gated.
## 30 September 2026 — Semuta after Once Around Sapho
The explicit Richese preview now pauses after a clean Once Around
+7 -7
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 a bounded preview for clean public ordinary-card, paid Box, retired Ornithopter, private Distrans, final Truthtrance, Once Around/movement/pre-plan Sapho and three separate battle discard stages. A fresh Richese roster may include the physical Ix deck: Thumper pauses before worm/spice draw and Amal pauses after halving spice before phase initialization. Multi-owner battle batches reveal candidates only after holder commitment and transfer one other-player card. Private gifts, unresolved promises, reactive arrivals, remaining battle-choice Sapho and pending battle rewards remain outside scope. Other producers, full-hand ordering and normal Richese starts are unfinished. Mirror Weapon and Juice of Sapho retain separate bounded paths, not combined-mode certification.
- Semuta Drug has a bounded preview for clean public ordinary-card, paid Box, retired Ornithopter, private Distrans, final Truthtrance, Once Around/movement/battle-order/pre-plan Sapho and three separate battle discard stages. A fresh Richese roster may include the physical Ix deck: Thumper pauses before worm/spice draw and Amal pauses after halving spice before phase initialization. Multi-owner battle batches reveal candidates only after holder commitment and transfer one other-player card. Private gifts, unresolved promises, reactive arrivals and pending battle rewards remain outside scope. Other producers, full-hand ordering and normal Richese starts are unfinished. Mirror Weapon and Juice of Sapho retain separate bounded paths, not combined-mode certification.
The complete integrated validation checkpoint is recorded in [IMPLEMENTATION_STATUS.md](IMPLEMENTATION_STATUS.md).
@@ -113,14 +113,14 @@ opted-in fresh Richese profile, optionally with the physical Ix deck.
Neutral all-seat responses, physical one-card recovery, provisional
free-slot policy, minimal legal AI and saved continuation work after
clean ordinary-card, paid Box, retired Ornithopter, private Distrans,
final Truthtrance, Once Around/movement/pre-plan Sapho, Ix-deck
Thumper/Amal and three battle discard stages. Once Around commits
the lot order and hand-slot release before a neutral offer;
final Truthtrance, Once Around/movement/battle-order/pre-plan Sapho,
Ix-deck Thumper/Amal and three battle discard stages. Once Around
commits the lot order and hand-slot release before a neutral offer;
between-battles Sapho commits chooser priority before selection, and
pre-plan Sapho commits aggressor priority but leaves readiness unsealed.
Thumper pauses before worm/spice draw; Amal resumes its already-halved
opening once. Multi-owner batches require committed owner-only selection
of one other-player card. Queued questions, promises, reactive
arrivals, remaining battle-choice Sapho, pending rewards and other
sources stay unconnected.
of one other-player card. Queued questions, promises, reactive arrivals,
pending rewards and other sources stay unconnected.
Full-hand ordering, ten-card inventory, cache custody and public
expansion start gate are unchanged.
+6 -2
View File
@@ -29,12 +29,16 @@ Clean movement-order Sapho stages `saphoMovementDiscard` after its
finite first/last queue and public card disposal are committed.
The reaction retires before `movementTurn` opens the new actor's turn;
the queue, prior active seat and protected-last receipt bind its suffix.
Clean between-battles Sapho stages `saphoBattleOrderDiscard` after
its finite chooser priority and public card disposal commit, before
any next battle is selected. The receipt binds the last battle,
unselected board, chooser uses, hands and card identity; claim or
decline resumes the same active chooser without repeating the reorder.
Clean pre-plan aggressor Sapho stages `saphoAggressorDiscard` after
the aggressor event, ordinary tie priority and card disposal commit.
The receipt binds the same unsealed battle, readiness, player hands
and reserves. Claim or decline restores shared pre-leader preparation
without rerunning the aggressor change. Remaining battle-choice Sapho
stays outside this preview.
without rerunning the aggressor change.
Completed Ornithopter movement now offers the same retired public card
before its already committed arrival suffix only in a roster without
+9 -6
View File
@@ -65,9 +65,9 @@ The explicit `semuta` development profile starts a fresh Richese roster
with CHOAM & Richese and optionally the physical Ix deck, without
opening public expansion starts. It interrupts **clean public
ordinary-card, paid Box, retired Ornithopter, used Distrans, final
Truthtrance, Once Around, movement-order or pre-plan aggressor Sapho,
battle and Ix-deck Thumper/Amal discards**, provided the parent
transaction has no competing response.
Truthtrance, Once Around, movement-order, between-battles chooser
or pre-plan aggressor Sapho, battle and Ix-deck Thumper/Amal
discards**, provided the parent transaction has no competing response.
Every seat sees the same neutral fresh-discard opportunity regardless
of hidden Semuta custody.
An early-ended Ornithopter advances the saved queue; a completed
@@ -79,6 +79,9 @@ finite bidder order, retains prior bids/funding and frees the holder's
hand slot before the offer; the saved lot resumes without another
reorder. If Semuta itself is reserved as an offered Black Market card,
its owner cannot Commit, while every seat still sees the neutral offer.
A clean between-battles Sapho discard commits its finite chooser
priority after a resolved battle; claim or decline restores the same
unselected battle board without repeating that order change.
A clean pre-plan Sapho aggressor choice commits its
ordinary tie priority and physical card before the Semuta offer; the
unsealed battle's shared readiness then resumes without another
@@ -117,9 +120,9 @@ free-slot requirement is a provisional safety guard, not the printed
resolution of full-hand take-before-discard. Normal auction/CHOAM
market, pending gifts, competing responses, completed Ornithopter
arrivals with BG intrusion, Ecaz Ambassador or Moritani Terror,
queued or promise-bound Truthtrance, remaining battle-choice Sapho,
pending battle rewards and other typed producers retain their
automatic continuation; Semuta cannot claim those events yet.
queued or promise-bound Truthtrance, pending battle rewards 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