Connect expansion faction setup and saved Ixian auction decline
Add a local faction-only prototype profile for all seven nonempty expansion selections, genuine Basic/Advanced initialization and existing private setup, controls, AI and saved continuation. Ecaz allocates six forces across Imperial Basin sectors and retains fourteen reserves before later setup; preserve Fremen, Advanced BG and Moritani ordering with printed and inferred boundaries explicit. Keep optional Ecaz Treachery cards separate, ordinary deck counts 33/35/47, and Richese cache separate. Public start and publication gates remain closed. Replace the Advanced Ixian/Richese pre-offer stop with an explicit per-lot Ixian decline. Bind the saved original offer to its round, turn, owner, independent event, exact card custody and terms before view/action/normalization. Decline resumes that unchanged lot once without using Technology; later normal lots still offer the exchange. Protect reserved cards across transfers, spending and random Harkonnen exchange, and preserve legitimate Gift/Truthtrance interruptions. The actual special-lot exchange still awaits replacement-custody interpretation. Validation: focused setup, rules, UI/bot, private JSON/SQLite reload and concurrent CAS tests and independent custody/persistence review passed. Typecheck, lint, 4573 offline tests, production build and 43 HTTP tests passed. Browser Ecaz setup rejected an incomplete total, saved a 2/2/2 split, and refreshed to fourteen reserves and unchanged private cards. A separate genuine Advanced QA game restored the Ixian choice; explicit decline opened the unchanged cache lot with legal bidding and retained private hand, spice, pool count and unused Technology after refresh. Five of six genuine four-profile samples finish: CHOAM Basic 1054 actions/28 JSON restores, CHOAM Advanced 225/6, Ecaz Basic 91/2, Ecaz Advanced 523/14, all-three Basic 476/12. Combined Advanced passes three former auction stops and reaches turn three/action614 with 16 restores, then hits an existing CHOAM movement/Ambassador arrival guard. Ecaz samples also include guarded arrival candidates with legal alternatives. Full combined play is not certified; arrival integration is the next gap. Retain initial failed logs, including a corrected private harness sold-card receipt alias. After the outage, all 597 opening rooms and original seat/recovery records were preserved (632 after QA/HTTP). A stale development module cache required restart after a fresh 598-room backup; all 598 matched afterward and the QA seat restored. Final integrity and foreign keys passed. No database reset, recurring automation or publication. Verified source tree: 5e2ff244a1167f2834bb46d609b8de914a34f7049ff7b06046243068c0935131
This commit is contained in:
1 parent
f067950f5e
commit
cab2f1c42d
26 files changed
+3001
-58
No files matched your search
@@ -149,3 +149,35 @@ Root’s global run passed 1,106 rules and 81 recovery tests, production build,
|
||||
Desktop QA confirmed all ten readable enlarged guides and working direct catalog topic links. Room `63NJ822S` completed first-position declaration, cache offer, Once Around self-purchase for 3 and automatic payment, leaving 17 spice, one card and two normal lots. A Silent bid of 4 remained private; fresh browser tab 23 restored two-of-three submitted status and the viewer’s own bid of 4. A final synthetic zero submission produced the storm-order tie winner Harkonnen, paid 4 and awarded its bonus, with Richese at 24 spice. Root records the exact screenshots and synthetic/manual distinction in `docs/VISUAL_PLAYTEST.md`.
|
||||
|
||||
Remaining boundaries are unchanged: cache-cancellation count, empty-cache arithmetic, seller-positive Black Market bidding, advanced Ixian Technology special-lot custody, remaining card effects and actual Juice of Sapho play. Full starts remain gated. The hand’s disabled-effect fix and pre-offer guard explanation are implemented. The final browser recheck in QA room63NJ822S version9 confirmed the printed category, disabled unsupported Play card control, visible reason and available inspector. This is bounded desktop/persistence evidence, not mobile QA, a full Richese game, every advanced interaction or durable hosted-worker certification.
|
||||
|
||||
|
||||
## 13 September: saved per-lot Technology decline
|
||||
|
||||
Genuine combined Advanced faction play exposed the previous pre-offer guard as
|
||||
a deadlock when Ixians retained their optional Technology use. A validated Richese
|
||||
cache or Black Market offer now creates a saved decision for Ixians before opening
|
||||
that lot. The development continuation supports an explicit **decline for this lot**;
|
||||
it does not implement a card exchange or adjudicate the pending seller, income or
|
||||
unsold-card questions described above.
|
||||
|
||||
The exact offered card stays in its original hand or cache. The pending receipt
|
||||
binds the current round, turn, offer terms, owner, independent event and physical
|
||||
custody. The public decision contains no card identity; the owner-facing control
|
||||
explains the unfinished exchange and uses the matching event. Declining opens the
|
||||
same lot once, preserves the normal pool count, and leaves `ixTechnologyTurn`
|
||||
unchanged. Ixians can still use Technology on a later normal lot or separately
|
||||
decline another Richese lot. All four AI profiles have this legal continuation.
|
||||
|
||||
This opt-out is the ordinary exercise of an optional ability, not a publisher
|
||||
prohibition on exchanging special lots. The pending offer is kept private until
|
||||
the normal lot-opening point; this saved staging order is an implementation
|
||||
boundary rather than a separate official timing clarification. Public starts and
|
||||
full combined compliance remain gated.
|
||||
|
||||
The focused engine and UI tests are
|
||||
`tests/ix-richese-technology.test.ts`,
|
||||
`tests/ix-richese-technology-controls.test.tsx`, and
|
||||
`tests/ix-richese-technology-recovery.test.ts`. Final checkpoint verification is
|
||||
recorded in the implementation log and source-bound private report. Historical
|
||||
absence claims about ordinary Richese technology cards above are superseded by
|
||||
their later runtime contracts, including [Juice of Sapho](JUICE_OF_SAPHO_RUNTIME.md).
|
||||
Reference in new issue
Block a user