Compose Semuta with completed paid Box discard
This commit is contained in:
1 parent
9ea50a792e
commit
0e9945e333
9 files changed
+146
-28
No files matched your search
@@ -7,14 +7,15 @@ Expansion starts and full rules/publication acceptance remain gated.**
|
||||
## Current checkpoint and work
|
||||
|
||||
The explicit [Semuta development preview](SEMUTA_SOURCE_UPDATE_20260907.md#30-september-2026--bounded-clean-discard-runtime)
|
||||
now pauses a clean public ordinary-card discard with the same neutral
|
||||
offer for every seat, independently of hidden Semuta possession. A
|
||||
holder with a free hand slot can commit to the one fresh other-player
|
||||
card; its physical claim and Semuta disposal resume the original
|
||||
effect once. All-seat decline, four minimal legal AI profiles, exact
|
||||
now pauses a clean public ordinary-card discard or the used Box after
|
||||
a completed paid search with the same neutral offer for every seat,
|
||||
independently of hidden Semuta possession. A holder with a free hand
|
||||
slot can commit to the one fresh other-player card; its physical claim
|
||||
and Semuta disposal resume the original effect or Box parent once.
|
||||
All-seat decline, four minimal legal AI profiles, exact
|
||||
JSON/SQLite continuation and competing-room CAS are connected. Phone
|
||||
width showed the owned Commit control and the identical rival Continue
|
||||
event without a private card face. Multi-card and other discard
|
||||
event without a private card face. Multi-card and most other discard
|
||||
producers, full-hand ordering, normal Richese starts and deployed
|
||||
acceptance remain unfinished; the neutral passes and free-slot guard
|
||||
are product safety choices, not publisher timing rulings.
|
||||
|
||||
@@ -1,5 +1,35 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 30 September 2026 — Semuta after a completed paid Box search
|
||||
|
||||
The explicit Richese Semuta preview now opens the same neutral
|
||||
all-seat response when a clean paid Nullentropy Box search finishes
|
||||
and places its used physical Box on the discard pile. The search
|
||||
owner has already paid two spice, privately recovered its chosen
|
||||
card and shuffled the remaining pile once. Another holder may commit
|
||||
Semuta and take only the freshly discarded Box; declining preserves
|
||||
the Box on top. Neither path re-pays, reselects, reshuffles or
|
||||
reopens the search. Older discard cards and the privately recovered
|
||||
card are not fresh targets.
|
||||
|
||||
Genuine-setup engine cases verify both claim and all-pass paths,
|
||||
exact card census and discard order, every-seat JSON restoration
|
||||
and stable two-spice payment. An isolated migrated SQLite room
|
||||
restores the Box reaction after the paid selection, leaves automatic
|
||||
recovery idle until a real choice and commits the claim through
|
||||
authenticated seat control without changing saved seat rows.
|
||||
Independent privacy and continuation reviews found no scoped issue.
|
||||
This extends the previous phone-width neutral control surface; no
|
||||
new browser POST was sent. Auction/CHOAM-market overlaps, multiple
|
||||
fresh cards, other producer families and full-hand ordering remain
|
||||
gated. This is not a complete Semuta, Richese or deployed claim.
|
||||
|
||||
`npm run check` passes typecheck, lint and 5,802/5,802 offline cases;
|
||||
`npm run build` and the 55/55 local development HTTP cases pass.
|
||||
The phone-width rules deep link shows the updated Box target boundary
|
||||
and partial checklist. No authenticated production Box/Semuta play or
|
||||
deployed revision was exercised.
|
||||
|
||||
## 30 September 2026 — neutral Semuta clean-discard prototype
|
||||
|
||||
The [bounded runtime](SEMUTA_SOURCE_UPDATE_20260907.md#30-september-2026--bounded-clean-discard-runtime)
|
||||
|
||||
@@ -112,6 +112,7 @@ 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
|
||||
ordinary-card discards. The other semantic discard families and
|
||||
full-hand ordering are not connected; the ten-card inventory, cache
|
||||
custody and public expansion start gate remain unchanged.
|
||||
ordinary-card discards and the used Box after a completed paid search.
|
||||
Other semantic discard families and full-hand ordering remain
|
||||
unconnected; the ten-card inventory, cache custody and public expansion
|
||||
start gate are unchanged.
|
||||
@@ -63,17 +63,18 @@ Do not ask again about normal targets, forced-discard owner bookkeeping, simulta
|
||||
|
||||
The explicit `semuta` development profile starts a fresh Richese roster
|
||||
without opening ordinary expansion starts. It now interrupts **one public
|
||||
ordinary-card discard** from a clean transaction with a neutral
|
||||
fresh-discard opportunity for every seat, regardless of hidden Semuta
|
||||
ordinary-card discard or the used Box after a completed paid Nullentropy
|
||||
search**, provided the parent transaction is clean, with a neutral
|
||||
fresh-discard opportunity for every seat regardless of hidden Semuta
|
||||
possession. Each seat can Continue; only the canonical holder with a
|
||||
free hand slot and a card discarded by another player can commit. The
|
||||
sole eligible fresh card transfers automatically in the same accepted
|
||||
action, then Semuta goes to the normal discard pile. The saved ordinary
|
||||
card effect resumes once; passing by every seat preserves the original
|
||||
discard and effect. No face from an undisclosed event is projected before
|
||||
commitment. Owner-only multi-candidate selection support exists in the
|
||||
reaction component and bot adapter, but no multi-discard producer is
|
||||
activated in this first boundary.
|
||||
card effect or Box parent resumes once; passing by every seat preserves
|
||||
the original discard and effect. No face from an undisclosed event is
|
||||
projected before commitment. Owner-only multi-candidate selection
|
||||
support exists in the reaction component and bot adapter, but no
|
||||
multi-discard producer is activated in this bounded runtime.
|
||||
|
||||
This neutral all-seat acknowledgement is a conservative **application
|
||||
policy**, not a newly discovered publisher timing rule. The explicit
|
||||
@@ -81,7 +82,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 and other typed discard producers
|
||||
retain their existing automatic continuation; Semuta cannot claim those
|
||||
events yet. No source ruling is inferred from this omission. The
|
||||
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
|
||||
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.
|
||||
Reference in new issue
Block a user