feat: connect Semuta to reactive CHOAM denial discards
This commit is contained in:
1 parent
11487e0cf9
commit
3171afc522
9 files changed
+208
-26
No files matched your search
@@ -2,6 +2,16 @@
|
||||
|
||||
This checkpoint implements the bounded work identified in [CHOAM_WORTHLESS_CONTINUATION_AUDIT.md](CHOAM_WORTHLESS_CONTINUATION_AUDIT.md). The source audit remains the record of the original defects and applicable publisher evidence. No new rule interpretation or public mode activation is introduced.
|
||||
|
||||
11 October 2026 Semuta update: accepted reactive Baliset and La La La now pause
|
||||
after the used-card cost in the explicit development preview. The original
|
||||
uncommitted ordinary move or free-force request is already stopped; a typed
|
||||
marker resumes only the original restriction and notice, never the denied
|
||||
request. Claim/pass leaves resources unspent and permits another legal move or
|
||||
paid revival. Canceled declarations still retain their card, create no
|
||||
Worthless discard and resume the original request under the unchanged quote.
|
||||
Nexus, movement-card/Ambassador and competing parents remain separate.
|
||||
See [the bounded runtime evidence](SEMUTA_SOURCE_UPDATE_20260907.md).
|
||||
|
||||
## Resolved defects and shared execution
|
||||
|
||||
The original in-memory probe produced a real reactive La La La declaration, then corrupted its saved parent. Increasing the request to 99 forces returned negative Tanks after printed cancellation; a null benefit queue accepted a new BG cancellation cost before failing later; a contradictory Mentat flag restored an impossible phase-4 decision. The unchanged probe now rejects all three cases for both printed Karama and BG conversion. These were malformed-save defects, not demonstrated legitimate-action exploits.
|
||||
|
||||
@@ -29,6 +29,22 @@ 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 / reactive Baliset and La La La — 11 October.** Accepted native
|
||||
declarations now offer their used card after stopping the original uncommitted
|
||||
move or free-force request. Claim/pass installs the same restriction once;
|
||||
denied requests consume no forces, movement, revival usage or spice. Another
|
||||
legal move or paid revival remains available. Both regressions fail before
|
||||
and pass after; types/lint and 130 affected unit cases across seven files pass.
|
||||
Twenty-four runtime scenarios cover both effects, both rule
|
||||
modes, claim/pass and four legal AI profiles; four Karama cancellations retain
|
||||
the card and finish the original request without a Worthless discard.
|
||||
Real GameTable at 390px claims Baliset, keeps the Carthag restriction and
|
||||
moves once to Arrakeen; its revival case claims La La La, shows the four-spice
|
||||
quote and returns two paid counters to reserves19/Tanks1/spice6. No overflow.
|
||||
Other parents remain separate. Temporary QA scaffolds are removed; no saved
|
||||
store or deployed game was targeted. See
|
||||
[the source/runtime boundary](SEMUTA_SOURCE_UPDATE_20260907.md).
|
||||
|
||||
**Semuta / clean battle Distrans — 11 October.** The completed clean transfer
|
||||
now offers only its public used Distrans during battle. The private gift and
|
||||
sealed opposing plan remain committed; the recipient may itself claim with
|
||||
|
||||
@@ -1,5 +1,40 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 11 October 2026 — reactive Worthless denials with Semuta
|
||||
|
||||
The existing `choamBalisetDiscard` and `choamLaLaLaDiscard` receipts now admit
|
||||
clean reactive ordinary movement/free-force requests. The accepted cost stops
|
||||
the uncommitted request before staging. An optional true marker records only
|
||||
that stopped status; retirement installs the original restriction and notice,
|
||||
never re-executing a move or revival. Existing proactive signatures are
|
||||
unchanged when the marker is absent. If a competing parent prevents the offer,
|
||||
the temporary pointer is restored before the original handler runs.
|
||||
|
||||
Both native regressions fail before and pass after. Claim/pass preserves
|
||||
resources, force/movement/revival usage and card inventory; the original target
|
||||
restriction remains, and a legal alternate move or paid two-force revival
|
||||
works. Retired events reject. Twenty-four isolated runtime scenarios cover both
|
||||
effects in Basic/Advanced with claim/pass and all four legal AI profiles.
|
||||
Four printed-Karama cancellations retain the Worthless card and Semuta, open
|
||||
no Worthless discard reaction and complete the original request. The first
|
||||
cancel probe's absent-versus-null internal-state pin was removed in favor of
|
||||
observing the public reaction.
|
||||
|
||||
Real GameTable at 390px performs reactive Prevent movement, Semuta commitment,
|
||||
visible Carthag restriction, one alternate move to Arrakeen and turn completion.
|
||||
The revival case performs La La La, Semuta commitment and one actual paid
|
||||
two-force revival: quote4, reserves19/Tanks1/spice6 and no free usage. Both
|
||||
surfaces have no horizontal overflow. A Vite optimization reload caused one
|
||||
initial open timeout; the optimized server opened without an existing-service
|
||||
restart. Temporary scripts, isolated server and browser tab are removed/stopped;
|
||||
no saved store or deployed game was targeted.
|
||||
Types/lint and 130 affected unit cases across seven files pass.
|
||||
|
||||
Nexus, movement-card/Ambassador and other competing parents remain outside
|
||||
these new paths. Cancellation rules and public gates are unchanged.
|
||||
Contracts: [Semuta](SEMUTA_SOURCE_UPDATE_20260907.md),
|
||||
[native denial/resumption](CHOAM_WORTHLESS_CANCELLATION_RECOVERY.md).
|
||||
|
||||
## 11 October 2026 — Semuta after a clean battle Distrans transfer
|
||||
|
||||
The completed `distransDiscard` receipt already binds the donor/recipient hand
|
||||
|
||||
@@ -126,21 +126,23 @@ unspent movement. A neutral claim or decline restores the same
|
||||
one-range increment without replaying the response. Reactive,
|
||||
Nexus and overlapping movement parents retain their automatic path.
|
||||
|
||||
Clean proactive La La La stages `choamLaLaLaDiscard` after its
|
||||
Clean proactive or reactive La La La stages `choamLaLaLaDiscard` after its
|
||||
accepted public Worthless card cost but before blocking a selected
|
||||
target's free force revival. The receipt binds the target, old
|
||||
Revival rules and physical card. A neutral claim or decline applies
|
||||
the one saved block; paid revival remains legal. Reactive requests,
|
||||
Nexus and other Worthless effects retain their automatic paths.
|
||||
the one saved block; paid revival remains legal. A reactive request is already
|
||||
stopped and its marker cannot revive or charge it. Nexus and other contexts
|
||||
retain their automatic paths.
|
||||
|
||||
Clean proactive Baliset stages `choamBalisetDiscard` after its
|
||||
Clean proactive or reactive Baliset stages `choamBalisetDiscard` after its
|
||||
accepted public Worthless card cost but before restricting the
|
||||
chosen player from movement into CHOAM's occupied territory. The
|
||||
receipt binds the target, territory, CHOAM's current forces,
|
||||
existing restrictions and physical card. A neutral claim or
|
||||
decline installs the one saved restriction; shipment remains
|
||||
possible. Declared moves, Nexus conversion and overlapping
|
||||
arrival parents retain their automatic paths.
|
||||
decline installs the one saved restriction; shipment remains possible. A clean
|
||||
ordinary declared move is already stopped without spending its allowance.
|
||||
Nexus, movement-card/Ambassador and overlapping arrival parents retain their
|
||||
automatic paths.
|
||||
|
||||
Clean proactive ordinary Trip to Gamont stages
|
||||
`choamGamontDiscard` after the accepted public card cost but
|
||||
|
||||
@@ -131,22 +131,23 @@ The same one-range effect then applies exactly once. Fixed-range
|
||||
Ornithopter combinations, reactive movement parents and other
|
||||
Worthless powers retain their original automatic paths.
|
||||
|
||||
A clean proactive La La La response also pauses after its named
|
||||
A clean proactive or reactive La La La response also pauses after its named
|
||||
public Worthless card cost but before blocking the selected
|
||||
target's remaining free force revival. The saved receipt binds the
|
||||
target and old Revival rules; claim or decline installs the block
|
||||
once without replaying the response. Paid revival remains legal.
|
||||
A reactive free-revival request, Nexus conversion and other
|
||||
Worthless effects retain their earlier automatic paths.
|
||||
once without replaying the response. Paid revival remains legal. A reactive
|
||||
free-revival request is already stopped without revival or payment. Nexus
|
||||
conversion and other Worthless contexts retain their automatic paths.
|
||||
|
||||
A clean proactive Baliset response pauses after its public
|
||||
A clean proactive or reactive Baliset response pauses after its public
|
||||
Worthless card cost but before restricting the selected player
|
||||
from moving into the CHOAM-occupied territory. The saved
|
||||
receipt binds that target, territory, current CHOAM occupancy
|
||||
and existing restrictions. Claim or decline installs one
|
||||
restriction without replaying the response. Shipment remains
|
||||
legal. Reactive declared movement, Nexus conversion and
|
||||
competing arrivals retain their original automatic paths.
|
||||
legal. A clean ordinary declared move is already stopped without spending a
|
||||
movement. Movement-card/Ambassador parents, Nexus conversion and competing
|
||||
arrivals retain their original automatic paths.
|
||||
|
||||
A clean proactive ordinary Trip to Gamont response pauses after
|
||||
its named public card cost but before moving one selected force
|
||||
@@ -165,8 +166,8 @@ spice-clearance sequence. Canceled Jubba, Nexus conversion
|
||||
and competing parents retain their original direct paths.
|
||||
|
||||
An early-ended Ornithopter advances the saved queue; a completed
|
||||
flight resumes one committed arrival only without BG, Ecaz or
|
||||
Moritani entry reactions. Distrans's gift remains private with its
|
||||
flight may resume native Bene Gesserit Intrusion; Ecaz and Moritani entry
|
||||
reactions remain separate. Distrans's gift remains private with its
|
||||
recipient; Truthtrance answer/history and Sapho first/last order are
|
||||
already bound. A clean Once Around Sapho discard commits its public
|
||||
finite bidder order, retains prior bids/funding and frees the holder's
|
||||
@@ -247,6 +248,42 @@ 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 — reactive Baliset and La La La.** Accepted native
|
||||
declarations now offer their used public card in the clean reactive paths too.
|
||||
After the cost, the uncommitted ordinary move or force-revival request is
|
||||
detached as already stopped; the existing typed receipt carries only
|
||||
`stoppedMovement` or `stoppedRevival`, not a request to execute. Claim or all-seat
|
||||
decline installs the original restriction and stopped-request notice once.
|
||||
No forces, movement allowance, revival usage or spice payment were consumed by
|
||||
the denied request. Another legal move or a paid revival remains available.
|
||||
When another parent prevents the offer, the temporary pointer is restored and
|
||||
the original automatic handler runs. Proactive receipts retain their existing
|
||||
signature when the new optional marker is absent.
|
||||
|
||||
Both permanent regressions fail before and pass after, covering claim/pass,
|
||||
unchanged request resources, retained restrictions, a legal alternate move or
|
||||
paid two-force revival and retired-event rejection. Twenty-four isolated
|
||||
runtime scenarios cover both effects, Basic/Advanced, claim/pass and four legal
|
||||
AI profiles. Four additional printed-Karama cancellations retain the Worthless
|
||||
and Semuta, open no Worthless discard reaction, and complete the original move
|
||||
or free revival. The first cancel probe pinned absent-versus-null internal state;
|
||||
its corrected assertion observes the actual public reaction instead.
|
||||
|
||||
Real GameTable at 390px uses Prevent movement, Commit Semuta, the unchanged
|
||||
Imperial Basin source and the visible Carthag restriction, then moves one force
|
||||
legally to Arrakeen and ends the turn with one movement. A second memory-only
|
||||
case uses La La La, commits Semuta, displays zero free allowance and the actual
|
||||
four-spice quote, then revives two paid forces to reserves19/Tanks1/spice6.
|
||||
Neither surface overflows horizontally. The isolated Vite dependency reload
|
||||
caused one browser-open timeout; the optimized server opened successfully
|
||||
without restarting any existing service. Temporary scripts/server/browser are
|
||||
removed or stopped; no saved store or deployed game was targeted.
|
||||
Types/lint and 130 affected unit cases across seven files pass.
|
||||
|
||||
Nexus, movement-card/Ambassador and other competing parents remain separate.
|
||||
This is bounded reaction coverage, not a new publisher cancellation/timing
|
||||
ruling, complete CHOAM/Semuta or deployed acceptance.
|
||||
|
||||
**11 October 2026 — clean battle Distrans.** A completed clean private
|
||||
Distrans transfer now offers its public used card during battle. Only the
|
||||
battle-presence guard gained that existing receipt exception; transfer legality,
|
||||
|
||||
Reference in new issue
Block a user