Allow Sapho first while preserving unspent Guild timing
At a clean unstarted non-Guild movement boundary, Sapho FIRST now reorders the remaining turn queue and reopens the native Advanced Guild choice. Guild may take its turn ahead or wait while all non-Guild turns retain their relative order. Protect an already granted current Guild turn, keep canceled timing locked and preserve completed turns, payments and last protection. Existing discard continuations and minimal policy options need no new state or signature format. Explain the provisional precedence in the controls and reference. Validation:7-file97/97, types/lint/build and six original-action/rendered-table programmes. Actual cache1 Sapho, original Guild wait/take, paid completed Richese prefix, Emperor2/Guild1 shipments and native phase completion. An actually dealt Karama cancels TAKE without its privilege being revived; a granted current turn cannot be displaced. Four profiles make eight legal holder/Guild proposals. Corrected an obsolete first exclusion and a fixture that mistook a later response pass for a repeated movement turn; exact failures and then the whole batch pass. This nonconflicting composition is provisional. Actual competing first, partly completed turns, other ordered actions, direct combined Semuta claim/capture, full modes, final assurance and browser/deployed acceptance remain open. No saved-room/database/reset/restart/deployment operation.
This commit is contained in:
1 parent
84200ebc74
commit
2d89ddb6e1
10 files changed
+469
-16
No files matched your search
@@ -16,6 +16,36 @@ open mode gates.
|
||||
|
||||
|
||||
## Current checkpoint and work
|
||||
**Sapho first with an unspent Advanced Guild — 18 October. Prototyped / Partial.**
|
||||
At a clean unstarted non-Guild boundary, first now reorders the remaining queue
|
||||
and retains the Guild's native next-boundary take/wait choice. A granted current
|
||||
Guild turn stays protected; actual Karama cancellation stays locked. Original
|
||||
permissions, completed turns, payments and last protection remain. Existing
|
||||
continuations and minimal policies need no new saved field or signature format.
|
||||
This nonconflicting composition is provisional, not a publisher precedence FAQ.
|
||||
|
||||
One disjoint genuine-fixture lane, bounded source/continuation review and owner
|
||||
integration pass **7 files97/97**, types/lint/build and six original-action/
|
||||
rendered-table programmes. Original cache1/native wait uses49 source actions;
|
||||
an actual Richese1 Polar Sink shipment costing2 and explicit end uses55. Original
|
||||
grant/cancel branches fork from48 before the first wait. TAKE/WAIT with and
|
||||
without that prefix use12–14 continuation actions, retain ordinary non-Guild
|
||||
order and pay Emperor2/Guild1 once. Granted-current and actual dealt-Karama
|
||||
cancellation use3/2 choice actions plus11/7 continuations. Four profiles make
|
||||
eight legal holder/Guild proposals. Only unopened original deal/Spice positions
|
||||
and scalar lotteries are selected; no postdeal pieces, funds, queue or receipt
|
||||
is installed.
|
||||
|
||||
Frozen feedback corrected an obsolete first exclusion and a fixture that counted
|
||||
an already completed player's later response pass as a repeated movement turn.
|
||||
The exact two failures and then the whole batch pass. Actual controls render
|
||||
first/busy, renewed native Guild timing, granted-current and locked states;
|
||||
no browser click or visual/deployed acceptance. Direct combined Semuta claim/
|
||||
capture, actual competing first, partly completed turns, wider ordered actions,
|
||||
full modes and final assurance remain open. No saved-room/database/reset/restart/
|
||||
deployment operation.
|
||||
[Canonical source, interpretation and proof](JUICE_OF_SAPHO_RUNTIME.md#first-while-the-advanced-guild-remains--18-october-2026).
|
||||
|
||||
**Sapho late aggressor — 18 October. Prototyped / Partial.** Fresh public
|
||||
Richese-roster battles permit clean intervention after commitments/reveal and
|
||||
retain a fixed final opportunity for both combatants. Both explicitly finish;
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 18 October 2026 — Sapho first with an unspent Advanced Guild
|
||||
|
||||
A clean unstarted non-Guild boundary now admits provisional first ordering while
|
||||
retaining the native Guild take/wait choice. A granted current Guild turn stays
|
||||
protected, canceled timing stays locked, and original permissions, completed
|
||||
turns, costs and last protection remain. Existing continuation/signature formats
|
||||
and server-derived minimal options suffice; persistent controls explain Guild
|
||||
may still act ahead. Actual competing first remains a separate guarded case.
|
||||
|
||||
A disjoint genuine-fixture lane, bounded source/continuation review and owner
|
||||
integration pass7-file97/97, types/lint/build and six original-action/rendered-
|
||||
table programmes. Original cache1/wait uses49 source actions; a real paid Richese
|
||||
prefix uses55; native grant/cancel branches fork from48 before the wait.
|
||||
TAKE/WAIT with/without the prefix use12–14 continuations, pay Emperor2/Guild1 once
|
||||
and preserve non-Guild order. Real dealt-Karama cancellation remains locked;
|
||||
granted-current timing cannot be displaced. Four profiles make eight legal
|
||||
proposals. Only unopened original deal/Spice positions and scalar lotteries
|
||||
are selected; no dealt hand, force, wallet, phase, queue or receipt is installed.
|
||||
|
||||
Frozen feedback corrected an obsolete exclusion and a response-pass/turn-count
|
||||
fixture assumption; exact failures and the whole batch pass.
|
||||
[Canonical source, interpretation and exact proof](JUICE_OF_SAPHO_RUNTIME.md#first-while-the-advanced-guild-remains--18-october-2026).
|
||||
No browser click, visual/deployed, direct combined Semuta claim/capture, actual
|
||||
competing first, partly completed turn or full-mode acceptance. Final assurance
|
||||
remains due. No saved-room/database/reset/restart/deployment operation.
|
||||
|
||||
|
||||
## 18 October 2026 — Sapho late aggressor and final battle actions
|
||||
|
||||
Fresh actual-Richese battles now support clean priority changes after sealed
|
||||
|
||||
@@ -9,8 +9,74 @@ it is not a newly located publisher answer. Other timing questions remain open.
|
||||
The [Battle-phase ordering prototype](SAPHO_BATTLE_ORDER.md) adds first/last
|
||||
remaining battle choices. Its separate chooser, phase priority and saved-boundary
|
||||
contract supersede the earlier absence of that mode below. The
|
||||
[early aggressor prototype](SAPHO_AGGRESSOR.md) now uses the existing shared
|
||||
pre-plan opportunity; later aggressor intervention remains unfinished.
|
||||
[aggressor prototype](SAPHO_AGGRESSOR.md) now includes clean late intervention
|
||||
and a fixed public final opportunity in fresh Richese battles; old battles keep
|
||||
their early protocol.
|
||||
|
||||
## First while the Advanced Guild remains — 18 October 2026
|
||||
|
||||
**Prototyped / Partial.** The physical face changes ordered turns and explicitly
|
||||
supersedes Guild only for last. The [source review](JUICE_OF_SAPHO_SOURCE_UPDATE.md#movement-firstlast)
|
||||
and [Guild audit](JUICE_OF_SAPHO_ENGINE_AUDIT.md#movement-and-guild) distinguish
|
||||
ordinary reordering from a competing first declaration. No publisher answer
|
||||
settles that conflict. Under the standing recommended-choice instruction, the
|
||||
new composition provisionally admits a nonconflicting first after Guild waits,
|
||||
while preserving its native next-boundary timing. This is an implementation
|
||||
interpretation, not a retrieved official ruling or unconditional first priority.
|
||||
|
||||
At a clean boundary before any remaining combined turn starts, the holder may
|
||||
move first in the native remaining queue even while Guild has an unspent turn.
|
||||
The existing native timing choice then opens before that reordered turn. Guild
|
||||
may take its own turn first or wait, retaining the relative order of every
|
||||
non-Guild participant. Existing `guildTimingGranted` permission stays recorded;
|
||||
waiting does not consume it or create another Karama response. An ungranted
|
||||
out-of-order timing attempt retains its original response. A granted current
|
||||
Guild turn remains unavailable for displacement. A Karama-locked timing privilege
|
||||
stays locked: Sapho changes order independently without restoring that advantage.
|
||||
|
||||
The queue still includes only unfinished turns. Earlier completed turns, paid
|
||||
shipments, movement allowances and physical storm order do not reset. Existing
|
||||
pending decisions/responses, partly completed turns, reserved cards, no-op checks
|
||||
and Sapho-last protection remain. No new game marker or signature format is
|
||||
introduced. Reorder and discard before entering native timing; the existing
|
||||
Semuta suffix does the same only after original disposal finishes.
|
||||
|
||||
The hand panel explains that Guild can still go ahead, and existing minimal
|
||||
policies consume the authoritative options. Frozen **7 files97/97**, types/lint/
|
||||
build and six original-action/rendered-table programmes pass. Actual public
|
||||
host/setup, original dealt Atreides Karama, cache1 and native wait use49 source
|
||||
actions. A real paid Richese1 Polar Sink prefix costing2 and explicit end uses55.
|
||||
TAKE/WAIT with and without that prefix use12–14 continuation actions; Emperor2
|
||||
and Guild1 shipments pay once, non-Guild order remains and every turn ends.
|
||||
Granted-current and canceled-TAKE branches fork from48 source actions before
|
||||
that wait, use3/2 native choice actions and11/7 continuations to finish the phase.
|
||||
The canceled privilege remains locked with its real Karama discarded once.
|
||||
Four profiles make eight legal holder/Guild proposals without strategy tuning.
|
||||
|
||||
Only unopened original starting-deal/Spice positions and scalar lotteries are
|
||||
selected. No postdeal hand, force, wallet, queue, phase or timing receipt is
|
||||
installed. Actual GameTable and isolated Sapho controls render offered/busy,
|
||||
renewed native Guild choice, granted-current and locked states. Framework aliases
|
||||
and CSS stubs mean no browser clicks or visual/deployed acceptance.
|
||||
|
||||
Frozen feedback repaired two fixture assumptions: an old LAST regression also
|
||||
expected first to remain excluded, and a completed Richese could still allow
|
||||
another faction's later response without repeating its movement turn. The
|
||||
exact two failures pass, then all97/types/lint/build/runtime pass together.
|
||||
The bounded source/continuation review found no need for another saved field
|
||||
or continuation. No application rule repair followed frozen feedback.
|
||||
|
||||
Private proof: `/home/quintine/.local/share/dune/checkpoints/20261018-sapho-guild-first/frozen-integrated-2/report.json`,
|
||||
base `84200ebc7448bbefa788158408bb389b722ee8f0`, tree
|
||||
`0f03e96546e48e9ae3a355b4935e72685c9b891dbde0fcdd15d31a03f63ef4ea`.
|
||||
The report binds the unchanged implementation/control/test source. Final
|
||||
checkpoint prose/reference evidence is a separately reviewed overlay; private
|
||||
`documentation-overlay.json` and `git-result.json` bind it to the pushed revision.
|
||||
|
||||
Direct combined Semuta claim/capture, actual competing first, partly completed
|
||||
movement and other ordered actions remain open. Full-mode, browser/deployed and
|
||||
final assurance acceptance is separate. No saved-room/database, reset, restart
|
||||
or deployment operation is part of this checkpoint.
|
||||
|
||||
## Cyclic ordinary and Black Market bidding — 18 October 2026
|
||||
|
||||
@@ -107,7 +173,7 @@ tests stay identical to the frozen proof.
|
||||
`{type:'card',card:'richese-juice-of-sapho',scope,event,mode}` accepts one of these current opportunities and discards the actual held card once:
|
||||
|
||||
- `scope:'onceAround'`: first or last while the holder has not acted and the change reorders a still-unacted bidder. Earlier bids remain committed. The intervention applies to this lot only. Prior bids, funding, completed participants, physical lot, event and storm tie order remain intact. Richese is not restored to last after Sapho. A holder excluded initially by a full hand gains a slot and eligibility by discarding Sapho, provided this lot is still open. Completed passes never reopen. Every purchase still requires a strict outbid.
|
||||
- `scope:'movement'`: reorder entire remaining combined shipment/movement turns at a clean boundary. First requires every remaining turn to be unstarted; previously completed turns may retain their spent shipment/movement counters. In Advanced, Guild must be absent or have fully completed its turn and left the remaining queue. Last remains after Guild, including later Guild deferrals. No movement counters, Hajr, transport pricing, concealed tokens, resources or completed turns reset. Existing shipment/movement/preparation, reaction, Truthtrance, paid Box and gift commitments block the intervention. The next actor retains an already settled Guild timing choice when their identity is unchanged. An already granted, unstarted early Guild turn is lifted to the front of the local remaining queue before applying last, without changing physical order; this also permits Guild itself to declare last. A player now actually last cannot spend the card on a no-op.
|
||||
- `scope:'movement'`: reorder entire remaining combined shipment/movement turns at a clean boundary. First requires every remaining turn to be unstarted; previously completed turns may retain their spent shipment/movement counters. In Advanced, Guild retains its native next-boundary timing even while unspent; it may still take its turn before the reordered holder. An already granted current Guild turn is protected. A Karama-locked privilege stays locked. Last remains after Guild, including later Guild deferrals. No movement counters, Hajr, transport pricing, concealed tokens, resources or completed turns reset. Existing shipment/movement/preparation, reaction, Truthtrance, paid Box and gift commitments block the intervention. The next actor retains an already settled Guild timing choice when their identity is unchanged. An already granted, unstarted early Guild turn is lifted to the front of the local remaining queue before applying last, without changing physical order; this also permits Guild itself to declare last. A player now actually last cannot spend the card on a no-op.
|
||||
|
||||
The reusable immutable `ordered-opportunity` helper checks unique IDs, exact remaining/completed partition, stable event and locked current/protected-last positions. It never defines card scope or cyclic timing. Movement protection persists as `saphoMovementLast:{event,turn,player}`, checked on action, normalization and projection, and cleared when its owner finishes. Normal storm order is never rewritten. Invalid records are rejected, not repaired by replaying turns.
|
||||
|
||||
@@ -136,8 +202,9 @@ Browser and final regression outcomes from 7 September are recorded in the histo
|
||||
The [existing source contract](JUICE_OF_SAPHO_SOURCE_UPDATE.md#movement-firstlast)
|
||||
already permits reordering the remaining unstarted participants between complete
|
||||
combined turns. The old global completed/shipped guard was narrower than that
|
||||
contract. The engine now checks only remaining participants and only retains the
|
||||
Advanced Guild-first guard while Guild is among them. No new timing ruling,
|
||||
contract. That checkpoint checked only remaining participants but retained the
|
||||
Advanced Guild-first guard while Guild was among them; the 18 October section
|
||||
above supersedes that blanket exclusion. No new timing ruling,
|
||||
saved field, player action shape or separate AI legality calculation is added.
|
||||
|
||||
Four new engine tests cover a real completed shipment before first, a genuine
|
||||
|
||||
+12
-1
@@ -1,5 +1,16 @@
|
||||
# Rule decision index
|
||||
|
||||
## Provisional Sapho first with an unspent Guild — 18 October 2026
|
||||
|
||||
The face explicitly supersedes Guild for last, without settling competing first
|
||||
claims. After a native Guild wait, Sapho may provisionally reorder the next clean
|
||||
unstarted turn while Guild retains its native next-boundary choice to take or
|
||||
wait. An already granted current Guild turn stays protected; Karama-locked timing
|
||||
stays locked. No completed turn, permission, shipment or allowance resets.
|
||||
This extends nonconflicting ordering rather than deciding the actual competing
|
||||
first case. [Canonical source and contract](JUICE_OF_SAPHO_RUNTIME.md#first-while-the-advanced-guild-remains--18-october-2026).
|
||||
|
||||
|
||||
## Provisional Sapho final battle opportunity — 18 October 2026
|
||||
|
||||
The printed aggressor effect has no before-plans restriction. Fresh battles
|
||||
@@ -849,7 +860,7 @@ dedicated retrieved worked FAQs. [Contract and remaining limits](HOMEWORLD_OCCUP
|
||||
| Ixian Nexus Betrayal: Bidding or Technology | Fresh native-Ixian/classic-or-Tleilaxu Basic/Advanced local `ixian-betrayal` uses Ix47 Treachery and Nexus alone, with no initial Nexus deal or old-save retrofit. Resolve actual native Karama/BG counters first; a native denial opens no Nexus gate or cost. After all native passes, uniform publicly possible unallied non-Ixian held-Nexus seats acknowledge before the native effect; concealed face governs only private Use. These are bounded privacy/ordering inferences, not publisher universal priority. One physical Ixian Nexus denies one current Bidding attempt (normal count, no Ixian inspection/return) or one Advanced Technology declaration (both card locations preserved, attempt remains used); all-pass allows the original effect and suffix once. No whole-phase ban, completed undo, invented direct-Nexus Karama counter or blanket immunity. Richese special-lot exchange, wider priority/modules, complete games, strategy and public/live release remain open; verification is Planned pending frozen direct evidence. | [Photographed face and native source protocol](NEXUS_CARD_RULES.md#bounded-ixian-betrayal-source-protocol--1-october-2026), [fresh local runtime and acceptance](NEXUS_CARD_RUNTIME.md#bounded-ixian-betrayal-local-runtime--1-october-2026), [five-facet internal topic](../game/reference.ts) |
|
||||
| Harkonnen Nexus Betrayal local preview | Fresh classic/base33/Nexus-only `harkonnen-betrayal` admits genuine personal/allied native matching calls. Native allied Karama/BG allowance comes first; a provisional uniform acknowledgement precedes the original outcome. Use returns the exact physical traitor immediately and preserves one automatic private actual Mentat replacement. The local ordering/privacy convention is not publisher/user priority and does not answer the previously asked universal reaction policy; public starts, old-game retrofit, arbitrary stacks and combined modules remain gated. Bounded native/private/recovery/CLI/phone verification is Partial development verified, not complete modes or deployment. | [Bounded source contract](NEXUS_HARKONNEN_RULES.md#bounded-betrayal-preview-contract--1-october-2026), [runtime limits](NEXUS_CARD_RUNTIME.md) |
|
||||
| CHOAM Secret Ally | Absent-faction Collection trade spends one actual Worthless card and the Nexus for two bank spice. It is separate from native Cunning and Auditor; the battle inspection alternative remains missing. | [Prototype contract](NEXUS_CHOAM_SECRET_ALLY.md) |
|
||||
| Sapho movement | At a clean boundary, first reorders only remaining unstarted turns; completed turns stay completed. Advanced Guild must have finished or be absent. Last retains existing protection after Guild. | [Existing source contract](JUICE_OF_SAPHO_SOURCE_UPDATE.md#movement-firstlast), [runtime](JUICE_OF_SAPHO_RUNTIME.md) |
|
||||
| Sapho movement | At a clean boundary, first reorders only remaining unstarted turns; completed turns stay completed. An unspent Advanced Guild retains its native next-boundary take/wait choice after first. An already granted current Guild turn stays protected, and a Karama-locked privilege stays locked. Last retains existing protection after Guild. | [Existing source contract](JUICE_OF_SAPHO_SOURCE_UPDATE.md#movement-firstlast), [runtime](JUICE_OF_SAPHO_RUNTIME.md) |
|
||||
| Basic CHOAM / Leader Skills | Compose existing ordinary skills with native sales and own-leader Ghola revival. Finish the private optional replacement before the exact suspended sale resumes. The free revival remains completed if the resumed sale is canceled. Basic uses five ordinary leaders and 35 Treachery Cards; Auditor remains Advanced and ineligible for skills. | [Integration and source contracts](CHOAM_LEADER_SKILLS.md) |
|
||||
| Basic Ixians / Leader Skills | Per-origin cyborg range, room-local HMS force routes, rescue before actual cyborg Tank substitution, Rihani before faction substitution and mandatory cleanup compose existing contracts. Ambiguous rescued cyborg reserve origins are explicit player choices. Exact green Ix Specials are Thumper, Harvester and Amal. | [Integration and physical sources](IX_LEADER_SKILLS.md) |
|
||||
| Basic Tleilaxu / Leader Skills | Compose settled native Rihani Face Dancer eligibility, own revival offers and Face Dance death return through the full deck. Zoal copies opposing printed disc value as the Smuggler base; the controller's own modifiers follow the later provisional policy. Advanced foreign gholas and existing skill questions retain separate contracts. | [Integration and sources](TLEILAXU_LEADER_SKILLS.md), [Smuggler policy](SMUGGLER_BATTLE.md#provisional-modifier-policy--17-october-2026) |
|
||||
|
||||
Reference in new issue
Block a user