Files
Dune/docs/SPICE_BANKER_RUNTIME.md

32 KiB
Raw Permalink Blame History

Spice Banker battle commitment and normal income prototypes

Native placement and disposal payments — 27 October 2026

Prototyped / Partial. Ordinary Banker now receives two previously omitted native Bank invoices: an accepted Ecaz Ambassador placement in Revival and an accepted high-Kaitain selected-card disposal at Bidding's end. The photographed publisher Banker face, reread from the archived fourteen-card image, grants one deferred spice when another player pays at least four to the Bank, once per phase. It names no exclusion for these payment purposes. This applies the existing normal band; it introduces no new payment, optional claim or response. See card provenance.

Ecaz's current placement price is the next number in its native sequence. Declaring a cost-four placement does not pay it or grant income. Re-quote and commit the actual allowed four-spice Bank payment and physical token first; Karama denial spends no placement fee and grants no Banker spice. Prior one/two/three-spice placements remain separate invoices and do not add to four. Further qualifying placements in that phase reuse the physical card's cap.

Kaitain retains its existing atomic disposal transaction and inferred Bank recipient: two selected cards cost four in one invoice, while two separate one-card actions pay two each and do not combine. Actual payment and physical discards precede the grant; later native discard children do not undo or replay that payment. Neither normal disposal nor its Banker grant opens a Karama window against the immune Homeworld power.

Both sources use the existing version1 ledger and actual living native trainer, per-payer threshold and once-per-phase eligibility. A grant cannot finance its own fee or a later action. The public front-shield notice displays the unavailable pile; native Mentat collects it once. Existing historical receipts retain their format, and no old missed income is reconstructed. Foreign-ghola purchases already use their common paid-revival invoice; Rihani draw/exchange pays no Bank fee. This bounded source check does not certify every possible payment interaction or complete modes.

Focused paths: income rule, native fixtures, native cases, public pile. Accepted Ecaz Ambassador fees and high-Kaitain atomic disposal invoices now supply ordinary Banker income. Declaration/cancellation and self-payments earn nothing; separate small invoices do not aggregate. The physical phase cap, unavailable front-shield pile and original automatic Mentat collection remain. Kaitain retains its existing Bank-recipient/atomic-transaction interpretation.

Frozen 17 affected files, 187/187, types/lint/build and three native programmes pass. Fresh supported Skills preview initialization supplies actual Banker offers/training and World custody. Original cheap Emperor purchases supply held cards; actual poison disposal earns Ecaz's fifth-placement funding. No played hand, wallet, army, phase or future income receipt is installed.

Runtime records 32 GameTable SSR renders, 16 placement renders, 6 front-shield renders, 13 actual placement callbacks and 3 finish callbacks. 4 Kaitain actions use the native shared quote/engine; its stateful button was not operated. Recorded arrays supply aggregate source/further counts 101/63; the preview initializer and inherited World-selection action are explicitly outside those recorded counts. No public-start claim is made.

Twelve new native cases and three helper regressions cover actual thresholds, pending/denied/stale packets, real Karama cancellation, self-exclusion, a funded fifth placement, cross-phase grants and four legal Collection policies. Related feedback repairs three old Advanced Semuta fixture paths by completing one real Force Movement before Hajr; product timing is unchanged.

The existing local server returned HTTP200 without restart. No HTTP/storage boundary, saved-game/database or deployed operation changes. This is local native/SSR/callback evidence, not browser hydration or complete modes. Wider interactions and final rules/recovery/privacy/deployed acceptance remain.

Proof: /home/quintine/.local/share/dune/checkpoints/20261027-banker-native-payments-proof-v2/; journeys/HTML: adjacent 20261027-banker-native-payments-runtime/run/.

Mandatory ordinary Skills default — 17 October 2026

Fresh supported all-fourteen Leader Skills setups now include normal Banker income automatically. Use --profile leader-skills with the original supported lobby modules, or the existing homeworld-occupation --leader-skills entry for classic occupation. The separate income initializer, banker-income CLI profile and fixture opt-in options are removed, without aliases. Existing played games are not retrofitted. Public starts and unfinished mode gates remain unchanged.

The ordinary setup creates the existing version-one income ledger. Its final Bank payment legs, living trainer, physical-card once-per-phase stamp, unspendable front-shield pile and actual Mentat collection are unchanged. Earned-faction custody remains explicitly provisional; default activation does not settle the outstanding source question.

