Add Sapho first and last for cyclic auction lots

Provisionally apply first/last to the current ordinary or native Advanced normal Black Market lot. Preserve bids, funding and passes; skip passed seats until a real raise. Use a local full cycle and actual post-discard hand capacity. Keep the original Black Market opener in both settlement consumers and clear ordinary overrides for the next lot. Connect persistent controls, native disposal and existing minimal AI options.

Validation:10-file134/134, types/lint/build and eight original-action/rendered-table continuations. Public setup/cache1, real lobby circle choice, native Black Market and paid full hand preserve prior1,2/3/4 raises, one payment4 and original next opener or final-lot Revival. Eight minimal policies are legal. Corrected fixture opener/completion assumptions and external default-history/final-lot assertions; only runtime was rerun against identical source. Bounded consumer review found no concrete defect. Other timing scopes, direct combined Semuta claim/capture, full modes, final assurance and browser/deployed acceptance remain open. No saved-room/reset/restart/deployment operation.
This commit is contained in:
Quintine committed 2026-10-18 13:28:34 +11:00
1 parent 561152d58e
commit cb13a4d674
15 files changed
+920 -30

No files matched your search

+8
View File
@@ -37,6 +37,14 @@ The connected follow-up now offers first after earlier bids whenever the holder
### Ordinary cyclic and normal Black Market bidding
**18 October implementation follow-up:** the standing choose-recommended
instruction selects an explicit provisional current-lot cycle, anchored at the
live next bidder. It preserves funding/passes, original opener identity and
native strict-raise/termination. The following source uncertainty remains;
this is not a publisher answer or a user numerical ruling.
[Runtime contract](JUICE_OF_SAPHO_RUNTIME.md#cyclic-ordinary-and-black-market-bidding--18-october-2026).
The source guarantees an order effect exists for ordered actions, but does not specify the cycle anchor or duration in a cyclic auction. Plausible implementations (one upcoming circuit, whole current lot, or full Bidding Phase) have different winners and opener sequences. None was resolved by this review.
Before enabling any such adapter, specify its selected scope and test that it preserves ordinary raise/pass termination. A last bidder is not entitled to buy at the standing price: every acquisition still requires a legal bid and the ordinary closing condition. Simply moving the holder to the end of an array while advancing from a numeric cursor can skip or repeat seats; immediately changing `active` can deprive another seat of an existing opportunity. A first/last array position without a declared cycle anchor has no stable meaning once bidding wraps.