Files
Dune/docs/HOMEWORLD_RUNTIME_IMPLEMENTATION.md
T

38 KiB
Raw Blame History

Homeworld setup and native reserve runtime

9 September 2026. This checkpoint connects the physical Homeworld model to the authoritative game, player table and AI. Public Homeworld starts remain disabled. It does not certify Homeworld battles, occupation, card effects or complete Advanced/expansion games. The earlier component checkpoint remains in HOMEWORLD_IMPLEMENTATION.md.

Mixed E1/E2 and paired E3 Nexus — 7 October 2026

Original Homeworld/Nexus now composes natives from both selected Ix+CHOAM families/union47 or both Ecaz+Moritani/ecaz33 with classics, optionally all14 Skills/Discovery7/8/Tech3+/Advanced Strongholds2+. Original typed native/visitor custody, source-local winning rescue/residual substitution, shared Duke, native assassination and printed payer ledgers are reused.

312 original admissions,31 programmes plus two Loyalty-stock regressions, final489/489 checks across42 files and qualified258/288 original games retain30 printed source stops. Actual390px mixed Ixian native2/1 shipping and one-normal/one-Cyborg world transport charge the original four/two spice; actual paired Ecaz native1 transport costs one, then native Cunning takes the separate living Duke with no extra debit. Both public inspectors show20 counters. No new return adapter, played-save conversion or complete-mode/deployment gate is opened. Canonical qualified evidence.

Single-native E1/E2 Nexus composition — 7 October 2026

Original Homeworld/Nexus now composes exactly one Ixians OR Tleilaxu, or CHOAM OR Richese, with classics and one family deck, with or without Skills. Discovery7/8, Tech3+ and Advanced Strongholds2+ remain optional. Typed native, visitor and nested rescue, residual Cyborg substitution, printed own-disc revival training, physical Face Dance and signed Richese one-invoice marker pairs reuse the original consumers. Canonical source-qualified verification records192 setup admissions,15 programmes/398 affected checks and190/192 completed original games across two frozen trees. Actual390px native typed Cistern entry/equal Cyborg exchange and signed five-plus-three reveal keep 20 physical counters. Paired predicates still require both natives; printed ruling and complete-mode/protected deployment gates remain.

Standalone E3 Nexus without Skills — 6 October 2026

Fresh original Ecaz OR Moritani/classic Nexus now retains Homeworlds with no Skills, optional Discovery7/8, Tech3+ and Advanced Strongholds2+. Original ecaz33/all12, native setup, typed pools and roster/effect exclusions remain. Generic Nexus setup reuses the original faction flag; no parallel initializer or return adapter is added.

Actual human native Ecaz2 free Cistern entry, paid Junction visitor1 and living-Duke Cunning retain native11/Imperial6/Cistern2/visitor1. Original Mori supply Cunning/paid Guild1 Polar arrival/human Assassination reveal consume one Nexus/token and kill the actual Staban once for its printed5. Full canonical source/game/human receipts records372 affected checks and46/48 completed original games across two frozen source trees. No full-mode, new ruling or protected deployment claim.

Native Homeworld Nexus composition — 6 October 2026

Fresh original paired Ixians+Tleilaxu OR CHOAM+Richese entries now retain Homeworlds/all12 Nexus with Skills, Discovery or both and optional original Tech3+/Advanced Strongholds2+. The no-Skills/no-Discovery paired module entry retains Tech and/or Advanced Strongholds. Standalone Ecaz OR Moritani with classic opponents retains Homeworld/Nexus with all14 Skills, optionally Discovery7/8 and those industry/card modules. Basic/Advanced2–6 follows each existing roster predicate; Advanced Harkonnen and Duke/assassination exclusions remain. Native singles/mixed-deck Nexus and no-Skills E3 module families remain separate, not outside the complete goal.

The existing private skill/Nexus, paired Nexus module and paired Discovery/ Nexus envelopes are amended; original setup/initializers remain. Actual Ixian pre-training offers precede native placement. Richese Cunning now uses these existing Homeworld paired envelopes, not an Arrakis-only fallback. No new revival/deposit adapter, public start or played-save conversion is added. Revision physical PDF21–23 permits optional variants together/separately regardless of seated factions; printed Nexus faces retain their separate effect authority and pending interpretations.