Ordinary Advanced native Richese/Emperor/Guild setup retains original Homeworlds, Nexus, Discovery, Tech and Strongholds. Real Banker training and an explicit four-counter Junction withdrawal precede the Guild's completed Bank-four shipment: Guild5→1, Richese wallet5/front1. Original Collection leaves Richese5; the final Guild Ready opens Mentat1 and yields wallet6/front0 with one collection credit. No armies, wallets, ownership or phase clocks are assigned; controlled setup entropy and conserved closed Spice Card order are disclosed in tests/fixture-banker-world-default.ts. Actual390px Ship/Allow/Ready controls reproduce that path in an isolated in-memory host, with root width390 and no app errors. Private local proof: /tmp/dune-banker-default-ui-proof.json. Four minimal policies legally move the paid Guild army and use the original final Ready to collect; this is not strategic calibration, deployed evidence or complete-mode acceptance.

The Semuta overlay retains the same ordinary default in Basic and Advanced, including its original Tech/Stronghold envelopes. A completed Guild Bank-four shipment grants front1 without changing Richese wallet5. Atreides then plays its conserved printed Hajr; Richese commits the real Semuta, discards it once and privately acquires Hajr, without another Bank invoice or income grant. The final original Collection Ready credits Richese5→6 at Mentat1. A Bank-three shipment and a four-spice shipment paid to Guild grant nothing. Initial setup scalar entropy is controlled, UUIDs remain native, and two original closed Spice Cards plus conserved Semuta/Hajr hand staging are explicit. No armies, balances, clocks, owners or receipts are assigned.

Two390px journeys complete18 original actions, including8 native UI submissions; both have no app errors or root overflow. Four legal policies commit Semuta and continue to the same single Mentat credit. The182-case related set initially exposed fixture-only null/absence, Hajr/response ordering and donor-hand issues. After repairs, the final affected3-file union passes25/25; the remaining157 passed in the initial batch. The actual fresh Skills CLI case passes1/1. Final types/lint and build pass, with existing module-registration, chunk-size and route-classification warnings. Scratch UI files and host are removed. Evidence: tests/banker-world-default.test.ts, tests/banker-overlay-default.test.ts, their fixture modules, and the existing payment/module consumers. Full assurance and deployed acceptance remain open.

The dated checkpoints below describe their original verification scope. References to the former separate entry are historical, not current commands.

Classic Homeworld final Bank income — 14 October 2026

At the 14 October checkpoint, a separate classic Basic/Advanced income entry composed original occupation setup and all14 Skills with income-v1. That branch excluded Nexus, Discovery, Tech, Strongholds and native overlays. The ordinary-default cutover above supersedes its activation mechanism; the accounting and original occupation behavior below remain.

Three user rulings define accounting: combine only the same payer’s final Bank portions of one original invoice; attribute Bureaucrat’s two to the first individually eligible contribution (declared payer, then ally); round low native income on the whole remaining eligible invoice once. Floor each remaining contribution’s half and assign extra Bank rounding units primary-first internally. No funding or eligibility identity is exposed. The former two-odd declaration, UI and AI fence is removed, without changing original prices or payer shares.

Original native or occupied-percentage receipts supply the actual retained Bank amount; original payment carriers preserve full payer evidence. Allowed unoccupied5+3 gives native4/Bank4, final Bank legs3/1 and no grant. Diverting2 gives native3/Bank3 plus diversion2, final legs4/1 and one deferred spice. Occupied allowed income banks none (or just diversion2); occupied cancellation preserves occupier4 and banks native4 as3/1, not the full8, so grants none. Odd11 and first-eligible fallback cases retain real payer shares and stock. Native world-to-world4 and half-rate Junction board-return4 each remain Bank fees, grant one unavailable spice and do not manufacture Guild income. Actual low Kaitain after11 native normal counters leave has4 capital counters; the later actual Guild eight-spice Treachery purchase gives Emperor4, Bank4, and one deferred Banker grant.

Actual390px Bureaucrat Redirect2 settles final Bank legs4/1, available Atreides wallet11/front1. Ordinary city Collection separately makes wallet13; the real last Ready for next phase enters Mentat and makes14/front0, with one collection credit1. Browser errors empty; no root overflow. Private local proof: /tmp/dune-homeworld-banker-ui-proof.json. The isolated actual CLI HWBANKQA v8 reaches original setup with income-v1 and occupation custody. Existing games and databases are untouched.

