Support Sapho ordering during Advanced Revival

This commit is contained in:
Quintine committed 2026-10-26 10:48:38 +11:00
1 parent 011b6aa096
commit 82370d906f
15 files changed
+1092 -28

No files matched your search

+60 -1
View File
@@ -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.
+31 -3
View File
@@ -16,6 +16,34 @@ open mode gates.
## Current checkpoint and work
**Sapho in ordered Advanced Revival — 26 October. Prototyped / Partial.**
First/last changes unfinished opportunities, preserving physical First Player
order and completed participants. A started current player finishes first under
visibly provisional tail timing. Actual card disposal upgrades the phase frame
to version2 public use history; original version1 creation/bytes remain. Native
start/finish retain the changed queue, requests and allowances. Existing opted-in
Semuta claim/pass completes the same physical discard before play resumes.
Named clean/queued controls and existing minimal policies use shared options.
Three disjoint helper/native/control lanes and root integration pass **16 files,
211/211**, types/lint/build and **ten runtime paths**,18 GameTable SSR renders
and actual selected-props Sapho/Finish callbacks. Eight paths are native: public
R/A/E/G +choam earns Sapho for1 (44 source actions), then actual normal1 shipment
for2, later card-Storm death and free1 return (101) exercise clean/started first
and last. Four minimal profiles each use one real card and four Finish actions.
Native45 Treachery identities, current returned counter/quotas and physical order
remain. Two labelled controlled-card Semuta paths prove actual discard pass/claim;
their acquisitions have no native played chronology claim.
Feedback uses legal first-Storm dials to keep the actual First Player through
the later card1, completes Basic's existing Semuta window before Extortion payer
answers, corrects name selectors and narrows control-test types. Frozen report:
`/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 occurs.
SSR/callback proof leaves browser/mobile/deployed and full-mode acceptance open.
The full goal remains unfinished. [Source, protocol and evidence](ADVANCED_REVIVAL_ORDER.md#sapho-firstlast--26-october-2026).
**Advanced Revival player order — 26 October. Prototyped / Partial.** Supplied
Advanced physical9/printed7 explicitly orders Force Revival from the First
Player counterclockwise. New Advanced phases now connect that native order,
@@ -45,7 +73,7 @@ Combined report/manifest:
journeys/HTML: adjacent `20261026-advanced-revival-order-runtime/`.
No saved-room/D1/server, reset/restart, deployment or recovery operation occurs.
SSR/callback proof does not establish browser/mobile/deployed or full-mode
acceptance. Sapho's additional Revival adapter follows this native prerequisite;
acceptance. The later Sapho checkpoint above uses this native prerequisite;
the full goal remains unfinished. [Source and contract](ADVANCED_REVIVAL_ORDER.md).
**Independent-effect delivery inventory — 26 October. Prototyped / Partial.**
@@ -60,8 +88,8 @@ legal policies finds connected first versions for the following families:
| Independent Ecaz cards | Recruits, Reinforcements and Harass & Withdraw, including normal selection/deal; [variant contract](ECAZ_TREACHERY_RULES.md). | Provisional accounting/timing, excluded profiles and full-mode acceptance. |
This is code-traced delivery evidence; no new tests or runtime journeys were
run for the inventory. The latest executable proof remains the Sandmaster
checkpoint below. Older absence labels in catalogue metadata and dated source
run for the inventory. Newer executable checkpoints appear above. Older absence
labels in catalogue metadata and dated source
audits must be checked against the connected paths before assigning new work.
The next scoping pass targets specific missing timing/source functions and
excluded faction/module integrations. Full rules compliance, final assurance,
+30
View File
@@ -1,5 +1,35 @@
# Dune implementation status
## 26 October 2026 — Sapho first/last in ordered Advanced Revival
**Prototyped / Partial.** Apply printed first/last to unfinished Advanced Revival
opportunities. Original physical order and completed turns remain; a started
current player finishes first under explicit provisional queued timing. Actual
card use upgrades only that phase to version2 public history with bound boundary/
revision; replay cannot unlock a started player or reopen a completed turn.
Native start/finish retain history. New Semuta continuation completes the same
discard through pass/claim before the queue resumes. Clean/queued labels and
actual callbacks use existing card/scope/event/mode fields; minimal policies use
shared options. Original version1 creation and legacy concurrent timing remain.
Frozen **16-file211/211**, types/lint/build and **ten runtime paths** with18
GameTable SSR renders and actual Sapho/Finish callbacks pass on unchanged source.
Eight paths are native: actual public R/A/E/G +choam cache1 (44 source actions),
paid normal1 shipment2 and later card1 Storm death/free1 return (101), clean/
started first/last and all four minimal profiles. Each native continuation uses
one card plus four actual Finish actions, retaining45 Treachery identities and
native return/quotas. Two controlled conserved-card Semuta sources claim/pass
the actual discard; their acquisitions are explicitly supplemental.
Feedback selects legal original dials preserving the real First Player for the
later return, honors Basic's existing Semuta window before Extortion answers,
corrects name selectors 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. Browser/mobile,
deployed, full combinations and complete-mode acceptance remain due.
[Source and protocol](ADVANCED_REVIVAL_ORDER.md#sapho-firstlast--26-october-2026).
## 26 October 2026 — Advanced native Revival player order
**Prototyped / Partial.** Adopt supplied Advanced physical9/printed7 First
+22 -1
View File
@@ -1,6 +1,6 @@
# Juice of Sapho: finite ordering implementation
Updated 18 October 2026. **Partial card implementation; full modes and
Updated 26 October 2026. **Partial card implementation; full modes and
publication acceptance remain gated.** The earlier source audit remains the
printed-evidence baseline. The current-lot prototype below selects an explicit
provisional cyclic convention under the 14 October choose-recommended direction;
@@ -13,6 +13,27 @@ contract supersede the earlier absence of that mode below. The
and a fixed public final opportunity in fresh Richese battles; old battles keep
their early protocol.
## Ordered Advanced Revival — 26 October 2026
**Prototyped / Partial.** First/last now applies to the unfinished opportunities
of the [native Advanced Revival](ADVANCED_REVIVAL_ORDER.md#sapho-firstlast--26-october-2026).
A clean unstarted current player may move last; another unstarted holder may
move first or last. If a native request has started the current opportunity,
visibly provisional queued timing keeps that participant first and changes
only its later unstarted tail. Completed turns stay complete; native quotas,
requests and physical First Player order remain. Basic and older concurrent
phases receive no invented sequence.
Actual card disposal upgrades that phase to validated version2 use history.
Original version1 frames retain their bytes and native behavior. Current actor,
completed/remaining opportunities and started state bind the exact event and
use revision. The opted-in Semuta continuation claims or leaves the physical
discard before the same queue resumes. A legal recovered card can be used
again at a new meaningful position; there is no extra once-per-phase cap.
Shared options feed existing minimal policies and named clean/queued controls.
Native/source and controlled continuation evidence remain distinct in the
linked contract; full card/mode/deployed acceptance remains unfinished.
## Order after a started combined turn — 25 October 2026
**Prototyped / Partial.** The printed card permits first/last in a turn-ordered
+20 -2
View File
@@ -1,5 +1,23 @@
# Rule decision index
## Sapho in ordered Advanced Revival — 26 October 2026
The printed Sapho first/last alternative applies to the now-connected ordered
Advanced Revival from supplied physical9/printed7. Change only unfinished
opportunities for the current phase; original physical First Player order and
completed opportunities remain. A real held card is discarded once.
Under standing 14 October choose-recommended authority, retain a started current
participant and reorder only its unstarted tail, as in the earlier movement
protocol. First means immediately after that actor finishes. A holder cannot
split its own started opportunity. This is explicit provisional online timing,
not a new publisher clarification. Existing opted-in Semuta claim/pass completes
the same physical discard before the changed queue resumes. Native requests,
quotas and response ownership remain; Basic/unstamped concurrent Revival and
other Sapho scopes retain their contracts. Recovered-card reuse has no invented
once-per-phase cap. No module or complete-mode gate opens.
[Source, behavior and evidence](ADVANCED_REVIVAL_ORDER.md#sapho-firstlast--26-october-2026).
## Advanced Revival player order — 26 October 2026
Supplied authorized revision physical9/printed7 expressly orders **Force
@@ -13,8 +31,8 @@ the adjacent “in addition” leader paragraph. It is not separately printed
whole-phase ordering. Native reactions/support remain with their authorized
responder; Emperor-funded extra forces use the beneficiary's opportunity.
Card effects, Nexus and special Karama retain distinct timing. Explicit Finish
withdraws an outstanding own leader negotiation. Sapho's additional adapter
follows separately; no full-mode gate opens.
withdraws an outstanding own leader negotiation. The later Sapho adapter above
uses that native opportunity; no full-mode gate opens.
[Source, behavior and evidence](ADVANCED_REVIVAL_ORDER.md).
## Sandmaster flight and concealed-marker collection — 26 October 2026