Fifteen meaningful cases in two original programme pairs and the affected 25-file union307/307 pass. Typed native/visitor Suk, residual Cyborg Tank substitution, nested single-invoice marker materialization, held support, original cleanup/Tech, Moritani assassination/death/own revival and quiet living-Duke Cunning retain original physical sources. Foreign-Homeworld Face Dance suppression remains; Ecaz Arrakis Occupy does not become Homeworld Occupy or Intrusion. All four minimal legal policies consume real owned windows. Free native strength is not free dialed-force support; CHOAM support income settles after Suk/cleanup and excludes its own plan.

Fixture corrections use actual leader-death rewards, typed rescue returns, affordable declarations, real turn-six Charity and available untrained later-battle leaders after posture closes. No wallets, forces, deaths or outcomes are injected. An older copied-hand/staged-army test with “authenticated” player names but no HTTP authentication is deleted, not re-pinned; actual original HTTP/private-CLI human evidence follows below.

Twenty-three new runner profiles retain stable bands10300–12500, leaving older names/seeds unchanged. Families are paired-homeworld-nexus-skills, paired-homeworld-nexus-discovery, paired-homeworld-nexus-discovery-skills, e3-homeworld-nexus-skills and e3-homeworld-nexus-discovery-skills, each optionally -tech, -stronghold or -stronghold-tech; no-Skills/no-Discovery paired profiles are paired-homeworld-nexus-tech, -stronghold and -stronghold-tech. Original prerequisite guards and exact resume dispatch remain authoritative.

Across all23 families,59 of68 original six-seat Basic/Advanced samples complete71,137 accepted/71,484 attempted actions with1,894 JSON continuations on unchanged source tree d5083acd4842b98e6ccdb753354c36b50f840726248d6d952db8c8835478509e (HEAD 71bc325). Every report's before/after receipt is read. Nine original captures retain existing guards: seven low-CHOAM opening-income cases, one Basic odd-force Ecaz Occupy and one Imperial revival crossing a Homeworld high threshold. Their actual rejected trace reasons are read; none is bypassed or rerun to confirm. This is not68 uninterrupted completions or a later documentation-tree certificate. Reports and captures remain at /tmp/dune-native-{profile}-six-seat-20261006, seed20268006.

Human390px AB7UKV8K uses its original four-human Richese/CHOAM/Guild/Fremen HTTP lobby and original nexus --discoveries CLI, with Homeworld/Tech/Strongholds selected beforehand. Original Traitors and legal Fremen placement complete. Only conserved original unplayed Spice/Nexus order is selected; the actual supply lottery yields Cistern, not a staged token. Guild's native3 paid shipment, actual peek/reveal and next-turn free parent entry precede real Maker majority, both Advanced piles, Guild/Fremen alliance and closing draw. The human draws the actual Richese singleton, then uses the Cunning surface to reveal5 and conceal3 inside Cistern. Original Guild approval commits one-spice invoice: wallet5→4, native reserves20→15 and Cistern5 plus the concealed marker. Actual human revelation materializes the other3: atv145, native reserves12/Cistern8, Tanks0, no concealed marker, wallet4 unchanged. The fresh public inspector shows20 physical counters, not marker strength.

Human390px 8Q2WZQMA uses its original Ecaz/Guild/Bene Gesserit lobby and leader-skills --nexus-cards CLI with Homeworld/Tech/Strongholds. Actual Prediction precedes its random Diplomat/Warmaster offer; the human chooses Warmaster on the original eligible Sanya Ecaz disc without redealing. Both other actual trainings and native placement complete. Real first turn, both second-turn piles, Guild/BG alliance and closing draw precede the human Ecaz singleton draw. The human ships1 actual native counter to Wallach IX for1; reserves14→13, separate visitor1, BG native19 unchanged. At the actual quiet Battle window the human spends Ecaz Nexus for the living unclaimed Duke. Atv88, Duke control is Ecaz, the card is gone, original Sanya/Warmaster remains alive and uncaptured, and the v87/v88 purse stays12. Ordinary phase-opening income is separate from the shipment/Cunning. The fresh inspector shows13 native reserves, Imperial Basin6 and Wallach1.

Fresh choice/result accessibility and screenshots observe both original 390px surfaces with document width390. These bounded programmes do not certify complete modes, all combinations, comprehensive assurance, calibration, pending rulings or protected deployment.

