Commit Graph
109 Commits
Author SHA1 Message Date
Quintine dd6d3a89ca Offer Semuta on clean mandatory battle batch 2026-09-30 09:41:55 +10:00
Quintine e55d275014 Offer Semuta before optional winner battle cleanup 2026-09-30 09:20:58 +10:00
Quintine 593ca3beb4 Offer Semuta choice after winner battle card batch 2026-09-30 09:05:45 +10:00
Quintine 34390bb78b Offer Semuta after clean winner battle discard 2026-09-30 08:48:20 +10:00
Quintine b3e4f1babb Offer Semuta after clean completed Ornithopter flight 2026-09-30 08:33:23 +10:00
Quintine eb4df0b99c Offer Semuta after clean Sapho movement reorder 2026-09-30 08:22:23 +10:00
Quintine 836af6fb3a Offer Semuta after clean final Truthtrance answer 2026-09-30 08:03:18 +10:00
Quintine 162f01c160 Offer Semuta after clean private Distrans transfer 2026-09-30 07:53:59 +10:00
Quintine 2ec0422b79 Offer Semuta on clean early-ended Ornithopter discard 2026-09-30 07:38:45 +10:00
Quintine 0e9945e333 Compose Semuta with completed paid Box discard 2026-09-30 01:25:22 +10:00
Quintine 9ea50a792e Prototype neutral Semuta reactions on clean ordinary discards 2026-09-30 01:07:03 +10:00
Quintine c961a93f62 Exercise Ecaz card variant and canonicalize advisor stances 2026-09-29 21:22:34 +10:00
Quintine 6ac5dabdee Enable Reinforcements in clean Ecaz-Moritani battles 2026-09-29 20:59:52 +10:00
Quintine 54cbf4d06f Connect bounded Fremen Nexus worm-riding Betrayal 2026-09-29 19:48:43 +10:00
Quintine 66a427ab55 Connect bounded Moritani Atomics Aftermath 2026-09-29 19:13:16 +10:00
Quintine b2603f6715 Connect bounded arrival overlap and Fremen Nexus movement Betrayal 2026-09-29 18:01:14 +10:00
Quintine 8ddd138e87 Extend Guild rate Karama to cross and return transport 2026-09-29 16:22:13 +10:00
Quintine 8a23b5ccd2 Add prepayment Guild rate Karama response 2026-09-29 15:32:49 +10:00
Quintine 745e4fa8ab Connect Moritani Extortion through Mentat settlement 2026-09-29 14:43:59 +10:00
Quintine 88829b7057 Exercise all-expansion Homeworld and Nexus games 2026-09-28 20:54:52 +10:00
Quintine 068da48734 Exercise combined expansion Nexus games and saved continuation 2026-09-28 20:44:25 +10:00
Quintine e6bb9809f7 Connect Tleilaxu revival payments to Bureaucrat 2026-09-28 18:57:14 +10:00
Quintine 3b118dd845 Integrate Ecaz Duke revival and bounded Mirror Weapon battles 2026-09-28 18:02:04 +10:00
Quintine 1b36402dd6 Prototype native Ecaz Nexus Duke Cunning 2026-09-28 14:20:18 +10:00
Quintine 1bda2ec31e Prototype Emperor Nexus bank-auction purchase 2026-09-28 13:38:49 +10:00
Quintine 23ce406872 Connect bounded Reinforcements Battle Plan 2026-09-28 13:07:27 +10:00
Quintine 763749f25e Connect bounded Richese Nexus Cunning No-Field pair 2026-09-28 12:29:59 +10:00
Quintine 0c6d28a706 Add private Ecaz Nexus Secret Ally inquiry 2026-09-28 11:45:14 +10:00
Quintine 886a8f4478 Connect Moritani Nexus losing-card retention 2026-09-28 11:13:39 +10:00
Quintine cb98ead411 Prototype CHOAM Nexus after-victory inspection 2026-09-28 10:34:09 +10:00
Quintine 209fb18a27 Connect bounded Orgiz spice transfers to Discovery Collection 2026-09-28 09:49:14 +10:00
Quintine c9a3625ff2 Connect bounded Diplomat retreat and record live deployment 2026-09-28 09:18:36 +10:00
Quintine 2e39ea00bb Exercise Ixian Nexus expansion games 2026-09-27 23:05:27 +10:00
Quintine d77aa5472b Exercise Ecaz Nexus expansion games 2026-09-27 22:56:49 +10:00
Quintine 99c6ab5863 Exercise CHOAM Nexus expansion games 2026-09-27 22:45:53 +10:00
Quintine 0bf61c8067 Connect CHOAM Nexus Betrayal random discard 2026-09-27 21:54:55 +10:00
Quintine 51ef855d19 Preserve Intrusion views across JSON save boundaries 2026-09-27 20:32:38 +10:00
Quintine 8956cf0be7 Prototype Bene Gesserit Nexus Voice betrayal response 2026-09-27 19:57:26 +10:00
Quintine 22a81c6f7a Prototype Emperor Nexus battle betrayal response 2026-09-27 19:29:50 +10:00
Quintine 07c739fcf7 Connect Ecaz Betrayal and Fremen worm Cunning with build revision 2026-09-27 18:52:18 +10:00
Quintine 1e690b7062 Prototype Fremen Nexus free Revival for base factions 2026-09-27 14:48:31 +10:00
Quintine 5c1c944a4f Prototype Moritani Nexus Betrayal token return 2026-09-27 14:20:06 +10:00
Quintine 238de3860d Add recoverable administrator room removal and restoration
Preserve room JSON, seats, credentials and messages while removed rooms deny ordinary reads and writes. Add deliberate room-scoped controls, removed-directory filters, persistent player notices and live-authorized atomic version/revision audit receipts. Retain uncertain room/seat requests and hidden recovery drafts through removal; restore the prior pause/join settings without reviving revoked credentials.

