Prototype neutral Semuta reactions on clean ordinary discards
This commit is contained in:
1 parent
55b47ce039
commit
9ea50a792e
18 files changed
+908
-20
No files matched your search
@@ -6,6 +6,19 @@ 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
|
||||
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
|
||||
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.
|
||||
|
||||
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,
|
||||
face-up retirement and private Mentat replacement. The six-seat game
|
||||
|
||||
@@ -1,5 +1,48 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 30 September 2026 — neutral Semuta clean-discard prototype
|
||||
|
||||
The [bounded runtime](SEMUTA_SOURCE_UPDATE_20260907.md#30-september-2026--bounded-clean-discard-runtime)
|
||||
uses an explicit fresh Richese development profile. A real Hajr discard
|
||||
after genuine setup opens an identical public event for all seats;
|
||||
only the actual holder sees Commit, no one inspects a fresh face
|
||||
before commitment, and the sole eligible other-player card transfers
|
||||
automatically with Semuta's physical disposal. All-seat passes preserve
|
||||
the card and effect. Free hand space is a conservative, provisional
|
||||
guard. Other discard producers and full-hand sequencing remain
|
||||
unfinished; normal Richese/public starts remain closed.
|
||||
|
||||
Focused engine cases preserve exact custody through JSON, hide possession
|
||||
under an equal-card-count private swap, reject stale/forged actions and
|
||||
corrupt saved reactions, and complete each original effect once.
|
||||
An isolated production room module with migrated SQLite restored the
|
||||
same owner-private offer and committed one of two competing Semuta
|
||||
requests under room CAS; the fixture's seat rows remained intact.
|
||||
The actual `start-prototype.ts --profile semuta` CLI started a fresh
|
||||
disposable ready lobby with its seat preserved. Mobile browser GET
|
||||
fixtures showed the owned Commit button and rival Continue-only panel
|
||||
at the same event; no browser POST or real local room was mutated.
|
||||
|
||||
Independent privacy review found no scoped leak. Rules review identified
|
||||
and prompted fixes for a deleted-reaction auto-retire, duplicate
|
||||
Semuta custody, a suspended CHOAM sale crossing the clean gate, and a
|
||||
forged all-passed deadlock. Deleted-reaction, duplicate-card and
|
||||
all-passed corruption each have failing-before/passing-after regressions;
|
||||
the CHOAM sale exclusion was source-reviewed without a direct fixture.
|
||||
A final read-only review found no remaining scoped issue. Focused
|
||||
Semuta/ordinary-continuation and room-start tests pass; full-game and
|
||||
deployed acceptance do not follow from this bounded preview.
|
||||
|
||||
An unstaged six-seat Basic Richese preview at RNG seed `20260930`
|
||||
completed 916 accepted actions, zero rejected candidates, 24 JSON view
|
||||
restores and six neutral passes at one ordinary-card discard. No
|
||||
natural Semuta acquisition/commitment occurred in that game; the
|
||||
focused genuine-setup and production-D1 fixtures cover the committed
|
||||
claim. `npm run check` passes typecheck, lint and 5,801/5,801 offline
|
||||
cases; `npm run build` and all 55/55 local development HTTP tests pass.
|
||||
These results and one complete sampled game do not certify the
|
||||
remaining card sources, full Richese mode or deployment.
|
||||
|
||||
## 30 September 2026 — owner key rotation and safe re-enable
|
||||
|
||||
The [account panel](ADMIN_ACCOUNTS.md) now rotates another enabled or
|
||||
|
||||
@@ -104,3 +104,14 @@ Five physical effects now have bounded development handlers: Karama, Distrans, N
|
||||
## Portable Snooper and retention clarification (2026-09-06)
|
||||
|
||||
Six effects now have bounded development handlers: Karama, Distrans, Nullentropy Box, Ornithopter, Residual Poison and Portable Snooper. Portable supports normal and late poison defense with separate public played-card custody and ordinary winner/Moritani retention. The November 2020 official FAQ corrects the earlier overly strict assumption that a discard footer always denies winner retention; Mirror’s copied mandatory-discard exception remains a separate pending ruling. Four effects and complete combined games remain unfinished. See [PORTABLE_SNOOPER_ENGINE_AUDIT.md](PORTABLE_SNOOPER_ENGINE_AUDIT.md) and [MIRROR_WEAPON_ENGINE_AUDIT.md](MIRROR_WEAPON_ENGINE_AUDIT.md).
|
||||
|
||||
## 30 September 2026 — Semuta clean-discard preview
|
||||
|
||||
The [bounded Semuta runtime](SEMUTA_SOURCE_UPDATE_20260907.md#30-september-2026--bounded-clean-discard-runtime)
|
||||
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.
|
||||
@@ -58,3 +58,30 @@ Useful acceptance test: hold public state and clock/event progression fixed; rep
|
||||
The existing unresolved **Guild-stopped shipping-Karama refund** also constrains claiming that exact provisionally refundable card. Do not ask it again as a new Semuta question. Fence its competing custody or resolve the existing underlying ruling; this does not prohibit every shipment-phase Semuta event. Current Box guard in `game/engine.ts` near `:1209` already identifies this composition.
|
||||
|
||||
Do not ask again about normal targets, forced-discard owner bookkeeping, simultaneous selection, zero fee, automatic singleton selection or semantic batch implementation. Do not repeat the three pending Sapho questions. No new authoritative capacity/priority ruling was obtained by this review.
|
||||
|
||||
## 30 September 2026 — bounded clean-discard runtime
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
This neutral all-seat acknowledgement is a conservative **application
|
||||
policy**, not a newly discovered publisher timing rule. The explicit
|
||||
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
|
||||
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