Final types/lint/build pass. The first guide load after rebuilding beneath the owned QA worker fails its old lazy-chunk request; an owned-only worker restart loads the new native composition and307-check evidence at390px. The originalv145/v88 changed-path states retain their counters, Duke and training. All three managed tabs close; both temporary TypeScript helpers are removed. Private source reports, captures and credential-free human action/result receipts remain outside Git.

Gameplay checkpoint 2efa10a9d6d1f60e3725404f5d0a4b36de596732 is pushed, rebuilt exactly and loaded into the owned isolated QA worker. Both original v145/v88 tables show that full Git revision at390px with retained counters, living Duke and original training. The updated native Homeworld guide and 307-check evidence render at document390. All three exact-checkpoint tabs close. Final container run37537171148/job112521014337 completes successfully: isolated verification7 finishes before publication9 in the workflow. The final job record is read; this is verified image publication, not protected-server deployment.

Classic Homeworld Nexus composition — 6 October 2026

Fresh classic Basic/Advanced2–6 now composes original Homeworlds/all12 Nexus with all14 Skills, Discovery7/8 or both, optionally original Tech3+ and Advanced Strongholds2+. Without Skills/Discovery, original Homeworld/Nexus additionally retains Tech and/or Advanced Strongholds. Existing nexus with optional --discoveries, and leader-skills --nexus-cards with optional --discoveries, remain the only private setup paths. Original base33, private offers/hands, native placement and unchanged fresh-inventory guards remain; no public start, new profile initializer or saved-game conversion. Native Homeworld/Nexus optional-module families remain separate.

Eight original admission cases reject before the amendment and reach original Traitors/Skills afterward. Three existing classic envelopes are extended; native predicates remain authoritative. The existing addRevivedReserves/quoteNativeRevivalDeposit already routes actual native returns, so no second revival adapter is added. The fixed Emperor grant uses the existing classic Nexus module predicate, including its Discovery route. Printed Nexus faces retain their own source authority; the supplied revision21–23 supplies the other variant and Homeworld mechanics.

Thirteen semantic cases and the affected20-file union242/242 pass; final types/lint/build pass. Actual programmes cover qualified closing draws, typed native/visitor Suk, original cleanup/winner Tech, death/card return, exact-three Fremen Nexus revival, Maker casualties/votes/typed reserve ride, both Advanced piles and next-turn parent entry. JSON continuations and all four minimal legal policies exercise those actual windows. Support pays at resolution before Suk, not at reveal. PDF22 grants the native strength bonus for free, not free support for dialed forces. Ordinary stronghold Collection income remains separate from the printed blow harvest. A preceding Shai-Hulud may already resolve losses before Great Maker; those casualties do not repeat. Incidental input/view copies, fake-auth/identity pins and undefined-object/spice-property shape assertions are deleted, not re-pinned.

Fifteen new runner profiles retain stable bands8800–10200 without changing older6400–8700 names/seeds. Families homeworld-nexus-skills, homeworld-nexus-discovery and homeworld-nexus-discovery-skills optionally add -tech, -stronghold or -stronghold-tech; no-Skills/no-Discovery profiles are homeworld-nexus-tech, homeworld-nexus-stronghold and homeworld-nexus-stronghold-tech. Existing prerequisite guards now include these Homeworld classifiers: an observed unsupported Basic Stronghold request falsely reported passed with zero samples; it now rejects, as does two-seat Tech, before output creation. The original empty receipt remains.

Twenty-two original six-seat games across all15 families finish 14233 accepted/14233 attempted actions with375 JSON continuations and no rejected candidates on unchanged source tree 3f53782ade5a1824388ddc1dc552558da79ab0b2ef6354c1819ef919d07f1b08 (HEAD b5f5de5c83cf00e4b3006c422dad97f9d87a625c). Every report's before/ after receipt is read. This is one frozen gameplay batch, not complete-mode/ final assurance or a later documentation-tree certificate. Private reports: /tmp/dune-classic-homeworld-nexus-*-six-seat-20261006.