Frozen related18-file union292/292, types/lint and app build pass. Build retains the existing module-registration, chunk-size and route-classification warnings. Evidence: tests/fixture-homeworld-banker-income.ts, tests/homeworld-banker-income.test.ts, tests/homeworld-banker-transport.test.ts and tests/homeworld-bank-payment.test.ts. Comprehensive assurance, wider module combinations, public starts and deployed acceptance remain open.

node --import tsx tools/start-prototype.ts --profile homeworld-occupation --leader-skills \
  --db /private/local.sqlite --room ROOMCODE --version 7 \
  --out /private/new-homeworld-banker-entry

Classic Nexus income composition — 13 October 2026

The 13 October separate income composition connected the mandatory normal band to fresh classic Basic/Advanced Nexus Skills games. Original Tech required3+; Strongholds required Advanced2+, optionally both. That checkpoint excluded Homeworlds, Discovery, expansion-family Nexus, Semuta and Betrayal previews. All33 Treachery, all14 Skills and all12 undealt Nexus remained native. There was no fabricated starting Nexus hand.

The previous entry rejected this fresh composition before offers. The shared classic Nexus skill predicate now recognizes the explicit income overlay, and the Banker initializer passes the original Nexus setup path. Existing payment, recipient, front-shield, per-phase and Mentat calculations are unchanged.

Native Guild self-shipment to Polar Sink pays4 (wallet5→1) and grants Atreides one unavailable spice. Three paid earns none; Emperor's four paid to Guild earns none. Advanced original Tech/Strongholds retain native Guild timing; actual Heighliners income settles at phase end rather than becoming a Banker invoice. The existing legal policy continues without spending deferred currency. Actual390px table shows front1 while available wallet remains10; the last ordinary Collection Ready enters real Mentat, credits10→11 and removes the front-shield notice without an extra action. Browser errors empty; no root overflow. /tmp/dune-classic-nexus-banker-ui-proof.json records local proof.

Actual isolated CLI BANKERQA v8 reaches leaderSkills, income-v1, all14 original cards in deck/offers and all12 Nexus in deck. No existing room or database is changed. Evidence: tests/classic-nexus-banker-income.test.ts and tests/fixture-classic-nexus-banker-income.ts. Original earned-custody and per-payer policies remain provisional; wider printed effects, combination and deployed acceptance are not certified.

node --import tsx tools/start-prototype.ts --profile leader-skills --nexus-cards \
  --db /private/local.sqlite --room ROOMCODE --version 7 \
  --out /private/new-classic-nexus-banker-entry

2 October normal-band checkpoint: a separate fresh local banker-income classic/base33/all-fourteen-skills-only Basic/Advanced profile connects actual positive bank payments to automatic current Mentat collection. Bounded coverage is Partial / Development Verified. No public start, old-game retrofit or other module is enabled; this is not deployed acceptance.

4 October standalone E3 modules: original Ecaz/Moritani skills preserve Tech Basic/Advanced3..6 and Strongholds Advanced2..6, optionally both. Banker stays a separate opt-in: actual opposing paid4 qualifies, not bank2 subsidy or paid1. Original Mentat collects once. Duke assignment and Moritani assassination/normal-call limits remain; see combined source and cases.

4 October Advanced Stronghold composition: the same separate local entry preserves unused Stronghold Cards in Advanced classic or supported E1/E2 native2..6-seat skills; optional Tech still needs3..6. Arrakeen bank support is not payer spending: declared0/2/5/6 means actual own0/0/3/4, and only4 qualifies a grant. Human HERCFX3B v20/Mentat pays4 after bank2 while Suk rescues3 without refunding support. Atreides retains wallet12/front1 until actual Mentat, then13/front0. See the combined source and evidence. Original earned-custody/separate-payer policies remain; no public activation.

4 October native Tech composition: the same separate opt-in preserves unused original Tech in fresh3..6-seat supported Ixian/Tleilaxu/CHOAM/Richese Basic/Advanced lobbies. Native deck/roster limits and payment recipients remain. Richese marker invoices retain native noField/event validation. Human YWVH5XQF v8 pays1 for a concealed5 plus one free companion, wallet6→5; the earlier actual four-spice Emperor revival leaves Atreides Banker-front1 unavailable while its Heighliners separately accrues1. A Tech credit is not another bank-payment producer. See the native contract and evidence.

