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.
This commit is contained in:
1 parent
0f79f28ccb
commit
c5508b727a
16 files changed
+998
-115
No files matched your search
@@ -0,0 +1,69 @@
|
||||
# Advanced preview
|
||||
|
||||
The user explicitly authorized a clearly labeled unfinished Advanced mode on
|
||||
21 September 2026. This changes access to the existing development game, not
|
||||
the rules-completion or publication criteria.
|
||||
|
||||
## Select and start
|
||||
|
||||
1. On the home page, choose **Rules → Advanced preview**, then **Create a room**.
|
||||
2. Invite players or add AI seats. The preview supports two through six of the
|
||||
six classic factions: Atreides, Harkonnen, Fremen, Emperor, Guild and Bene Gesserit.
|
||||
3. Optionally enable **Tech Tokens** with at least three players, or
|
||||
**Stronghold Cards** in the lobby.
|
||||
4. Each human chooses **Ready for Advanced preview**. The host chooses
|
||||
**Begin Advanced preview**.
|
||||
|
||||
The host can also change **Rules** in an existing base-game lobby. Changing modes
|
||||
clears human readiness; native AI seats remain ready. Switching to Basic removes
|
||||
unused Stronghold Cards and keeps Tech Tokens. Rules cannot change after setup
|
||||
starts. Selecting Advanced on the home page clears expansion selections, which
|
||||
are outside this preview. Joining a room uses that room's existing rules.
|
||||
|
||||
The warning remains visible throughout Advanced play, including older Advanced
|
||||
development saves. Games use the existing room save, reconnect and private seat
|
||||
system. Basic remains the default.
|
||||
|
||||
## Admission and saved behavior
|
||||
|
||||
Normal room creation already stores `advanced: boolean`; the same request format
|
||||
and exact tab retry are retained. The host-only lobby action
|
||||
`{type: 'rules', advanced: boolean}` changes the mode. The ordinary start action
|
||||
must contain `advancedPreview: true` for Advanced; a bare start remains rejected.
|
||||
Only a successful explicit start writes `Game.advancedPreview: true`.
|
||||
`GameView.advancedPreview` projects the marker as a boolean.
|
||||
|
||||
Start calls the genuine shared setup pipeline, including prediction, Traitors,
|
||||
starting forces, advisors, elites and the starting Treachery deal at their normal
|
||||
stages. The live API never dispatches a test/audit initializer. Fresh-lobby and
|
||||
unused-module checks prevent accidental redealing. Restored preview markers must
|
||||
still match their supported mode and roster. Mode changes, starts and ordinary
|
||||
continuation retain the existing version/CAS fence and private views.
|
||||
|
||||
Expansion factions/decks, Homeworlds, Nexus, Discoveries, Leader Skills, the Ecaz
|
||||
Treachery variant and separate audit profiles remain rejected by normal starts.
|
||||
Enabling Advanced cannot bypass those gates. For compatibility with exact older
|
||||
create retries, the create API still accepts the pre-existing expansion lobby
|
||||
format; those unsupported lobbies cannot start and have no expansion-removal
|
||||
control yet. The preview creation UI prevents that combination. No pending ruling is resolved by
|
||||
this access change; see the [decision index](RULE_DECISIONS.md).
|
||||
|
||||
## Evidence and limits
|
||||
|
||||
- `advanced-preview.test.ts`: normal explicit starts, strict authority/admission,
|
||||
readiness, Basic fallback, genuine setup for all 57 base rosters with each of
|
||||
four existing legal AI profiles, card/force custody, JSON and private views.
|
||||
- `advanced-preview-controls.test.ts`: visible mode/warning/host controls and
|
||||
exact Advanced create-request restoration.
|
||||
- `advanced-preview-recovery.test.ts`: production room SQL, fresh module reload,
|
||||
both private seats, unchanged rejected requests and start/rules CAS races.
|
||||
- `advanced-preview-http.test.ts`: normal authenticated endpoints, explicit
|
||||
opt-in, origin/authority checks, readiness, duplicate start and refresh.
|
||||
|
||||
The private checkpoint directory records final check/build/HTTP results, ordinary
|
||||
preview-start complete-game samples, browser checks and saved-game preservation.
|
||||
These are development samples, not AI calibration or complete interaction coverage.
|
||||
Advanced base powers and timing audits remain unfinished, including the recorded
|
||||
Guild/special-Karama boundaries and advisor interactions. Stronghold Cards and
|
||||
Tech Tokens retain their existing implementation limits. Full visual acceptance,
|
||||
complete rules compliance and publication remain open.
|
||||
+18
-18
@@ -1,26 +1,26 @@
|
||||
# Current development status
|
||||
|
||||
Updated 21 September 2026. **The full twelve-faction goal is unfinished. Basic
|
||||
is playable; public Advanced and unfinished expansion/module starts remain
|
||||
gated.** Prototypes do not open completion or publication gates.
|
||||
is playable and the six classic factions have a user-authorized Advanced preview.
|
||||
Expansion starts and full rules/publication acceptance remain gated.**
|
||||
|
||||
## Current checkpoint and work
|
||||
|
||||
Latest delivered checkpoint: `a3bc0ac`, [completed-action feedback](ACTION_FEEDBACK.md).
|
||||
Types, lint, **5,137 offline tests** and the production build passed. Two complete
|
||||
Basic/Advanced samples had no rejected actions across 821 actions and 21 JSON
|
||||
restores. Browser burst notices, local interaction, muted updates and exact refresh
|
||||
were checked. All 1,585 prior rooms and 3,353 seats remained intact; one QA
|
||||
room/seat brought the baseline to 1,586 rooms and 3,354 human seats. Full visual
|
||||
acceptance remains open.
|
||||
Latest delivered checkpoint: `0f79f28`, [forced Harkonnen exchange return](HARKONNEN_EXCHANGE.md).
|
||||
Types, lint, **5,150 offline tests**, **49 HTTP tests** and the production build
|
||||
passed. One complete Advanced sample had no rejected actions across 158 actions
|
||||
and four JSON restores. Browser inspection and exact refresh were checked;
|
||||
full visual acceptance remains open. All 1,586 prior rooms and 3,354 human seats
|
||||
were preserved; new QA/HTTP rooms brought the baseline to 1,626 rooms and 3,442 seats.
|
||||
|
||||
Current work connects the [forced Harkonnen special-Karama return](HARKONNEN_EXCHANGE.md)
|
||||
when every held card must go back. Automatic settlement preserves a private saved
|
||||
record of the inspected cards and the original interruption. Larger hands keep
|
||||
their real return choice; legacy records identify held cards without inventing
|
||||
which were originally drawn. The server also schedules older saved exchanges for
|
||||
automatic recovery while preserving real choices. Independent review is complete;
|
||||
final source-bound checks and browser evidence accompany the Git checkpoint.
|
||||
Current work exposes [Advanced preview](ADVANCED_PREVIEW.md) through normal room
|
||||
creation and host lobby controls. It uses genuine setup, explicit unfinished-mode
|
||||
start, renewed human readiness after mode changes, private seat restoration and
|
||||
saved continuation. Six classic factions, existing Tech Tokens (3+ players) and
|
||||
Stronghold Cards are admitted; expansion/module gates and pending rulings remain.
|
||||
Focused engine, controls, retry and concurrent recovery checks are connected;
|
||||
final independent review, browser, sample-game and required checks accompany the
|
||||
Git checkpoint. Preview access does not certify complete rules compliance.
|
||||
|
||||
The [Sandmaster/HMS source comparison](SANDMASTER_MOVEMENT.md#21-september-native-hms-relocation-eligibility)
|
||||
found no official clarification that passengers remaining in the interior
|
||||
@@ -94,7 +94,7 @@ These links define bounded working behavior, not complete module certification.
|
||||
|
||||
| Area | Current connected work and evidence |
|
||||
| --- | --- |
|
||||
| Base/Advanced setup | [Genuine setup](ADVANCED_SETUP_TEST_SEAM.md), [Advanced study](AI_ADVANCED_SETUP_CALIBRATION_20260907.md), [Fremen cancellation](FREMEN_MOVEMENT_KARAMA_RULES.md), [Atreides full-plan audit](ATREIDES_FULL_PLAN_TIMING.md). Earlier Basic-then-flip fixtures do not establish current setup coverage. |
|
||||
| Base/Advanced setup | [Normal Advanced preview](ADVANCED_PREVIEW.md), [genuine setup](ADVANCED_SETUP_TEST_SEAM.md), [Advanced study](AI_ADVANCED_SETUP_CALIBRATION_20260907.md), [Fremen cancellation](FREMEN_MOVEMENT_KARAMA_RULES.md), [Atreides full-plan audit](ATREIDES_FULL_PLAN_TIMING.md). Earlier Basic-then-flip fixtures do not establish current setup coverage. |
|
||||
| Expansion factions | [Ixians/Tleilaxu](IX_PROTOTYPE.md) and [all seven faction selections](EXPANSION_FACTIONS_PROTOTYPE.md): genuine setup, Ecaz six-force placement and [Advanced Loyalty](ECAZ_LOYALTY.md), separate optional card variants, private controls and saved per-lot Ixian/Richese decline. Actual special-lot exchange remains pending. |
|
||||
| Leader Skills | [Common lifecycle](LEADER_SKILLS_RUNTIME.md), [known skilled capture](LEADER_SKILLS_CAPTURE.md), [Mentat question preview](MENTAT_QUESTION.md), [Bureaucrat payments](BUREAUCRAT_PAYMENTS.md), five battle disciplines, [Planetologist](PLANETOLOGIST_RULES.md), [Suk Graduate](SUK_GRADUATE_RULES.md), [Rihani and other battle effects](LEADER_BATTLE_EFFECTS.md), [Smuggler shipment](SMUGGLER_SHIPMENT.md), [No-Field](SMUGGLER_NO_FIELD.md) and [battle collection](SMUGGLER_BATTLE.md), [Sandmaster routes](SANDMASTER_MOVEMENT.md) and [worm rides](SANDMASTER_WORM.md), [Banker spending](SPICE_BANKER_RUNTIME.md), [Diplomat defense](DIPLOMAT_DEFENSE.md). Remaining bands and combinations are explicit in those contracts. |
|
||||
| Discoveries | [Prototype](DISCOVERY_PROTOTYPE.md): genuine setup, Great Maker, seven cards/eight tokens, inspection and stash rewards, nested sites, signed later free entry, carried Ornithopter, sole Cistern, bounded Jacurutu income, Testing Station and Shrine. Orgiz and contested/mixed cases remain pending. |
|
||||
@@ -108,7 +108,7 @@ These links define bounded working behavior, not complete module certification.
|
||||
| Area | Remaining gate |
|
||||
| --- | --- |
|
||||
| Basic core | Ordinary Guild repricing/transport settlement, broader truthful commitments, unresolved special timing and integrated rules/human/AI acceptance. |
|
||||
| Six-faction Advanced | Base gaps, provisional special-Karama outcomes, remaining timing audits and authentic multiplayer/browser acceptance. Setup matrices and complete samples do not open public starts. |
|
||||
| Six-faction Advanced | Base gaps, provisional special-Karama outcomes, remaining timing audits and authentic multiplayer/browser acceptance. The user-authorized unfinished preview is available; setup matrices and complete samples do not certify full compliance. |
|
||||
| Twelve factions and all optional modules | Every missing effect, remaining skill bands, Ecaz card variant, Kull Wahad, unfinished Richese cards, Terror effects, occupation entitlement, Nexus interactions, contested Discoveries and complete games across valid combinations. Detailed boundaries remain in the checklist/decision index. |
|
||||
| AI | Maintain minimal legal participation and critical correctness fixes while game features are unfinished. Full implementation, strategy refinement and calibration wait until all non-AI features are complete; then target approximately 75% higher-tier wins for Medium/Easy, Hard/Medium and Brutal/Hard. See the [AI development plan](AI_DEVELOPMENT_PLAN.md). These targets remain unverified. |
|
||||
| Multiplayer | Broader disconnected/abandoned-seat recovery, unattended continuation and network-failure acceptance, while preserving authoritative versioning, custody, privacy and saves. |
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 21 September 2026 — Selectable Advanced preview
|
||||
|
||||
The user-authorized [Advanced preview](ADVANCED_PREVIEW.md) now has room-creation
|
||||
and host lobby selectors, renewed readiness after mode changes, an explicit
|
||||
preview start and a persistent unfinished-rules notice. It uses genuine setup
|
||||
for two through six classic factions, with the existing Tech Token and Stronghold
|
||||
Card options. Saved mode integrity, fresh-piece checks, authenticated recovery
|
||||
and concurrent-start tests retain authority, custody and privacy. All 57 base
|
||||
rosters complete setup with each of four existing legal AI profiles. Full rules
|
||||
compliance, expansion starts and publication remain gated; final verification
|
||||
evidence stays in the private checkpoint report and Git message.
|
||||
|
||||
## 21 September 2026 — Harkonnen forced exchange return
|
||||
|
||||
Special-Karama exchanges now return automatically when the entire combined hand
|
||||
|
||||
Reference in new issue
Block a user