Connect genuine Ix expansion setup to playable prototypes
Add an offline Ix initializer through the real setup pipeline, supporting Basic and Advanced play, base factions, Ixians and Tleilaxu with the full 47-card deck and 22-card spice deck. Preserve all normal start and publication gates. Add a reusable local prototype starter: back up the named fresh ready lobby, initialize it once by exact version/state comparison and preserve seat/recovery tables and other rooms. Update the existing checklist with a separate prototype stage and document functional scope, source interpretations and later refinement. Six new tests cover all-profile private setup, exact typed starting forces, Face Dancer/treachery custody, JSON continuation, two fixed-seed complete games and local SQLite write/rejection boundaries. Independent review caught a missing JSON version update, now fixed and covered; focused checking fixed one test typing error before the stable broad check. No new rule interpretation was introduced. Validation: types, lint and 4,211 offline tests passed (123.237s); production build passed (6.543s); all 40 HTTP tests passed (23.578s). Source-bound report: 20260913-ix-prototype-final/report.json, fingerprint 3b8f295593bcb314bb72308d81739006b11d949d1e5906dbf6ce0704b15ebd72. Browser W5LE6VFB: human Ixian + Medium Tleilaxu + Hard Atreides from genuine setup, private starting-card refresh, Weather Control, mobile stronghold placement, then owned Brutal autopilot. Atreides won on turn 1; this short complete journey is not proof of every card or faction interaction. Finished private hand restored at phone width; expanded Poison Tooth was readable. Fixed-seed offline games 2026091301 (Basic) and 2026091302 (Advanced) both completed with both Ix factions. All 64 opening room versions/hashes are unchanged. One browser room and 30 HTTP rooms were added, totaling 95. Reused the running server; no restart or automation. Aggregate goal counters: 59,524,858 to 59,976,567 at completed verification, 451,709 tokens before final Git overhead. Two bounded workhorse helpers handled inventory/tests and independent review; one stable full check/build/HTTP run. Full game scope remains active and unfinished; future work prioritizes missing functional prototypes before exhaustive refinement and final acceptance.
This commit is contained in:
1 parent
194471e906
commit
5a76ae0410
12 files changed
+736
-9
No files matched your search
@@ -45,6 +45,12 @@ Likewise, the [Truthtrance readiness audit](TRUTHTRANCE_NONBATTLE_READINESS_2026
|
||||
|
||||
## Next milestone: rapid functional coverage
|
||||
|
||||
The first connected batch is the [Ixians & Tleilaxu prototype](IX_PROTOTYPE.md):
|
||||
genuine setup, both expansion factions, full Ix deck and Sandtrout, shared human/AI
|
||||
controls and saved continuation. The checklist now distinguishes its Prototyped
|
||||
development stage from Partial rules coverage. Discoveries remain missing; their
|
||||
seven spice cards and eight token faces need a verified inventory and adapters.
|
||||
|
||||
The user changed the development order on 13 September: get working prototypes
|
||||
of all remaining functions into the game, then use integration and play to find
|
||||
issues and refine them. Complete core certification no longer precedes independent
|
||||
|
||||
@@ -8,6 +8,9 @@ Start with [current status](CURRENT_STATUS.md) and [rule decisions](RULE_DECISIO
|
||||
Use [repeatable verification](VERIFICATION_WORKFLOW.md) for compact source-bound
|
||||
logs, private saved-game backups/comparisons and HTTP seat restoration.
|
||||
The [three-milestone pilot](EFFICIENCY_PILOT.md) records measurement limits.
|
||||
Use the [Ix prototype workflow](IX_PROTOTYPE.md) to connect a fresh local ready
|
||||
lobby to genuine expansion setup with a private backup and preserved sessions.
|
||||
It does not open normal mode gates or require restarting the server.
|
||||
|
||||
## Architecture map
|
||||
|
||||
|
||||
@@ -49,6 +49,15 @@ goal-steering overhead. It is an audit batch, not a new gameplay capability.
|
||||
|
||||
## User-directed rapid prototyping, 13 September 2026
|
||||
|
||||
The first batch starts at aggregate counter 59,524,858 and connects genuine Ix
|
||||
setup to the existing faction/card gameplay and saved browser table. One bounded
|
||||
helper inventoried existing work and implemented focused tests; a second reviewed
|
||||
setup privacy and the local database writer. The owner integrates the prototype
|
||||
entry, reusable backed-up starter, checklist and browser journey. Six added tests
|
||||
include two fixed-seed complete games without a calibration study. A saved-version
|
||||
review finding and a test typing error were fixed before the stable broad check;
|
||||
final results and counter endpoint are recorded in the checkpoint commit.
|
||||
|
||||
Prioritize functional coverage of the entire remaining game before exhaustive
|
||||
per-feature refinement. Use the existing checklist to distinguish missing,
|
||||
prototyped, integrated, verified and polished functions, and choose connected
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 13 September 2026 — Genuine Ix expansion prototype
|
||||
|
||||
Connected Basic/Advanced Ix setup with both expansion factions, the complete
|
||||
47-card Treachery Deck and Sandtrout through the existing game pipeline. A local
|
||||
prototype command backs up the named fresh lobby, starts it once with a version
|
||||
comparison, and preserves every seat and other room. The normal start gates
|
||||
remain closed. The checklist now separates Prototyped progress from Partial
|
||||
rules coverage. See [Ix prototype](IX_PROTOTYPE.md).
|
||||
|
||||
Six new focused tests cover private setup at all four profiles, exact starting
|
||||
forces, Face Dancers, cards, JSON restoration, immutable rejection and the local
|
||||
SQLite writer. Two reproducible full games use seeds 2026091301 (Basic) and
|
||||
2026091302 (Advanced), including both expansion factions and physical inventory
|
||||
checks. Review caught a saved JSON version mismatch, now corrected and covered.
|
||||
Browser room `W5LE6VFB` verifies genuine human Ixian setup, private refresh,
|
||||
Weather Control and mobile stronghold placement; owned autopilot then continues
|
||||
the same game. Final broad checks, later browser outcome and preservation results
|
||||
belong to the verified checkpoint. No complete expansion certification is claimed.
|
||||
|
||||
|
||||
## 13 September 2026 — Atreides full-plan interaction verification
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
# Ixians & Tleilaxu functional prototype
|
||||
|
||||
13 September 2026. This connects the existing expansion mechanics to genuine
|
||||
setup and an ordinary saved browser table. It is a **working prototype**, with
|
||||
rules coverage still partial. Normal Advanced/expansion start gates and the
|
||||
publication gate remain closed.
|
||||
|
||||
## Playable boundary
|
||||
|
||||
`initializeIxGameForAudit` uses the same staged setup as the game: prediction,
|
||||
private traitors, starting forces, private Ixian starting-card selection, then
|
||||
the automatic deal and first Storm. It accepts Basic or Advanced, two through
|
||||
six ready players, base factions plus Ixians and Tleilaxu, and exactly the Ix
|
||||
expansion. It includes the 47 physical Treachery Cards and the 22-card Spice
|
||||
Deck containing Sandtrout from the outset. It does not inject cards or change
|
||||
factions after setup. Tech Tokens, Stronghold Cards, Homeworlds, Nexus Cards and
|
||||
combined expansion decks remain separate integration work.
|
||||
|
||||
The actual player controls, private views, bot actions and saved game format
|
||||
are reused. The initializer cannot redeal a started or nonempty game, and no
|
||||
player action or HTTP endpoint dispatches it. Existing card outcomes and the
|
||||
interpretations documented in the [Ix deck](../game/reference.ts),
|
||||
[component inventory](COMPONENT_INVENTORY.md), [Ixian Cunning sources](NEXUS_IXIAN_CUNNING_RULES.md)
|
||||
and [setup contract](ADVANCED_SETUP_TEST_SEAM.md) are preserved. In particular,
|
||||
the Thumper/Sandtrout timing, repeated Harvester effects and remaining faction
|
||||
interactions are not settled by this prototype.
|
||||
|
||||
## Start a local prototype table
|
||||
|
||||
Create a **new** local browser room with the Ixians & Tleilaxu expansion selected,
|
||||
choose its human/AI factions, and mark everyone ready. Retain its room cookie.
|
||||
Use the current database version of that named lobby with:
|
||||
|
||||
```sh
|
||||
node --import tsx tools/start-prototype.ts \
|
||||
--db PATH_TO_LOCAL_D1_SQLITE \
|
||||
--room EIGHT_CHARACTER_CODE \
|
||||
--version CURRENT_LOBBY_VERSION \
|
||||
--out /private/new-prototype-checkpoint
|
||||
```
|
||||
|
||||
The output directory must be new and outside the repository. The command first
|
||||
captures an online backup and saved-room hashes, then initializes only that
|
||||
fresh ready Ix lobby. An atomic version-and-state comparison rejects a concurrent
|
||||
lobby change. It leaves every seat/recovery record and other room untouched.
|
||||
Its private result records the source revision/fingerprint and before/after
|
||||
versions. Refresh the invitation to continue through normal private setup.
|
||||
Keep the resulting game; rerunning setup on it is rejected. Reuse the running
|
||||
server—this workflow does not require a restart.
|
||||
|
||||
## Evidence and remaining work
|
||||
|
||||
`tests/ix-prototype.test.ts` exercises genuine Basic/Advanced setup at all four
|
||||
AI profiles, private Ixian choices, Face Dancer custody, starting hands and
|
||||
JSON restoration. Two complete mixed-profile games include both expansion
|
||||
factions, checking final force/card inventory and winners. These sample games
|
||||
do not prove every card was played or measure difficulty ordering.
|
||||
|
||||
`tests/prototype-room.test.ts` covers the local saved-room entry, unchanged
|
||||
sessions/other rooms, stale version and redeal rejection, and invalid lobby
|
||||
immutability. Independent review caught and fixed a missing JSON version update
|
||||
in the prototype writer; the database row and saved game now advance together.
|
||||
It uses in-memory SQLite. Browser room `W5LE6VFB` was created normally with a
|
||||
human Ixian, Medium Tleilaxu and Hard Atreides. It reached private traitor and
|
||||
starting-card choices through real setup, restored the same card offer after
|
||||
refresh, played Weather Control, placed the mobile stronghold at Sihaya Ridge 9
|
||||
and handed the owned seat to Brutal autopilot. No post-setup card/force staging
|
||||
was used. Its later outcome and final checks are recorded with the checkpoint.
|
||||
The earlier writer's version mismatch was corrected by the first ordinary
|
||||
game action; current browser state and database version were confirmed equal.
|
||||
Expand combination and rules coverage during
|
||||
the later refinement pass; continue prototyping independent missing functions.
|
||||
Reference in new issue
Block a user