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:
Quintine committed 2026-09-13 22:51:19 +10:00
1 parent f067950f5e
commit cab2f1c42d
26 files changed
+3001 -58

No files matched your search

+36
View File
@@ -1,5 +1,41 @@
# Dune implementation status
## 13 September 2026 — Expansion faction setup and saved Ixian auction decline
The [faction development profile](EXPANSION_FACTIONS_PROTOTYPE.md) connects
all seven nonempty expansion selections to genuine Basic/Advanced setup and
existing faction controls, AI and saved continuation. Ecaz now allocates six
starting forces within Imperial Basin, keeping fourteen in reserve; Fremen,
Advanced Bene Gesserit and Moritani placement ordering is preserved with its
printed and inferred boundaries documented. The optional Ecaz Treachery variant
stays separate, ordinary decks contain 33/35/47 cards, and Richese keeps its
separate ten-card cache. Public starts remain gated.
Combined play exposed an existing Ixian Technology/Richese special-lot deadlock.
A saved explicit per-lot decline now opens the original cache or Black Market lot
without using Technology, changing its card custody or revealing a concealed
card. Exact event, round, declaration and custody validation protects view,
normalization and actions, including Gift/Truthtrance interruptions. Competing
uses of the reserved offered card are rejected before creating responses.
The actual exchange still needs its recorded replacement-custody interpretation.
Focused setup, controls, legal AI, private JSON/SQLite continuation and concurrent
write checks pass, with independent review of rules, custody and persistence.
Five of six genuine mixed-profile samples finish. Combined Advanced progresses
past three special-lot declines to turn three, then stops on an existing CHOAM
movement/Ambassador arrival guard. Guarded arrival candidates also occur in the
Ecaz samples. These are explicit remaining integration limits, not full expansion
acceptance. The detailed feature document retains exact sample metrics.
The browser verified genuine Ecaz traitor/force setup and refresh, then a separate
Advanced development game's saved Ixian decline, unchanged offered card, legal
bidding and private hand restoration. After the reported outage, all 597 opening
games and original seat/recovery records matched the backup. A stale server module
cache required a restart after a fresh 598-room backup; every room matched before
QA resumed. Required broad checks, final preservation totals and source fingerprint
are recorded in the checkpoint commit and private report. No database reset,
recurring automation or publication was performed.
## 13 September 2026 — Diplomat base-defense copying prototype
[Diplomat](DIPLOMAT_DEFENSE.md) now optionally counts one committed Worthless as