4 October classic Tech composition: a fresh classic3..6 Basic/Advanced banker-income lobby may retain canonical unused Tech Tokens. Original phase-end Tech income is independent of the front-shield grant; neither credit is another player's bank payment. Human 63LV57W2 v13 paid actual Smuggler4 for physical5, accrued one unavailable grant and one original Heighliners spice, then collected Tech at phase end and Banker at actual Mentat. Ordinary city Collection stays separately quoted. Native/other overlays and pending earned custody/split questions are unchanged; see the combined contract and evidence.

4 October composition: the separate banker-income entry additionally admits bounded Advanced native Ixians and/or CHOAM plus classic seats and their distinct required family decks. Actual native support payment grants one unavailable front-shield spice and original Mentat collects it once. See the current native contract. Ordinary/default activation and provisional earned custody are unchanged. The bounded Advanced Tleilaxu composition also shares this separate opt-in. Its foreign revival never creates a Banker assignment; original paid bank legs and own native trainer eligibility remain. The bounded Advanced Moritani composition also shares this separate opt-in with its original assassination preview. Native Terror placement remains free, not an invented qualifying bank payment. The native Richese composition adds Basic/Advanced Richese and its required CHOAM deck. Advanced Richese's funded ally contribution follows the authorized Emperor/bank recipient rule; the buyer-to-Richese share does not count as a bank payment. Basic retains its publisher receipt. Actual human E2K2U5ZW v26 paid the original eight-spice Ornithopter invoice as buyer4/Richese4, earned one unavailable Guild Banker spice, and collected it once at native Mentat after ordinary Collection. The front-shield pile stayed separate through Revival and movement; refresh retains Mentat/wallet7/empty pile. No public-mode or deployed acceptance. The native Ecaz ordinary-disc profile also admits this separate Basic/Advanced opt-in with its original five-disc training and Ambassador custody. Actual Emperor ordinary shipment pays4 for two counters and grants native Ecaz Banker one deferred spice without changing its available wallet in both bands. An Ambassador bank grant is not a payer payment. Shared-Duke assignment and combined Occupy skills remain separate.

Normal income local contract — 2 October 2026

The original photographed card says gain one spice when another player makes one bank payment of at least four, once per phase. This is a mandatory additional bank grant, not skimming the original payer or recipient; no new action, Karama response or confirmation is invented. Ordinary costs and their original counters/recipient/physical suffix finish once before the grant.

The original private-backed-up branch admits unique2..6 classic factions, Basic or Advanced, base33 Treachery and all14 Leader Skills alone; the native section below adds supported Basic native skill profiles. Actual paid normal auctions, funded shipments, paid force/leader/KH/Emperor-extra revivals and resolved bank support use original final-bank receipts. Player income, free/waived/stopped/invalid sources and self-payment do not qualify. The original bank recipient matters: canceled Emperor or Guild income may leave a bank payment, while income actually received by a player does not.

One payment is not several smaller payments summed together. Actual own/donor legs keep their payer identity; two payers at two each do not make one payer at four. The lower1..3 Banker battle payment stays separate from support. This per-payer/source composition is a conservative local interpretation, not a separately located publisher split-funding example. No future award can finance the original payment.

An actual available living native trainer supplies new normal income. A captive supplies no upper band; concealed unselected skills are unavailable. Own-battle selected-trainer eligibility uses actual resolved survival, not private pre-reveal timing. One physical card's turn/phase stamp cannot reset through death, return, refresh or same-phase reassignment.

The already-earned front-shield pile remains bound to its ORIGINAL gaining faction provisionally in this fresh profile even if the trainer dies, is captured or the card returns/reassigns. This conserves earned currency and does not transfer it with a skill card. It does not answer the previously asked death/capture question or create universal completed-mode authority. The historical pending boundary below remains recorded outside this profile.

Deferred spice is not added to a spendable wallet before actual native Mentat opening. Human/four-policy bids, shipping, revival, support and lower Banker spending use original available money. Mentat atomically marks/credits each uncollected grant once before optional work/victory; collection is not a qualifying payment and creates no recursive income. There is no arbitrary read heal or fictitious persisted half-phase collect choice.

Only physical public front-shield owner/count and current-phase use are projected. Private bank amounts, source/receipt, hidden plans and later skill entitlement stay private. Current-source corrupt/stale/duplicate/foreign actions and recovery reject immutably; closed history no longer requires the original trainer/card or old wallet to remain in place. Bounded signatures check consistency, not authentication of wholesale rewritten saved JSON.

