Support Sapho ordering during Advanced Revival
This commit is contained in:
1 parent
011b6aa096
commit
82370d906f
15 files changed
+1092
-28
No files matched your search
@@ -53,6 +53,65 @@ the engine owns phase lifecycle, transactions and projection. Controls use
|
||||
controls. Minimal AI follows the same projected availability. No action kind,
|
||||
database migration or saved-game conversion is added.
|
||||
|
||||
## Sapho first/last — 26 October 2026
|
||||
|
||||
The printed card permits first/last in a phase/action taken in player order;
|
||||
the [existing source review](JUICE_OF_SAPHO_SOURCE_UPDATE.md) records that face.
|
||||
The new Advanced Revival qualifies through supplied physical9/printed7. Basic
|
||||
and already-opened unstamped Revival remain concurrent and receive no fabricated
|
||||
first/last opportunity.
|
||||
|
||||
At a clean boundary, an owned physical Sapho changes an unfinished opportunity
|
||||
to first or last. Existing completed participants, requests, quotas and physical
|
||||
First Player order stay. The standing choose-recommended instruction selects
|
||||
the same provisional started-tail protocol as movement: a current participant
|
||||
who has made a native request finishes unchanged, while another unstarted holder
|
||||
may go first behind it or last. Splitting the holder's own started opportunity
|
||||
and consuming the card for an unchanged position are rejected.
|
||||
|
||||
Actual use upgrades only that phase frame to version2. Public use history binds
|
||||
the original turn/order, completed prefix, current remaining queue, started
|
||||
participant and revision. Replay advances exact completed opportunities and
|
||||
never unlocks a started participant before completion. Native start/finish retain
|
||||
that history. Original version1 creation and bytes remain unchanged; no phase
|
||||
is converted merely by viewing it. Real recovered-card reuse is allowed when
|
||||
the new position changes; no once-per-phase limit is invented.
|
||||
|
||||
The engine discards once and updates the current player from the changed queue.
|
||||
The new `saphoRevivalDiscard` continuation permits existing opted-in Semuta
|
||||
claim/pass before play resumes. Its original current/remaining/completed state,
|
||||
requests, allowances and native resources are bound across the discard. Semuta
|
||||
may move the used card; it cannot replay the queue change or turn completion.
|
||||
The human action uses only existing card/scope/event/mode fields. Optional
|
||||
`afterCurrent` is display guidance, not submitted authority. Existing minimal
|
||||
policies already consume the shared server-derived Sapho options.
|
||||
|
||||
Focused evidence uses `tests/sapho-revival-order.test.ts`,
|
||||
`tests/fixture-sapho-revival-order.ts`,
|
||||
`tests/sapho-revival-order-engine.test.ts` and
|
||||
`tests/sapho-revival-order-controls.test.tsx`.
|
||||
|
||||
Frozen **16 files,211/211**, types/lint/build and **ten runtime paths** pass,
|
||||
with18 GameTable SSR renders and actual selected-props Sapho/Finish callbacks.
|
||||
Eight paths are native: original public R/A/E/G +choam setup and paid cache1
|
||||
acquisition use44 source actions. Actual normal1 shipment2 into the next Storm
|
||||
sector, later card1 death and a free1 return use101. Clean/started first/last
|
||||
retain the current return, original quotas, physical order and45 Treachery
|
||||
identities; four minimal profiles each use one card plus four Finish actions.
|
||||
Two controlled conserved-card Semuta supplements execute actual discard pass/
|
||||
claim and continuation, without a played acquisition claim.
|
||||
|
||||
Original legal first-Storm dials keep Richese First Player through the next
|
||||
card1; no phase, queue or physical force is installed to earn the native start.
|
||||
Related feedback completes Basic's existing Semuta window before Extortion
|
||||
payer answers, fixes empty name selections and narrows control-test types.
|
||||
Report/manifest:
|
||||
`/home/quintine/.local/share/dune/checkpoints/20261026-sapho-revival-order-proof-v3/`;
|
||||
journeys/HTML: adjacent `20261026-sapho-revival-order-runtime/`. No saved-room/
|
||||
D1/server, reset/restart, deployment or recovery operation. This is engine/SSR/
|
||||
callback evidence; browser/mobile/deployed, combinations and complete-mode
|
||||
acceptance remain open.
|
||||
|
||||
## Evidence and remaining scope
|
||||
|
||||
Focused cases are `tests/revival-order.test.ts`,
|
||||
@@ -83,7 +142,7 @@ journeys/HTML are adjacent `20261026-advanced-revival-order-runtime/`.
|
||||
This is SSR/selected-props callback evidence. No saved-room/D1/server, reset,
|
||||
restart, deployment or recovery operation occurs.
|
||||
|
||||
Sapho's new Revival adapter, broader combinations, full rules review,
|
||||
Broader Sapho and module combinations, full rules review,
|
||||
save/recovery/privacy/custody assurance, browser/mobile and exact-revision
|
||||
deployed acceptance remain due. Existing games, the local PDF and hosting
|
||||
configuration are preserved. No mode/publication gate opens.
|
||||
Reference in new issue
Block a user