Human390px RCGZK4CF uses its original HTTP four-seat lobby/private CLI. Its actually offered Suk on Hasimir is selected without redealing. Conserved unplayed Spice/Nexus order selects the qualifying encounter/singleton; all armies, alliances, losses and payments follow real actions. The human draws Fremen after actual alliance settlement, ships3 ordinary/1 Sardaukar from Kaitain/Salusa to Junction for4, then explicitly chooses zero Suk saves. At next original Revival the human spends that actual Nexus for2 ordinary/ 1 Sardaukar. Atv167: reserves19/5, Tanks0/0, Kaitain14 ordinary, Salusa5 Sardaukar, original Junction visitor1 ordinary, wallet6 unchanged by return. The physical Nexus is discarded once; the original trained disc survives. An offline auction-plan divergence is not retried: subsequent actions use the actual current owned policy/offer. No event or outcome is staged.

Human390px A3LV8Y3U uses the original no-Skills Nexus/Discovery CLI, three actual seats and Homeworld/Tech/Strongholds. Only original unplayed Spice order is selected; the real supply lottery yields Shrine and the later Nexus draw yields Moritani without selecting either face. The human reveals Shrine, freely enters with the actual3-counter Imperial parent army, votes for the real majority, and rides2 native Fremen reserves including1 Fedaykin inside. The prior Atreides blow army goes to Tanks2 once. Both actual Advanced piles finish before settled alliance and the sole closing draw. Atv74: Shrine Emperor3/1 and Fremen2/1, native Southern Hemisphere6/2, Atreides Tanks2, held Moritani; no duplicate movement, shipment or fee. Choice screenshots, fresh state/accessibility and document width390 prove these working-tree controls. All tabs close and temporary scripts are removed.

Native compositions, pending effect interpretations, public starts, full combinations, comprehensive assurance/calibration and protected deployment remain open; this bounded prototype does not shrink the complete goal.

Pushed gameplay c7073dc6b6602f09d15bea55c89608eaabb82613 then receives an exact build and owned isolated-QA restart. The originalv167/v74 tables show that full revision at390px with retained native/visitor and Shrine/Maker custody; the actual updated combined Homeworld guide remains document390. Both tabs close. Final container run37524999649/job112479645440 completes successfully, isolated verification7 before verified publication9. No protected server is deployed.

Native optional-module compositions — 6 October 2026

The existing fresh private entries now preserve Homeworlds with Skills, Discovery or both for supported native E1/E2 single/paired rosters and Advanced distinct-family decks, or standalone Ecaz OR Moritani with classic opponents. Basic/Advanced2–6; original unused Tech3+ and Advanced Strongholds2+ remain optional. Original roster/deck, Duke and assassination exclusions remain; no Nexus, unsupported E3 pairs/mixed families, unrelated previews, public starts or played-game conversion is admitted.

Authorized revision physical21–23 permits the variants together/separately irrespective of factions. Existing native predicates and initializers remain the single setup path. Nullable Homeworld custody now covers the original Ixian skillTreachery card choice before training/force placement. Actual normal/trained native/visitor Suk rescue forwards residual Cyborg Tanks from the same physical quote into optional equal Suboid substitution, fixing a reproduced null-quote crash without restoring rescued counters to the Tanks. Native saved forces stay at the original home; the Imperial external split remains the implementation interpretation below, not ordinary revival. Non-native Homeworld winners retain the existing Face Dance offer prohibition. Original CHOAM payer/support, Richese caps and revealed nested invoice, Tleilaxu own leader revival, Ecaz Arrakis-only Occupy, Moritani assassination/ skill return and native-world winner Tech timing remain distinct mechanics.

Thirty-five new semantic cases and the affected19-file union180/180 pass. After the subsequently discovered Ambassador bot and natural-Storm fixture repairs, the final four-file union46/46, types/lint and build pass. The old classic invasion fixture now explicitly allows the original Guild interception decision: a real Easy-AI Karama cancellation had removed the army/battle under test. A preserved reproduction and80 original repaired invasion boundaries prove the fixture change, not a new shipment rule.

The runner adds twelve native-homeworld-{skills,discovery,discovery-skills} families with optional -tech, -stronghold, -stronghold-tech at stable bands7600–8700; existing classic names/seeds6400–7500 are unchanged. Original six-seat native-homeworld-skills samples:14/19 complete, 18693 accepted/18718 attempted actions and501 JSON continuations among those completed games, on unchanged tree fc792b6089e8d3a17e661daf5a76b9148ad45692c3dfafb2d9481520822d6a31. Five original captures stop at existing CHOAM low-opening-income, exhausted Richese cache or Basic odd Ecaz Occupy ruling guards; none is bypassed.