Frozen verification passes types/lint, 6,487 offline tests, the 140-case Banker/profile union and build. Eighteen actual native producer/threshold/ trainer cases conserve all33 Treachery Cards and14 skills through original payment and real Mentat; independent combat/Collection quotes separate native bounty/income from support costs. All four minimal legal policies exclude the front-shield pile from available budgets. Native death/capture/reassignment, once-phase and separate payer legs have meaningful JSON/authenticated SQLite regressions, including actual final Collection races and private suspended Emperor/Guild invoices. Two final independent scoped reviews have no finding.

Original private-backed-up six-seat CLI setups were continued without redealing: Basic 6VZ8G5BY v38 used native Emperor self-auction payment to the Bank; Advanced 8TN8BTLT v31 used native Guild own-bank shipment and its genuine allow decision. Human390px controls earned1 without changing the Banker's available wallet, retained the notice through refresh and collected at actual final Collection readiness to Mentat exactly once (10→11 and3→4). The notice's initial26px player-strip squeeze was reproduced visually and fixed by placing it in the main column; fresh proof shows354px width. All cards/skills/normal and elite force inventories remain conserved, with the23 prior isolated QA rooms' states/versions unchanged. Final guide10/10, types/lint/build and expanded390px guidance pass; all82 original seats in25 targeted QA rooms restore after final worker reload without double collection. Local HTTP is 49/55, with six known upstream503 rejection failures: not a green suite. Code 6785e622a7 is pushed; exact CI36923901367 and container job110576362446 completed/success with mandatory isolated storage/HTTP verification before verified-image publication. Image: ghcr.io/quintine/dune:sha-6785e622a7bc8b850aa5e3d338c63be5a33a9403. Deployment and complete skill/module acceptance remain open.

Basic native Banker integration — 2 October 2026

This additive local integration connects the four already-supported Basic native Leader Skill families: Ixians (alone or with Tleilaxu), Tleilaxu alone, CHOAM alone, and Moritani alone, otherwise classic opponents. Each uses its single required Ix, CHOAM, or Ecaz Treachery deck and all fourteen original Leader Skills. Advanced native factions, other overlays, mixed expansion families, public starts and old-game retrofit remain outside this boundary. The classic Basic/Advanced base33 contract above is retained.

tests/fixture-native-banker-income.ts creates ready fresh native lobbies and calls initializeLeaderSkillsGameForAudit, never setting the income flag on a played game. Only the original skill shuffle is controlled to obtain a real Banker offer; native Treachery, Traitor/Face Dancer and Terror shuffles retain their original entropy. Original Ix starting-card selection, skill assignment, Traitor/Face Dancer setup, Moritani placement and CHOAM setup continue through the engine. Revival examples label their staging: conserved normal/cyborg forces move from reserves to Tanks after genuine setup; cancellation cases move an original Karama from the remaining deck only if the owner lacks one. No sale, payment receipt, pending continuation or deferred grant is fabricated.

The reusable createNativeBankerIncomeFixture({ family: 'ixians', withTleilaxu: true }) case stops before the original final auction payment: another payer, the Emperor, buys its native lot for four paid to the Bank. payNativeBankerIncomeFixture executes that action and its original response suffix; advanceNativeBankerIncomeToPhase(game, 7) and the existing advanceSpiceBankerIncomeToMentat continue the real Collection-to-Mentat path. The focused regressions cover each native family, actual card delivery and debit, unchanged pre-Mentat Banker wallet, deferred collection, Emperor player income, and free/paid Tleilaxu-recipient revival. A Tleilaxu own-revival case distinguishes its actual four-spice bank debit from the separate printed free-revival bank reward; the reward is not another player's payment. Canceled Tleilaxu income cases distinguish the actual payer's zero/three/four bank debit from the separate free-revival reward included in the native income response. In particular, an original three-spice cyborg debit plus one free reward must not be mistaken for another player's four-spice bank payment.

Authority remains the photographed Banker card, the existing Leader Skill rules and original native payment/recipient rules. This composition does not resolve the previously open earned-spice death/capture question. Original gaining-faction custody and separate-payer threshold interpretation remain the explicitly provisional local policies above; no broader ruling is inferred.

Bounded runtime evidence: twelve actual native Banker scenarios pass, including all five native compositions through real Mentat, native player-recipient exclusions, self-bank revival and canceled income at actual cost0/3/4. Three initially failing collection cases stopped at phase8 while the existing Ix Amal opening was still pending; the helper now finishes that native opening before observing automatic collection. Engine phase ordering is unchanged. Final parent checks and human controls are recorded with the native payment checkpoint; this is not whole-faction/module certification.

