Connect Basic Moritani to the full Leader Skills prototype
Admit the genuine private setup profile for Basic Moritani with base opponents, exactly the Ecaz expansion and no other optional modules. Keep all14 physical skills, private two-card offers, starting-card/Traitor order and Moritani's final six-force placement. Public starts and complete-mode/publication gates remain. Share public profile eligibility across Banker, Diplomat, Sandmaster movement and worm riding, Smuggler shipping/collection, Bureaucrat payments, Planetologist controls/bots and Suk/Rihani/Sandmaster battle settlement. Admission reads no hidden cards or random deal. Preserve base/CHOAM boundaries and existing source questions; no full AI implementation, strategy or calibration changes. Genuine setup regressions cover all14 assignments, legal profiles and guards, Terror Assassination death and exact skill return, optional own revival draw/privacy, Sabotage, movement controls/bots, Smuggler shipment and Bureaucrat paid bribes. Battle actions cover Rihani exchange, Sandmaster spice, Banker funds, Suk casualties and Smuggler collection. Actual enemy alliances prove losing-ally retention excludes mandatory Planetologist Special and Diplomat-copy disposal. A real worm/Nexus ride collects Sandmaster spice once. Authenticated in-memory SQLite restarts and concurrent skill choices preserve one assignment, private offers, saved seats and final Moritani placement. Conserved staged positions are explicitly distinct from played phase histories. Add a reproducible moritani-skills profile to the existing faction-game runner, including fixed2-6-player Basic rosters, seed offsets16-20 and saved resume. Verify expected module presence, all14 physical skills and ordinary Traitor custody alongside existing card/force/private-view checks. Default six expansion samples and base samples retain their rosters/ordinals. No live DB is used by these complete-game samples. CLI regressions check interrupted continuation and Advanced refusal; corruption tests catch lost cards and entire module loss. Independent review caught an old all-base worm guard and a sample checker that missed whole-module deletion; both fixed with meaningful regressions and reviewed. Initial edits had a stale helper reference and final lint found an unused import; these were corrected. Types, lint, all 5034 offline tests and build pass on stable final source. Five genuine complete-game samples passed with no rejected actions:2 players189 actions/5 restores,3 players53/1,4 players862/23, 5 players116/3 and6 players1338/36. These are legality samples, not calibration or exhaustive faction/card acceptance. No endpoint/auth/storage changes; existing HTTP suite not repeated, while new authenticated storage and live browser actions exercise the newly admitted profile through production boundaries. Browser created a fresh Basic human Moritani/Easy Emperor lobby, then the existing backed-up local initializer started that named ready room without replacing seats. Human inspected both Killer Medic bands, assigned Lupino Ord, chose a private Traitor and placed six in Polar Sink after all other setup. Refresh preserved the two public skills, own hand/Traitor and6 deployed/14 reserves at pending Storm. Mobile skill panel339px, client/scroll337; viewport restored afterward. Screenshot capture timed out, so full visual/screen-reader acceptance stays open. All 1580 opening games, 3348 saved seats and auxiliary rows remain identical. One isolated QA game adds one human seat and entry receipt; its row is unchanged after setup through refresh, with all seats unchanged. SQLite integrity and foreign keys pass. No server restart, migration, reset or recurring automation. Existing unfinished Leader Skill bands and material rulings remain explicit in the new integration guide and internal checklist. Private evidence: 20260921-moritani-skills. Verified source tree: d5078661ecc2199b2bbfebd18034b16585d06410a697a78dc514bfa5b3b77a1c
This commit is contained in:
1 parent
e7e16024b7
commit
489bd3265d
29 files changed
+1474
-126
No files matched your search
+24
-25
@@ -6,33 +6,32 @@ gated.** Prototypes do not open completion or publication gates.
|
||||
|
||||
## Current checkpoint and work
|
||||
|
||||
Latest delivered checkpoint: `de26aaf`, [Ecaz Loyalty](ECAZ_LOYALTY.md).
|
||||
Types, lint, **5,012 offline tests**, production build and **49 HTTP tests** passed.
|
||||
Six genuine faction-game samples completed with no rejected actions. A fresh
|
||||
Advanced Ecaz/Harkonnen browser setup preserved the public set-aside card through
|
||||
Traitor/force choices and refresh. All 1,539 opening rooms, 3,259 human seats and
|
||||
auxiliary rows stayed unchanged; isolated QA/HTTP fixtures brought the baseline
|
||||
to 1,579 rooms and 3,347 human seats. Screenshot capture timed out. The healthy
|
||||
server was reused. Earlier checkpoints include `c2f24fc` for public faction sheets
|
||||
and `e3cfd82` for private-hand browsing.
|
||||
Latest delivered checkpoint: `e7e1602`, [revealed battle components](REVEALED_BATTLE_COMPONENTS.md).
|
||||
Types, lint, **5,017 offline tests** and the production build passed. The shared
|
||||
public display retains direct inspection across decision ownership; browser
|
||||
checks covered genuine plan sealing, keyboard navigation, mobile layout and
|
||||
refresh after an explicitly staged conserved battle. All 1,579 opening rooms,
|
||||
3,347 human seats and auxiliary rows stayed unchanged. One new QA room/seat
|
||||
brings the preservation baseline to 1,580 rooms and 3,348 human seats. Screenshot
|
||||
capture timed out; full visual acceptance remains open. The healthy server was
|
||||
reused. Earlier checkpoints include `de26aaf` for [Ecaz Loyalty](ECAZ_LOYALTY.md).
|
||||
|
||||
Current work: [revealed battle components](REVEALED_BATTLE_COMPONENTS.md) adds
|
||||
public dials, leader portraits and readable used-card faces in one shared area,
|
||||
with direct inspectors and navigation to pending decisions. Sealed plans and
|
||||
private hands stay separate. Focused checks, independent review, browser QA and
|
||||
final check/build/saved-preservation evidence accompany this presentation work.
|
||||
The separate Bureaucrat/Emperor gift question is pending.
|
||||
The `8f7a62c` policy checkpoint removed usage checks/cutoffs and deferred AI
|
||||
refinement until feature completion, followed by three adjacent 75% targets.
|
||||
Current work: [Basic Moritani with Leader Skills](MORITANI_LEADER_SKILLS.md)
|
||||
connects the full fourteen-card deck with base opponents and no other optional
|
||||
modules. Coordinated public-profile guards connect movement, shipment, payment
|
||||
and battle effects; focused tests cover Terror death/revival, real alliance
|
||||
retention exclusions and authenticated saved choices. A reusable two-through-six
|
||||
player sample profile exercises legal continuation. Final results and browser,
|
||||
independent review, preservation and Git evidence accompany this checkpoint.
|
||||
|
||||
The next concrete gameplay milestone is **Basic Moritani plus Leader Skills**
|
||||
with base opponents and no other optional modules. A bounded current-code review
|
||||
found no new Moritani-specific ruling, but widening setup alone is insufficient:
|
||||
coordinate Banker, Diplomat, Sandmaster, Smuggler, Bureaucrat, Planetologist and
|
||||
battle/victory public-profile guards, keep the full fourteen-card deck, and test
|
||||
Terror leader death, skill return and revival through real continuations. Do not
|
||||
hide unsupported cards after a random deal or claim complete combination support.
|
||||
This provides a concrete dependency-ordered integration target for the next pass.
|
||||
The remaining Leader Skills effects and source questions retain their explicit
|
||||
boundaries; admitting Basic Moritani does not finish the module. Next integration
|
||||
work should assess the remaining faction/module dependencies against these new
|
||||
shared profile checks, without reducing the physical deck or hiding unsupported
|
||||
cards after dealing. Advanced Moritani and Ecaz/Skills remain separate gates.
|
||||
The Bureaucrat/Emperor gift question is still pending. The `8f7a62c` policy
|
||||
checkpoint removed usage checks/cutoffs and deferred full AI work until feature
|
||||
completion, followed by three adjacent 75% targets.
|
||||
|
||||
The reviewed remaining native Ecaz/Moritani effects, Duke revival and Richese
|
||||
empty-cache auction arithmetic still cross recorded source questions; Loyalty is
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 21 September 2026 — Basic Moritani with Leader Skills
|
||||
|
||||
The existing private initializer now connects Basic Moritani with base opponents
|
||||
and the full fourteen-card skill deck. Shared public-profile guards cover the
|
||||
movement, shipment, payment and battle paths; Terror death/revival and ally
|
||||
retention compose with physical skill/card custody. Focused genuine-setup tests,
|
||||
authenticated concurrent recovery and a reusable two-through-six-player sample
|
||||
profile accompany the [integration contract](MORITANI_LEADER_SKILLS.md). Existing
|
||||
unfinished effects, Advanced/other roster combinations and publication gates
|
||||
remain explicit; private checkpoint reports record actual final evidence.
|
||||
|
||||
## 21 September 2026 — public battle component display
|
||||
|
||||
Revealed plans now share one table area with exact dials, played leader portraits
|
||||
|
||||
@@ -7,6 +7,11 @@ records the fresh publisher/designer search requested by the user.
|
||||
|
||||
## Connected boundary
|
||||
|
||||
The [Basic Moritani follow-up](MORITANI_LEADER_SKILLS.md) now connects Moritani
|
||||
with base opponents and no other optional modules. It preserves all fourteen
|
||||
cards and existing unfinished-effect boundaries. The older base-only scope
|
||||
descriptions below are extended only by that explicit integration contract.
|
||||
|
||||
Genuine Basic or Advanced setup supports two through six base factions. Starting
|
||||
Treachery Cards, including Harkonnen's extra card, precede simultaneous private
|
||||
two-card skill offers. Every faction selects one physical skill and an eligible
|
||||
@@ -74,7 +79,7 @@ Captured-card replacement entitlement remains unresolved. The prototype rejects
|
||||
own-leader revival while its original skill is captured, before beginning a
|
||||
paid revival or consuming the Ghola/special-Karama action. This is an explicit
|
||||
unsupported boundary, not a ruling that the physical game forbids that revival.
|
||||
Foreign gholas, expansion rosters and combined optional modules remain gated.
|
||||
Foreign gholas, other expansion rosters and combined optional modules remain gated.
|
||||
Before enabling them, add response-driven automatic revival continuation
|
||||
coverage; the current before/after revival observer does not certify deferred
|
||||
Tleilaxu response chains. The other source-contract timing questions also remain
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
# Basic Moritani with Leader Skills
|
||||
|
||||
Connected development prototype, 21 September 2026. Basic rules, Moritani and
|
||||
two through six total seats with base-faction opponents now use the full
|
||||
fourteen-card Leader Skills deck. Public starts and publication remain gated;
|
||||
this integrates existing effects, not complete Leader Skills compliance.
|
||||
|
||||
## Public configuration and setup
|
||||
|
||||
The existing `leader-skills` local initializer accepts exactly `['ecaz']`,
|
||||
Basic rules, Moritani plus base factions, and no other optional modules. It
|
||||
does not enable Ecaz, Advanced assassination, the separate Ecaz Treachery
|
||||
variant, Homeworlds, Nexus, Discoveries, Tech Tokens or Stronghold Cards with
|
||||
this roster. Existing base and CHOAM/Richese profiles retain their boundaries.
|
||||
Admission uses only public configuration, never hidden hands or the random deal.
|
||||
|
||||
Starting Treachery Cards and the ordinary private two-card skill offers precede
|
||||
Traitors. Every physical skill remains eligible for Basic Moritani assignment;
|
||||
there is no reduced deck or card-specific admission workaround. Moritani places
|
||||
its six starting forces after the other setup choices. Existing human controls,
|
||||
private offers, public assignments and minimal legal AI choices are reused.
|
||||
|
||||
## Connected interactions
|
||||
|
||||
Shared public-profile checks connect Banker spending, Diplomat base-defense
|
||||
copying, Sandmaster ground/worm collection, Smuggler shipping/battle collection,
|
||||
Bureaucrat payment redirection and Planetologist movement across engine,
|
||||
projection, controls and bots. Suk casualty rescue, Rihani exchanges and
|
||||
Sandmaster victory spice use the same expanded battle boundary. Printed leader
|
||||
strength stays distinct from skill bonuses and bounty calculations.
|
||||
|
||||
Terror Assassination kills an ordinary skilled leader under the existing Terror
|
||||
rules and returns its exact physical skill once. A later own-leader revival
|
||||
offers an optional draw before revealing either card; the drawn choice remains
|
||||
private through saved continuation. Sabotage affects Treachery custody only.
|
||||
An Enemy of My Enemy alliance changes allies without transferring assignments.
|
||||
The losing ally's retention choice excludes a used Planetologist Special and a
|
||||
Diplomat copied Worthless card, since both must be discarded after use.
|
||||
|
||||
These are compositions of the recorded [Leader Skills contract](LEADER_SKILLS_RULES.md),
|
||||
[Terror Assassination](MORITANI_ASSASSINATION_SNEAK.md),
|
||||
[enemy alliance](MORITANI_ENEMY_ALLIANCE.md),
|
||||
[ally retention](MORITANI_ALLY_RETENTION_RULES.md),
|
||||
[Planetologist](PLANETOLOGIST_RULES.md) and [Diplomat](DIPLOMAT_DEFENSE.md)
|
||||
contracts. No new publisher ruling is asserted. Existing Atomics/Extortion,
|
||||
exceptional assassination pools and competing-arrival questions remain explicit.
|
||||
|
||||
## Remaining work
|
||||
|
||||
The [Leader Skills runtime](LEADER_SKILLS_RUNTIME.md) retains unfinished normal
|
||||
Banker income, ordinary Mentat-question activation, Diplomat retreat, modified
|
||||
Smuggler collection, captured replacement entitlement and other source gaps.
|
||||
The private Mentat question preview has not been enabled for this roster.
|
||||
Basic Moritani admission does not settle those effects or certify every valid
|
||||
expansion/module combination. Advanced Moritani, Ecaz, Ixians and Tleilaxu need
|
||||
their own integration, including the recorded deferred Tleilaxu revival timing.
|
||||
Full AI strategy and difficulty calibration still wait for feature completion.
|
||||
|
||||
## Reproducible entry and verification
|
||||
|
||||
Create a fresh Basic lobby with Ecaz & Moritani selected, seat Moritani and only
|
||||
base opponents, and ready every human. Preserve the room cookie and run the
|
||||
existing backed-up, version-checked local tool:
|
||||
|
||||
```sh
|
||||
node --import tsx tools/start-prototype.ts --profile leader-skills \
|
||||
--db PATH_TO_LOCAL_D1_SQLITE --room EIGHT_CHARACTER_CODE \
|
||||
--version CURRENT_LOBBY_VERSION --out /private/new-moritani-skills
|
||||
node --import tsx tools/faction-games.ts --profile moritani-skills \
|
||||
--out /private/new-moritani-skills-samples
|
||||
npm test -- moritani-skills
|
||||
```
|
||||
|
||||
The sample profile runs Basic games at two through six seats, adding Emperor,
|
||||
Guild, Harkonnen, Fremen and Bene Gesserit in that order. It preserves all four
|
||||
existing difficulty profiles and verifies Treachery, skill, Traitor and force
|
||||
custody, rejected-action immutability and periodic JSON/private-view restoration.
|
||||
Separate genuine-setup focused tests include Atreides. These are legal-play
|
||||
samples, not calibration or exhaustive roster/skill coverage. Interrupted games
|
||||
can use the existing `--resume` path, which retains the full module and roster.
|
||||
|
||||
Focused regressions exercise every physical skill assignment, public guards,
|
||||
movement controls, legal bot choices, Terror death/Sabotage, revival, payment,
|
||||
battle effects, real alliances and mandatory retention exclusions. Authenticated
|
||||
in-memory SQLite restart and concurrent choices verify one physical assignment,
|
||||
private offers, preserved seats and the final Moritani placement. Conserved
|
||||
staged phase/battle positions are labeled rather than claimed as played games.
|
||||
|
||||
Private source-bound final checks, sample results, browser observations,
|
||||
saved-game preservation and Git delivery live under `20260921-moritani-skills`
|
||||
outside the checkout. Actual outcomes and remaining limitations are recorded in
|
||||
the commit message; no saved game is reset or discarded for verification.
|
||||
@@ -6,6 +6,7 @@ Updated 14 September 2026. This is the authoritative navigation index for existi
|
||||
|
||||
| Topic | Decision to preserve | Detailed authority and evidence |
|
||||
| --- | --- | --- |
|
||||
| Basic Moritani / Leader Skills | Ordinary Terror death returns the assigned skill once; own revival offers the existing private optional replacement. Sabotage does not take skills, alliances do not transfer assignments, and mandatory Planetologist/Diplomat disposal excludes those cards from ally retention. This is composition of existing contracts, not a new ruling or resolution of unfinished skill effects. Advanced and other roster/module combinations remain gated. | [Integration contract](MORITANI_LEADER_SKILLS.md) |
|
||||
| Ecaz Loyalty | Before initial Traitor dealing, randomly set aside one native Ecaz card face up permanently. No Karama effect; no change to its leader disc. Resolving after existing pre-Traitor setup is an explicit sequencing composition. Older dealt saves are not retrofitted; combined Skills/assassination rosters remain gated. | [Official sources and runtime](ECAZ_LOYALTY.md) |
|
||||
| Sapho battle order | First/last reorders remaining Battle-phase choosers at clean boundaries. Phase priority persists through aftermath; actual legal pairs determine eligibility. Separating the chooser from physical attacker/tie advantage is an explicit implementation interpretation of the card's distinct alternatives, not a dedicated FAQ ruling. Last does not prevent others from choosing the holder as an opponent. | [Runtime scope and source interpretation](SAPHO_BATTLE_ORDER.md) |
|
||||
| Harass & Withdraw | Either slot but neither category; private Prescience answers null. Return uniquely determined own undialed physical forces before weapon losses, canceled by an opposing successful Traitor. Mandatory after-use discard overrides winner retention. Explosion ordering and own-Traitor disposal are explicit timing/specificity inferences, consistent with the recorded Planetologist precedent. | [Runtime and sources](HARASS_WITHDRAW_RUNTIME.md) |
|
||||
|
||||
@@ -34,6 +34,8 @@ An interrupted or incomplete report is never evidence of success.
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-faction-games
|
||||
# Ten genuine base samples: Basic and Advanced at each player count.
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-base-games --profile base
|
||||
# Basic Moritani with the full Leader Skills deck, two through six seats.
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-moritani-skills --profile moritani-skills
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-base-three --profile base --players 3 --rules advanced
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-combined --profile combined --rules advanced --seed 20260926
|
||||
node --import tsx tools/faction-games.ts --out /tmp/dune-new-resume --resume /private/failed-combined-advanced.json
|
||||
@@ -47,6 +49,13 @@ five counts. The fixed base roster adds Atreides, Harkonnen, Fremen, Emperor,
|
||||
Guild and Bene Gesserit in that order. These are sample rosters, not an assertion
|
||||
that these are the only rules-permitted player-count configurations.
|
||||
|
||||
`--profile moritani-skills` adds five Basic samples with Moritani, then Emperor,
|
||||
Guild, Harkonnen, Fremen and Bene Gesserit. `--players` also narrows this profile;
|
||||
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.
|
||||
|
||||
All samples use genuine setup and saved AI profiles, cycling Easy, Medium,
|
||||
Hard and Brutal by seat. Smaller games necessarily contain fewer profiles;
|
||||
the matrix collectively exercises all four. Filters retain each scenario's
|
||||
|
||||
Reference in new issue
Block a user