Exercise Ecaz card variant and canonicalize advisor stances
This commit is contained in:
1 parent
6ac5dabdee
commit
c961a93f62
10 files changed
+185
-40
No files matched your search
@@ -6,6 +6,16 @@ Expansion starts and full rules/publication acceptance remain gated.**
|
||||
|
||||
## Current checkpoint and work
|
||||
|
||||
The independent Ecaz three-card variant now has a repeatable
|
||||
[genuine-game sample profile](VERIFICATION_WORKFLOW.md#reusable-base-and-faction-sample-games)
|
||||
for paired Ecaz/Moritani rosters from two to six seats. Ten Basic/Advanced
|
||||
games at base seed `20260929` completed with 3,768 accepted actions, zero
|
||||
rejected candidates and 95 JSON continuations; the six-seat Advanced game
|
||||
actually played Recruits, Reinforcements and Harass & Withdraw. That run
|
||||
exposed and confirmed a saved-view drift from unlocked Bene Gesserit advisor
|
||||
stances, now corrected at four arrival/movement writers. These samples do
|
||||
not certify all card interactions, full expansion modes or deployment.
|
||||
|
||||
The separate [Reinforcements card prototype](REINFORCEMENTS_RUNTIME.md)
|
||||
now works in clean Ecaz/Moritani expansion battles as well as classic-faction
|
||||
tables in Basic and Advanced. Genuine setup, owner-only two-slot controls,
|
||||
|
||||
@@ -1,5 +1,41 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 29 September 2026 — Ecaz card variant full-game integration samples
|
||||
|
||||
The reusable offline runner now has `--profile ecaz-treachery`: two through
|
||||
six genuine paired Ecaz/Moritani seats, each Basic and Advanced, with the
|
||||
independent three-card deck, physical custody checks, all four saved AI
|
||||
profiles and explicit JSON continuation. Its default six historical games
|
||||
and seed offsets remain unchanged; incomplete snapshots can resume only
|
||||
under the exact saved variant/roster. Public starts remain gated.
|
||||
|
||||
The first same-seed matrix completed eight of ten games and caught an actual
|
||||
saved-view mismatch: an unlocked Bene Gesserit advisor stance was stored as
|
||||
`{lockedTurn:undefined}` by movement, Guild transport, Junction transport or
|
||||
Fremen Ambassador relocation, but JSON restored it as `{}`. The four writers
|
||||
now store a canonical empty stance or a numeric lock. Focused Guild,
|
||||
Junction, ordinary move and Fremen relocation cases preserve view parity
|
||||
after JSON; locked arrivals still retain their original turn. No saved room
|
||||
or credential was altered.
|
||||
|
||||
The final source-bound run at base seed `20260929` completed all ten games:
|
||||
3,768 accepted actions, no rejected candidates, 95 JSON continuations and
|
||||
unchanged source fingerprint. The six-seat Advanced game used all three
|
||||
physical Ecaz card effects. Report:
|
||||
`/tmp/dune-ecaz-treachery-matrix-final-20260929/report.json`, based on
|
||||
`6ac5dab` plus the uncommitted source changes of this checkpoint (source
|
||||
fingerprint `466f801d36e8dc9aa1b14d2c9215813c8b4561926cc2ba43664d38e03ebbb081`).
|
||||
This samples playable continuation, not complete card interactions,
|
||||
combined-module acceptance, calibrated AI or deployed behavior.
|
||||
|
||||
The focused runner/advisor suites pass 101/101 cases. An independent
|
||||
read-only review of the four writer changes, source custody and resume gates
|
||||
found no concrete defect; it did not run tests or certify release readiness.
|
||||
|
||||
`npm run check` passes typecheck, lint and 5,765/5,765 offline cases;
|
||||
`npm run build` passes. No database schema or HTTP route changed.
|
||||
The last verified live image predates these changes.
|
||||
|
||||
## 29 September 2026 — Reinforcements in paired Ecaz/Moritani battles
|
||||
|
||||
The independently selected three-card Ecaz variant now allows its physical
|
||||
|
||||
@@ -111,6 +111,7 @@ node --import tsx tools/faction-games.ts --out /tmp/dune-new-homeworld-nexus --p
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-choam-roster --profile choam-roster
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-ecaz-roster --profile ecaz-roster
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-ix-roster --profile ix-roster
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-ecaz-cards --profile ecaz-treachery
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-choam-nexus --profile choam-nexus
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-ecaz-nexus --profile ecaz-nexus
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-ix-nexus --profile ix-nexus
|
||||
@@ -124,8 +125,9 @@ Default and `--profile all` retain the original six fixed CHOAM/Richese,
|
||||
Ecaz/Moritani and combined Basic/Advanced samples. `--profile base` selects ten
|
||||
additional samples: Basic and Advanced with two through six players.
|
||||
`--players 2..6` narrows the base, Homeworld, Nexus, combined
|
||||
`homeworld-nexus`, expansion-roster or paired-Nexus profiles. The
|
||||
`combined-nexus` and `combined-homeworld-nexus` profiles support `--players 5`
|
||||
`homeworld-nexus`, expansion-roster, paired-Nexus, independent Ecaz-card or
|
||||
Leader Skills profiles. The `combined-nexus` and
|
||||
`combined-homeworld-nexus` profiles support `--players 5`
|
||||
or `6` only. Omission or `all` retains every roster in a selected profile. The fixed
|
||||
base roster adds Atreides, Harkonnen, Fremen, Emperor, Guild and Bene Gesserit
|
||||
in that order. These are sample rosters, not the only rules-permitted
|
||||
@@ -136,6 +138,11 @@ respective physical expansion enabled: CHOAM/Richese start with CHOAM then
|
||||
Richese, Ecaz/Moritani with Moritani then Ecaz, Ixian/Tleilaxu with Ixians
|
||||
then Tleilaxu. Subsequent seats extend each to six without changing existing
|
||||
fixed four-seat samples. Their seed offsets are 68–77, 78–87 and 88–97.
|
||||
`ecaz-treachery` reuses the two-through-six-seat Ecaz/Moritani roster with the
|
||||
independent three-card Treachery variant instead of Nexus Cards. Basic and
|
||||
Advanced seed offsets are 136–145; default/all keeps its original six games.
|
||||
The runner counts all three physical cards and resume requires the variant
|
||||
marker and exact roster. This is still a gated development profile.
|
||||
`choam-nexus`, `ecaz-nexus` and `ix-nexus` reuse the respective expansion
|
||||
rosters with Nexus Cards enabled at seed offsets 98–107, 108–117 and 118–127.
|
||||
`combined-nexus` selects five or six actual expansion factions and all three
|
||||
@@ -153,6 +160,17 @@ rosters use 40–47. The combined module uses offsets 58–67. These samples
|
||||
do not open public module or expansion starts or assert complete interaction
|
||||
coverage.
|
||||
|
||||
At base seed `20260929`, the Ecaz-card profile completed all ten
|
||||
two-to-six-seat Basic/Advanced samples with 3,768 accepted actions, no
|
||||
rejected candidates and 95 JSON continuations. The six-seat Advanced trace
|
||||
includes Recruits, Reinforcements and Harass & Withdraw actual uses. The
|
||||
private source-bound report is
|
||||
`/tmp/dune-ecaz-treachery-matrix-final-20260929/report.json`. The first
|
||||
matrix exposed a non-serializable unlocked advisor stance; its corrected
|
||||
writer paths are documented in
|
||||
[the implementation log](IMPLEMENTATION_STATUS.md#29-september-2026--ecaz-card-variant-full-game-integration-samples).
|
||||
This is not expansion release evidence.
|
||||
|
||||
All-AI Nexus samples now make public reciprocal offers as well as accepting
|
||||
them, so an actual alliance can form without a human proposer. At the
|
||||
20260927 seed, each six-seat sample made six alliance actions and completed;
|
||||
@@ -181,11 +199,11 @@ Advanced requests fail before running. Its seed offsets are 16–20, leaving
|
||||
existing samples unchanged. The full fourteen-card skill census and ordinary
|
||||
Moritani/base Traitor census are checked throughout. `--resume` preserves this
|
||||
explicit profile; other optional modules still fail its admission checks.
|
||||
Homeworld, Nexus and combined snapshots resume only when their saved modules
|
||||
and fixed rosters match a supported profile; other optional module
|
||||
combinations remain excluded. An edited snapshot with a removed module can
|
||||
match a different fixed profile, so verify its original private report
|
||||
before relying on resumed provenance.
|
||||
Homeworld, Nexus, independent Ecaz-card and combined snapshots resume only
|
||||
when their saved modules and fixed rosters match a supported profile; other
|
||||
optional-module combinations remain excluded. An edited snapshot with a
|
||||
removed module can match a different fixed profile, so verify its original
|
||||
private report before relying on resumed provenance.
|
||||
|
||||
All samples use genuine setup and saved AI profiles, cycling Easy, Medium,
|
||||
Hard and Brutal by seat. Smaller games necessarily contain fewer profiles;
|
||||
|
||||
Reference in new issue
Block a user