Fix AI readiness after a joining human or human faction change so real lobby starts remain legal.

Verified types, lint, 5314 offline tests, 52 HTTP tests and build. Fourteen authenticated HTTP groups and independent privacy/persistence review passed. Desktop/mobile browser QA confirmed a saved removal after a lost response and refresh, one audit on exact retry, persistent notices and recovery draft continuity. All 1,945 baseline rooms, 4,121 seats and related records preserved. Positive authenticated production admin acceptance remains pending authorized QA operator access; full admin and rules gates remain open.
2026-09-22 12:01:22 +10:00
Quintine 8c922b446b Add administrator pause and joining-lock controls
Provide authenticated owner/operator room controls with live account binding, durable audit and exact saved retries. Pause gates human, bot and automatic writes while preserving recovery, discussion and taking back control. Resume keeps decisions and restores AI pacing. Add directory availability filters and player notices.

Verified types, lint, 5223 offline tests, 52 HTTP tests and build. Independent persistence/privacy review and authenticated HTTP acceptance passed. Desktop/mobile browser QA confirmed lost-response refresh/retry makes one audit row and resume restores controls. Existing games preserved. Authenticated deployed admin acceptance remains pending explicit QA access confirmation.
2026-09-22 10:41:09 +10:00
Quintine c5508b727a Expose an explicitly unfinished Advanced preview in normal lobbies
Add room-creation and host lobby rules selectors, readiness reset, explicit
preview start and a persistent warning. Admit the six classic factions,
Tech Tokens with 3+ players and optional Stronghold Cards through genuine
setup. Keep expansion/module gates and complete-rules/publication criteria.

Persist the preview marker and enforce fresh native leaders, unchanged
piece custody and clean runtime/pacing state. Preserve private projections,
JSON continuation, exact room-entry retries and version/CAS protection.
Independent review resolved malformed leader, extra card-zone, missing
required-key and stale bot-deadline admission gaps.

Validation on the shared development tree: types, lint, 5169 offline
tests, build and 50 HTTP tests passed. The tree also contained the
separate deployment task's changes; this commit stages only preview scope.
All 57 base rosters completed real setup with each legal AI profile. Five
normal-preview-start games (2–6 seats) completed 1950 actions and
51 JSON restores without rejected actions; no strategy calibration.