All twelve families then run twelve original Advanced three-seat samples each:134/144 initially complete,34730 accepted/34853 attempted actions/ 867 JSON among completed games, on unchanged tree 3a99f592826e5476825d43330397c7fdca6582157f2bc05600f24a7b7919105f. Eight captures retain the existing CHOAM ruling guard. Two actual Ecaz placement deadlocks exposed a bot enumerating revealed Discovery strongholds although the original engine/UI permit only base-board strongholds. The bot now uses that same base-board enumeration; every difficulty legally declines on both preserved exhausted-destination states and advances to Shipment. Those exact original captures complete102/124/2 and21/29/0 further accepted/attempted/JSON actions on unchanged tree f80a99ba1799254ea93bd3eed6cc64ece7d95195d5503f115c0f570cf9e1828a. This is136 completed three-seat games across repaired continuations, not144 uninterrupted passes or a final-tree certificate. Existing rejected competing Ambassador-arrival candidates remain visible in these reports. Reports/captures are private /tmp/dune-native-homeworld-*-20261008 and /tmp/dune-native-homeworld-skills-first-games-20261007; no original game, native custody or pending ruling is reset.

Human390px QA uses two original authenticated HTTP lobbies and the existing private CLI, with no redeal, held-card/force injection or outcome lottery. 4AG8J2ZXv9 starts original Ixian skillTreachery: the human chooses its original Shield, then Prana-Bindu Adept on C’tair Pilru before original Traitors/native placement. In actual turn-one Shipment the human declares one Suboid plus one Cyborg from Ix to Kaitain for2 spice. Atv74 Ix retains 9 Suboids/3 Cyborgs, the original Kaitain visitor group is1/1, the separate HMS army remains3/3 and the Ixian wallet is7. Original Skills/Discovery/ Tech/Stronghold custody remains.

TYH3JS3C uses original standalone Advanced Moritani Homeworld/Skills setup without Discovery. The human keeps its actually offered Suk Graduate on Lupino Ord. A genuine two-force Guild invasion and original1-supported native plan produce the native Moritani win. The human saves the actual single ordinary casualty through the owned Suk panel. Atv56 Grumman still has14 native forces, Moritani Tanks0, Guild Tanks2 and no visitors remain. The original Grumman Collection decision follows; no native force is moved to another home and support/plans/casualties are not replayed. Both actual choice screenshots, fresh accessibility/resulting state and document width390 were observed. These are working-tree controls, not a pushed revision or deployed acceptance claim.

This bounded composition is Development Verified, not complete faction/ module coverage, all combinations, comprehensive assurance, calibration or protected deployment.

Pushed gameplay 3fb047c93d4f41840ee527883b3d7deda35b1645 then receives an exact build and owned isolated-QA restart. Both originalv74/v56 tables display that full revision at390px and retain the observed native/visitor counters. The actual updated native Homeworld guide renders at document width390. All tabs are closed. Final container run37510034689/job112428482102 completed successfully; isolated verification7 finishes before publication9. No protected server is deployed. Checkpoint dates follow the actual6October revision timestamp; private numeric run-directory labels are not calendar evidence.

Classic optional-module compositions — 6 October 2026

The fresh classic Homeworld prototypes now compose Skills, Discovery or both, with original unused Tech at three or more seats and/or original Stronghold Cards in Advanced at two or more seats. Basic/Advanced two–six unique base factions; both optional industry/card modules require Advanced3+. Existing leader-skills --discoveries and discovery private room entries preserve selected Homeworlds and original components; no parallel setup or save conversion. The runner adds ten profiles at stable bands6600–7500 while retaining existing6400/6500 names/seeds. Families homeworld-skills, homeworld-discovery and homeworld-discovery-skills add -tech, -stronghold or -stronghold-tech under those prerequisites.

Authorized PDF21–23 expressly permits variants together/separately. Original all14 offers, DS7/8, first-Storm industry ownership, end-Mentat held cards and native reserve placement remain. Nested battles get no Homeworld native bonus. Typed Suk returns use actual homes; support is already paid before rescue, while later Cistern income is a separate printed reward. Native saves still stay at their original home; the external Imperial split remains the implementation interpretation recorded below, not ordinary revival placement. Printed industry accrues once and pays at phase end; Guild-only transport is excluded. Held Arrakeen support and Carthag poison defense remain source-local, not borrowed by Homeworlds or Cistern. Physical cleanup precedes mandatory winner Tech choice without replaying armies or casualties.

