514 lines
32 KiB
Markdown
514 lines
32 KiB
Markdown
# 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](LEADER_SKILLS_RULES.md#sources-and-local-evidence).
|
||
|
||
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](HOMEWORLD_CARD_ECONOMY_RULES.md#kaitain-implementation-contract)
|
||
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](../game/spice-banker-income.ts),
|
||
[native fixtures](../tests/fixture-banker-native-payments.ts),
|
||
[native cases](../tests/banker-native-payments-runtime.test.ts),
|
||
[public pile](../components/spice-banker-income.tsx).
|
||
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.
|
||
|
||
```sh
|
||
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.
|
||
|
||
```sh
|
||
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](LEADER_SKILLS_RUNTIME.md#standalone-e3-module-composition--4-october-2026).
|
||
|
||
**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](LEADER_SKILLS_RUNTIME.md#advanced-stronghold-composition--4-october-2026).
|
||
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](LEADER_SKILLS_RUNTIME.md#native-e1e2-tech-tokens-composition--4-october-2026).
|
||
|
||
**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](LEADER_SKILLS_RUNTIME.md#classic-tech-tokens-composition--4-october-2026).
|
||
|
||
**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](LEADER_SKILLS_RUNTIME.md#advanced-native-ixian-and-choam-composition--4-october-2026).
|
||
Ordinary/default activation and provisional earned custody are unchanged.
|
||
The bounded [Advanced Tleilaxu composition](TLEILAXU_LEADER_SKILLS.md#advanced-native-composition--4-october-2026)
|
||
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](MORITANI_LEADER_SKILLS.md#advanced-assassination-composition--4-october-2026)
|
||
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](LEADER_SKILLS_RUNTIME.md#native-richese-composition--4-october-2026)
|
||
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](LEADER_SKILLS_RUNTIME.md#native-ecaz-ordinary-disc-composition--4-october-2026)
|
||
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 **6785e622a7bc8b850aa5e3d338c63be5a33a9403** is pushed;
|
||
[exact CI36923901367](https://github.com/Quintine/Dune/actions/runs/36923901367)
|
||
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](https://www.gf9games.com/dune/wp-content/uploads/2021/11/CHOAM-Rulebook-low-res.pdf),
|
||
pages 8–9 and 12, and [Jack Reda's walkthrough](https://www.youtube.com/watch?v=XT_azRVLq_0&t=1029s),
|
||
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](https://www.gf9games.com/dunegame/wp-content/uploads/Dune-Rulebook.pdf)
|
||
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.
|