Browser: actual create, host switch/readiness/Stronghold reset, explicit
start, exact private refresh, desktop and mobile warning checked. Retained
dev process stopped; backed up 1,629 saved games, restored server with all
unchanged, and resumed the same traitor choice into Storm. Baseline all-table
preservation retained 1626 rooms and 3442 seats; totals
now 1669 rooms and 3536 seats. No reset or automation.

Preview remains incomplete. Legacy unsupported expansion creation payloads
remain accepted for exact retry compatibility but cannot start. Existing
rules ambiguities and full visual acceptance remain open.
2026-09-21 17:41:35 +10:00
Quintine 0f79f28ccb Complete forced Harkonnen returns with private saved inspection
Automatically return the full combined hand when it is the only legal
special-Karama return. Preserve real choices and restore the suspended
response or auction payment through the same settlement. Record the actual
blind draw as owner-only historical card faces, with a bound integrity
receipt; legacy forced saves describe held-card history truthfully.

Add readable private history and enlarged inspectors. Both manual and
forced returns publish only a faction/action completion tag. Wake idle
legacy exchanges through production recovery without writes for real
choices. Keep provisional auction funding rules and release gates.

Validation: types, lint, 5150 offline tests, build and 49 HTTP tests
passed. Independent review resolved history substitution and root review
completed idle recovery wiring. New tests cover 1-4 forced draws, real
choices, overlays, exact saved history, immutable rejection, all four legal
AI paths, production competing actions/recovery, private views and custody.
One genuine Advanced four-player sample completed 158 actions with
4 JSON restores and no rejected action; no difficulty tuning.

Browser QA QUTHVPTT used genuine Advanced setup and conserved Bidding
positions. The actual power returned four cards without a prompt; private
history/enlargement and exact refresh worked. Phone panel fit without
horizontal overflow with 44px inspector controls. Screenshot capture timed
out; complete visual acceptance and transient notice capture remain open.
Preserved every prior row across all ten tables, including 1586
rooms and 3354 seats. New QA/integration records bring totals to
1626 rooms and 3442 seats. No reset, restart or automation.
2026-09-21 16:45:20 +10:00
Quintine a3bc0ac837 Show completed core actions and summarize notice bursts
Tag committed ordinary movement, shipping, revival, collection, battle,
native Guild transport and HMS relocation for the existing house notices
and optional sounds. Keep pending and canceled actions free of false
completion notices and preserve richer Smuggler and card-specific labels.

Bound feedback to three 1.5-second notices including the active notice.
Summarize older pending events with an exact count and retain individual
chronicle entries. Consume stale, duplicate, muted and hidden updates
without replay; clear visible and queued feedback when the page hides.
These changes add log metadata and cosmetic presentation only.

Validation: types, lint, 5137 offline tests and production build passed.
Independent review resolved one duplicate Smuggler notice. Nine engine
regressions and six queue/cursor/component tests cover the new behavior.
Two Basic/Advanced four-player games completed with 821 legal actions,
21 JSON restores and zero rejected actions; no AI tuning was done.

Browser QA 76CMLL8Z used genuine Basic setup and private real-action batches.
A seven-event burst displayed Revival plus four earlier actions, then
drained. Chronicle navigation and silent toggle/refresh were checked;
refresh kept the saved row identical. Phone notice bounds fit without
overflow. Transient phone text and actual background visibility were not
captured; screenshot and full visual acceptance remain open.
All 1,585 prior rooms, 3,353 seats and auxiliary records stayed unchanged.
One QA room and human seat were added; no reset, restart or automation.
2026-09-21 16:06:35 +10:00
Quintine d1bf33d0bc Connect Basic CHOAM skills and preserve market Ghola choices
Connect ordinary Leader Skill paths to Basic CHOAM with base opponents,
the real 35-card Treachery deck and all fourteen skills. Retain wider
development initializer behavior and existing mode/publication gates.

Pause a declared sale until its Ghola revival and private skill choice
finish. Bind the actual revived leader, offer event and completion to the
saved interruption. Preserve nested Truthtrance disposal and exact sale
responses; canceling a resumed sale leaves the free revival completed.
Keep force-only and retained-skill revivals free of replacement offers.