New semantic cases14/14; affected union145/145 across17 files; types/lint and build pass. Original private room entry also exercises real combinations and rejects two-seat Tech/Basic Strongholds with the saved lobby unchanged. Four-policy original six-seat games cover ten added profiles: thirteen completed7879/7879 actions with207 JSON continuations on unchanged tree bf9b1f8a59f77494c1f2dcbd79326705aae1a00c37bc09bd3a157d4de9fb0851. One Advanced homeworld-discovery-stronghold seed20268015 stopped at turn8/Shipment after1110/1110/29 because an internal view-copy assertion treated four optional undefined advisor-response properties as different from JSON omission. That incidental assertion was deleted, not re-pinned; physical custody, rival-privacy checks and actual restored play remain. The preserved capture completes19 further actions. The same original fresh sample then completes1129/1129/30 on unchanged tree b47a9b126b4f7edf4a29a346fc124ee9427e22d7659c3f0762b0b16ad96fe2f2. Thus fourteen completed original samples total9008/9008/237 across two source batches, not one final-tree certificate or fourteen uninterrupted passes on the first tree. Reports/capture remain under /tmp/dune-homeworld-optional-*-20261006; no rules guard was bypassed.

Human QA: original HTTP four-seat lobbies, real host module toggles, original private CLI and explicit unplayed offer/card/token lotteries feed genuine action programmes. XJCJ3H3Wv17 actually submits trained Cistern Suk: three ordinary remain inside, reserves17/5 and Tanks0; Kaitain11 ordinary/ 1 Sardaukar, Salusa1/4. Separate Collection pays Cistern2; original industry and held-card custody remain. WM8E7CFGv17 actually chooses Spice Production from two real mandatory Tech options after two genuine Homeworld battles and original winner cleanup. Emperor retains one ordinary visitor in Southern Hemisphere, native home is empty, reserves14/4, Tanks2/0 and original parent army3 with1 Sardaukar. The defeated Fremen retains Axlotl; physical armies are not replaced by the Tech action. Both390px surfaces, choices and fresh resulting state were observed. These were working-tree controls, not a pushed revision/deployment claim. Both tabs closed; temporary human scripts removed.

Gameplay checkpoint fa025220f858e1cf3797f9a34ed39c0822c29bbd is pushed. After an exact build and owned isolated-QA restart, both originalv17 tables display that full revision at390px and retain their observed counters/token choices. The actual updated Homeworld guide paragraph renders without overflow; all tabs are closed. Exact container run37432875364/job112167625286 completed successfully; final job record confirms isolated verification7 finished before publication9. No protected server was deployed.

Nexus, native expansion rosters, unrelated previews/variants and pending specific rulings remain separate in this checkpoint. Public starts, full combinations, comprehensive assurance, calibration and deployment stay open.

Classic Skills and Discovery — 6 October 2026

Fresh private prototypes now support Homeworlds with either Leader Skills or Discovery: Basic/Advanced, two–six unique base factions, no other overlays. Use existing start-prototype.ts --profile leader-skills or --profile discovery on a fresh ready lobby with Homeworlds enabled. Genuine game runner profiles are homeworld-skills and homeworld-discovery. Original fourteen skill offers, seven Discovery cards/eight tokens, first hands and native placement remain authoritative; no existing save is converted.

The authorized root revision, physical PDF21–23, permits variants together or separately, keeps Homeworlds outside Arrakis and preserves their normal battle rules except printed modifications. This is permission to compose these prototypes, not a ruling for every interaction or a complete mode. Nullable custody now remains legal through actual skill assignment before the original force-placement stage.

Suk quotes use physical normal/elite casualties and real native or visiting Homeworld pools. A native save remains at that same home; it cannot redeploy freely. An external save returns to actual native reserve homes. When Emperor has both homes, human controls require an exact ordinary/elite allocation; minimal bots allocate the return to the primary home. Allowing both types at either native home is a prototype implementation interpretation, not the PDF22 ordinary-revival placement rule and not a new user/publisher ruling. The quote validates before mutation and conserves physical custody, Tanks and reserves. Battle costs, leader death and card cleanup do not repeat. Bureaucrat's existing invoice redirection now accepts this bounded profile. Discovery's original Maker, next-turn entry and nested shipment paths need no alternate mechanics.