The affected payment rule batch110/110, final native/guide26/26, types/lint and build pass. Four additional native post-income policy continuations are legal. Genuine CLI 7B55PLA5 v8 reaches original native setup. Human390px 86WQMSZV v18 closes the actual Emperor self-auction4, observes Ix available10 and deferred1, then finishes original Collection and the existing Amal opening before automatic Mentat collection to11. This does not approve the pending universal earned-custody policy or enable public starts.

The historical13 September checkpoint below is Prototyped, with Partial rules coverage, and connects the lower battle band only. The normal band is now connected solely in the fresh profile above; combined acceptance and public mode starts remain gated.

Source and payment contract

The physical card permits spending one through three own spice with the Battle Plan to add the same amount to the selected leader's strength, independently of force support. A captured skilled leader can supply this battle band with the captor's spice. The common skill rules remove the bonus if that leader dies. See GF9 CHOAM & Richese rules and Q&A, pages 8–9 and 12, and Jack Reda's walkthrough, 17:09–17:37. The existing physical card image and sourced full paraphrase are retained; this creates no new card, resource or leader identity.

The core rulebook provides the payment precedence in its Traitor and Advanced Combat sections: a sole successful traitor caller loses nothing; otherwise committed Battle Plan spice goes to the Bank on either outcome. The prototype therefore spends Banker spice even on leader death or traitor loss, and waives it for a sole traitor-call winner. Death removes the strength bonus, not the already chosen plan cost. This is an explicit composition of the card and core payment rules, not a separately located Banker death FAQ. It supersedes the earlier private research suggestion that death should release the commitment. Printed disc strength, Zoal's copied value and leader bounty are unchanged.

The normal band is mandatory once per phase when another player makes one payment of at least four spice to the Bank; multiple smaller payments do not combine. Revival qualifies. Earned spice waits in front of the shield until Mentat Pause. Neither publisher nor designer material located in the renewed search settles custody of that accumulated income if the trainer dies or is captured first. The user has been asked whether to retain the pending boundary or rule that already-earned spice stays with the original faction. No answer is assumed: the explicitly provisional earned-faction policy now applies in fresh ordinary Skills setups. Default activation does not settle that question.

Connected behavior

bankerSpice is an optional sealed-plan amount; absence or zero declines. The engine validates an actual living controlled skilled disc, its battle posture, integer range and own funds remaining after force support. Ally aid and Stronghold support cannot fund this separate commitment. Saved plans reserve the amount against bribes and other spending. The same checks run before views, automatic normalization and actions. Legacy plans retain zero Banker spending.

The battle quote computes a separate payment alongside the existing support settlement and a surviving-leader score bonus. It does not add Banker spice to CHOAM's force-support share. Payment and resolution commit atomically through the existing versioned room write, with an automatic explanatory history entry.

The battle panel distinguishes support and Banker amounts and shows the combined own commitment. The owner and authorized full-plan inspector can see the sealed amount; rivals see it only when both plans are public. All four AI profiles use the public skill and private own budget to submit funded plans. This is legal prototype behavior, not calibrated Banker strategy.

Evidence and remaining scope

Focused engine checks cover one through three spice, win/loss, death, traitor win/loss/mutual calls, captured-leader funds, printed values, own-support funding, private views, malformed saved fields, JSON restoration and all four profiles. SQLite checks cover reserved-spice diversion, private restart, concurrent final resolution, exact waiver/bounty and legacy absence. Controls and inspector checks retain the private/public boundary. Independent rules, persistence and UI review cover this supported boundary.

Two genuine four-profile Basic/Advanced samples completed with 99/212 actions, 3/6 JSON restorations and no rejected candidates. Their first seat explicitly selected its offered Banker, but neither game used Banker spending. These are continuation samples; the targeted tests establish the effect. A fresh browser room assigned Banker through genuine setup, followed by a conserved staged battle. The player selected Hasimir Fenring, Baliset, four dialed forces and three Banker spice. Pending refresh restored that commitment with five spice still held. Settlement paid three, added three strength and left one Arrakeen force, fifteen reserves, four Tanks and two spice. Another refresh retained those values and the same private Crysknife, Baliset and Burseg while card cleanup awaited the player. This targeted scenario is not a complete human game. Required broad results are recorded with the checkpoint.

Remaining work includes exhaustive economic-trigger and ordering integration, wider full-game interactions and strategy refinement. Normal income is no longer a separate activation path; complete-mode and deployment gates remain unchanged.