Add genuine setup, native card-sale, mandatory disposal, private custody,
corruption and concurrent authenticated recovery regressions plus a
two-through-six-player complete-game sample profile. Record the unresolved
Sandmaster/native-HMS eligibility question without inventing a bonus.

Validation: types, lint, 5101 offline tests and production build passed.
Five genuine 2-6 player CHOAM Skills games completed with zero rejected
actions. Independent review and 50 focused compatibility tests passed.
Browser Y2UJGMCS exercised real setup, Ghola draw, exact private refresh,
mobile assignment and resumed sale paying two spice once. Screenshot
capture timed out; full visual acceptance remains open.
All 1,583 prior rooms, 3,351 seats and auxiliary records remain intact;
one QA room and human seat were added. No restart, reset or automation.

Full AI implementation and tuning remain deferred until all non-AI
features are complete, then target roughly 75% for each adjacent tier.
2026-09-21 15:10:29 +10:00
Quintine 3efda2128e Connect Basic Ixians to the full Leader Skills prototype
Admit genuine Basic Ixian setup with the full fourteen-skill deck, real
starting-card choice, optional Tleilaxu/base opponents and first-Storm HMS.
Keep public starts, Advanced and other module combinations gated.

Share per-origin cyborg movement range across engine, controls and legal bots.
Preserve independent Planetologist range after native Karama cancellation.
Connect Sandmaster force routes through room-local HMS pointer adjacency.
Retain canceled movement's no-op contract while validating actual execution.

Resolve Suk rescue before substitution with explicit ambiguous cyborg rescue
origins and exact remaining Tank losses. Finish Rihani before native
substitution, bind saved physical losses and declared exchange, and resume
mandatory/optional winner disposal on allow, decline or cancellation.
Admit exact green Ix Thumper, Harvester and Amal as Planetologist substitutes.

Validation: types, lint, 5,082 offline tests and production build passed.
Five genuine 2-6 player games completed with zero rejected actions and 54
JSON restores. Authenticated in-memory concurrent starting-card recovery,
private setup, physical card/force custody and independent review passed.
Browser FLGHBSA4 completed real setup, first Storm/HMS placement and a
conserved staged Suk battle. Mobile rescue, refresh and one-for-one
substitution passed. Screenshot capture timed out; full visual acceptance
remains open. All 1,582 prior rooms, 3,350 human seats and auxiliary records
were preserved; one new QA room/seat remains. No restart, reset or automation.

AI work remains limited to legal participation until every non-AI feature
is complete, then targets roughly 75% higher-tier wins for each adjacent pair.
2026-09-21 14:36:27 +10:00
Quintine d3559f65ad Connect Basic Tleilaxu to the full Leader Skills prototype
Admit genuine Basic Tleilaxu/base setup with the full fourteen-skill deck,
Ix card inventories and native three Face Dancers. Share public profile guards
across existing skill effects while retaining public-start and Advanced gates.

Record native own-leader skill offers at successful revival commitment so
automatic Tleilaxu response chains preserve the optional private draw. Connect
Rihani to unrevealed Face Dancer exchange with exact physical/status custody,
private controls and existing legal AI choices. Release completed Rihani's
live snapshot only after validated Face Dance admission; keep signed history
and current census checks. Zoal Smuggler uses opposing printed disc value at
reveal, excluding opposing skill bonuses and his separate revival value.

Add genuine setup, response/cancellation, private choice, custody, Face Dance
reset, Zoal, legal AI and authenticated concurrent recovery regressions. Add a
reproducible two-through-six-player sample profile and saved continuation.
Preserve unresolved skill effects, foreign-ghola boundaries and delayed AI tuning.

Validation: types, lint, 5,058 offline tests and production build passed.
Five full games completed with zero rejected actions and 74 JSON restores.
Browser QA CRY4DD4J used genuine setup and an explicitly conserved staged battle;
real Rihani draw/exchange and same-state refresh passed on mobile and desktop.
Screenshot capture timed out; full visual acceptance remains open. No HTTP
endpoint/auth/storage implementation changed; authenticated SQLite recovery was
verified. All 1,581 prior rooms, 3,349 seats and auxiliary records were preserved.
One new QA room/seat remains. No server restart, database reset or automation.
2026-09-21 14:08:30 +10:00