Verification:17/17 new behavioral cases;94/94 affected tests across12 files; types/lint and build pass. Four original six-seat Basic/Advanced games using all four legal AI policies finish2330 accepted/2330 attempts,61 JSON continuations. Skills1125/1125/29 ran on unchanged source tree 4d3f1c5f99bf6a18cac6553a1ecb0bfbe4da35709e91f1384050506fbd98fc00; Discovery1205/1205/32 on 64c0b8ae5286bfdab9019222bb652bf99a7b1f1478eb5b16024844503c930412. Reports are /tmp/dune-homeworld-classic-{skills,discovery}-games-20261006/report.json. These are two source batches, not one final-tree certificate.

Human QA uses isolated existing QA persistence on local port3089, not the protected server. Original fresh human rooms, original CLI setup and explicit unplayed lotteries feed genuine engine action programmes; no held components are injected. At390px, 3NM6MS4Tv11 actually submits trained Suk rescue: Junction retains three ordinary visitors; Kaitain has11 ordinary/1 Sardaukar, Salusa1 ordinary/4 Sardaukar, reserves17/5 and Tanks0. CLQYLURHv11 actually submits next-turn Cistern entry for two ordinary/one Sardaukar: reserves17/4, Kaitain12/0, Salusa1/4, preserving the earlier actual turn-one internal move. Both rendered surfaces have document width390; fresh state and accessibility were observed after submission. Nested shipment has engine/runtime coverage, not an additional human submission claim.

Gameplay checkpoint e2dcebca35a89ed1e1d129b1fbc2428378b1d700 is pushed. An exact build and owned isolated-QA restart retain both originalv11 tables; each displays the full checkpoint revision at390px. The actual Homeworld guide paragraph renders without overflow. All QA tabs are closed and the temporary human lottery/staging scripts were removed. Exact container run37427758535/job112151199196 completed successfully; final job record confirms isolated storage/HTTP verification7 finished before publication9. No protected server was deployed.

Native expansion combinations, other overlays, Advanced Atreides Suk/KH, captured replacement, Diplomat Homeworld retreat and the separate Emperor Face Dance allocation question remain guarded. No public start, deployment, complete rules, recovery/privacy assurance or AI calibration is certified.

Implemented behavior

Game.homeworlds is optional for existing saves. An enabled fresh lobby stores {custody:null} until the genuine setup pipeline places forces, after prediction and traitor choices. Setup then records typed native reserves and Advanced Emperor's separate Salusa allocation. The offline-only initializer does not replace the public start gates or dispatch through the room API. It supports the currently implemented base/Ix deck sets; CHOAM/Richese and Ecaz/Moritani deck construction still rejects instead of substituting a different deck.

Native primary counts derive from the player's aggregate reserves; Salusa is an allocation within those totals. Foreign garrisons remain separate physical pools. Reads, actions and automatic normalization validate custody and all twenty physical counters, including special-counter identities across board, Tanks, native worlds and foreign worlds. Missing Salusa allocation is rejected, not reconstructed. Ixians have seven Cyborgs total, initially four in reserves and three in the mobile stronghold. The earlier custody limit of four is fixed.

Basic Homeworld setup retains Emperor's five Sardaukar and Fremen's three starred counters. They count as strength one in ordinary Basic combat and do not activate Advanced faction responses. Basic winner casualties preserve the owner's physical normal/special selection. Basic revival and Ghola preserve identity without imposing the Advanced one-special-counter-per-turn limit. Ixian special-counter rules retain their separate behavior.

The Advanced Emperor's emperorHomeworldMove action transfers an explicit normal/Sardaukar group between Kaitain and Salusa. The server checks current owner, phase, movement budget, pending controls and a public-state event. It spends one movement, charges no spice and conserves aggregate reserves. Starting with movement passes an unused shipment. A real Hajr supplies the second movement; active Ornithopter composition remains explicitly blocked. Homeworld permission is independent of ordinary faction Karama cancellation.

Ordinary native-to-Arrakis shipments now withdraw exact typed Homeworld sources. An omitted selection is inferred only when the allocation is unique; ambiguous partial draws from both Imperial worlds require explicit choices. The same transaction places the matching Arrakis counters once. The chronicle records the Homeworld sources and cost. No-Fields retain their separate source contract. Normal force revival, Emperor special-Karama force revival and Ghola deposit Advanced Emperor's normal forces on Kaitain and Sardaukar on Salusa, even when those counters previously moved between worlds. Other factions return to their one native reserve pool. Completed Ghola discard receipts bind the full Homeworld custody as well as aggregate counters.

The public table displays each native world's physical counts and population, with the full local-art card inspector. Emperor controls select a movement's origin and force types and the Salusa contribution to a combined shipment. Kaitain's complementary contribution is displayed and submitted explicitly. Invalid source counts disable submission; stale choices are revalidated by the server. Shared public helpers give all four AI levels legal typed shipment sources and a bounded transfer policy to restore Imperial population. They do not read opponent hands, decks, predictions or spice.

The server's shipment-completion search uses the same source helper. Its mixed-Imperial proof is tested as an internal future integration seam: actual Advanced Truthtrance shipment questions still remain Basic-gated.

Verification scope

  • Genuine setup: sixteen six-seat setups span the eight supported factions, Basic/Advanced and all four profiles; another eight mixed-Ix setups cover two through five seats. Unsupported deck combinations reject unchanged. Prediction/traitor privacy, physical card uniqueness and JSON recovery pass.
  • Actual actions: transfer, Hajr, wrong-owner/stale/blocked rejections, mixed native shipment and a Sardaukar's shipment → Storm death → revival on Salusa. Ghola's saved completed-effect frame drains once; changing only its Salusa allocation rejects despite unchanged aggregate counters.
  • Basic counters: both Emperor and Fremen retain strength-one stars, legal casualty choices, repeated typed revival and Ghola. Ordinary Basic behavior without the module remains unchanged.
  • AI: every offered movement/shipment candidate is individually accepted by the real dispatcher across all four levels. Explicit sources, unavoidable elite draws, hidden-information independence, Basic exclusions and no oscillating population repair are verified.
  • In-memory production SQL: duplicate and competing transfer requests commit one version; fresh module instances and authentication restore the same physical state/private hand. Corrupt missing Salusa state rejects without writes. Unrelated rooms remain unchanged.

npm run check passes typecheck, lint and 3,152 offline tests. The final production build passes; npm test -- homeworld reference passes 106 focused cases. Logs: /tmp/dune-homeworld-runtime-check-final.log, /tmp/dune-homeworld-runtime-build-final.log, /tmp/dune-homeworld-runtime-focused-final.log, and /tmp/dune-homeworld-actions-engine-final.log.

The live browser used a new named QA room, VQ6ALGRE. Genuine setup preceded a documented conserved dual-source phase position. UI actions shipped three forces (one normal from Kaitain; one normal and one Sardaukar from Salusa), then moved three normal forces from Kaitain to Salusa. The final position has Kaitain 7 normal + 2 Sardaukar; Salusa 6 normal + 2 Sardaukar; Arrakeen three forces including one Sardaukar; seventeen reserves and seven spice. Refresh preserved it. Invalid source input disabled shipment, enlarged Kaitain opened from the table, and 390×844 inspection found no horizontal overflow in the world panels or inspector. Desktop card and phone movement screenshots were visually reviewed; this is bounded sampling, not full module acceptance.

Forty live HTTP tests pass. Twenty ordinary two-player Basic games finish 3,079 accepted actions with no rejected candidates or stalls, using seed 20261026 and unchanged source fingerprints. This small regression sample is not new strength calibration or Homeworld/full-player-count verification. All 2,617 pre-existing room versions and hashes remain unchanged. The separate QA room and thirty HTTP-test rooms were added. The development server remains running from the 07:53 UTC controlled restart; no hourly restart was yet due during this checkpoint. The removed automation stays removed.

Remaining integration

Homeworld population values currently describe physical state; they do not yet apply high/low advantages, charity/free-revival bonuses or occupation penalties. Foreign Homeworld shipment permissions, Guild sponsorship, alliance rules, occupation qualification/turnover, Homeworld combat and aftermath, explosions, all card effects, occupation Collection, Ecaz victory and full AI policies remain unfinished. Ordinary special arrival/return routes still need the reserve integration audit, including Ambassador, Face Dance, No-Field and card-specific destinations. Emperor transfer with Ornithopter is also pending.

Occupation history must remain distinct from population and current foreign forces. Some turnover/expiry interpretations still need source resolution. Do not infer a complete mode from a valid physical state or successful native transfer. No release gate, saved-game migration or hosting access was changed.