Connect Spice Banker sealed battle spending and saved settlement

Prototype one through three own spice as a separate sealed battle commitment. Reserve funds alongside actual force support, add strength only for the surviving skilled leader, and settle once through existing versioned writes. Apply the documented card/core-rule interpretation: payment survives leader death or loss, except for the sole successful traitor caller. Keep printed disc strength and bounty unchanged. Normal income awaits its deferred-custody ruling; combined modules remain gated.

Validation: 54 focused tests; typecheck, lint, 4490 offline tests, production build and 43 HTTP tests passed. Independent rules, privacy, persistence and UI review completed. SQLite tests cover reserved-spice diversion, concurrent settlement, traitor waiver and legacy plans. Browser exercised a three-spice commitment, pending refresh, actual +3 strength and payment, and restored private cards and the next decision. Two genuine four-profile Basic/Advanced samples completed without rejected candidates but did not use Banker spending.

Following another reported outage, the server remained healthy. Preserved all 461 opening rooms and original seat/recovery rows (495 rooms after QA/HTTP). SQLite integrity and foreign keys passed. A fresh online backup captured all 495 rooms, and browser refresh restored the QA seat. No restart or reset was needed.

Verified source tree: 208bf9324ab994b5e59ed50d78998b4dbf8810b3b6799b1a577ef3b84479335f
This commit is contained in:
Quintine committed 2026-09-13 20:45:42 +10:00
1 parent 9381ef140d
commit 1380271bb6
22 files changed
+1166 -25

No files matched your search

+3 -2
View File
@@ -9,8 +9,9 @@ Planetologist now also has movement and base green-Special battle controls;
through readable rescue choices without creating counters. [Battle effects](LEADER_BATTLE_EFFECTS.md)
now connect Rihani inspection/exchange, Mentat/Bureaucrat scoring and Sandmaster
victory spice. [Smuggler shipping](SMUGGLER_SHIPMENT.md) now connects its normal reserve bonus
without adding any physical component. Other unfinished bands, Spice Banker and Diplomat remain
missing. This supersedes the historical missing-inventory
without adding any physical component. [Spice Banker battle spending](SPICE_BANKER_RUNTIME.md) uses a separate sealed
spice amount and the same original skill inspector. Other unfinished bands and
Diplomat remain missing. This supersedes the historical missing-inventory
rows below only for Leader Skills. See [source inventory](LEADER_SKILLS_RULES.md),
[capture interpretation](LEADER_SKILLS_CAPTURE.md) and [prototype evidence](LEADER_SKILLS_RUNTIME.md).
+6
View File
@@ -4,6 +4,12 @@ Updated 13 September 2026. This is the short navigation dashboard; detailed evid
## Evidence and source of truth
- [Spice Banker battle spending](SPICE_BANKER_RUNTIME.md) connects sealed own
spice, separate support funding, survivor strength, traitor payment precedence,
private controls, all four AI profiles and saved resolution. Normal income
remains pending the recorded custody question. Broad results and browser
evidence are recorded in the checkpoint; no mode gate is opened.
- [Smuggler reserve shipment](SMUGGLER_SHIPMENT.md) connects the optional free
companion, total physical count, Guild rounding, controls, all four AI profiles
and saved interception. Independent review added missing-decision rejection.
+22
View File
@@ -1,5 +1,27 @@
# Dune implementation status
## 13 September 2026 — Spice Banker battle commitment prototype
[Spice Banker](SPICE_BANKER_RUNTIME.md) connects one through three sealed own
spice to a selected skilled leader's surviving battle strength. Funds remain
separate from force support and unavailable for other spending. A sole successful
traitor caller keeps the commitment; other outcomes pay the Bank even on leader
death, while death removes the bonus. Printed disc values and bounties stay fixed.
Owner/full-plan inspection and public reveal display the amount at their proper
times; all four AI profiles submit funded choices. Independent source and
persistence review, private SQLite restart, rejected diversion, concurrent final
resolution and legacy omitted-field continuation cover this boundary. Two seeded
Basic/Advanced samples finished without rejected candidates but did not use
Banker spending; targeted tests establish the effect. The browser checked a
three-spice commitment, pending refresh, actual +3 strength and payment, then
restored one board force, fifteen reserves, four Tanks, two spice and the same
private cards. Broad results and final preservation are in the checkpoint commit.
Normal income remains pending a user ruling about already-earned public spice
when the trainer dies or is captured before Mentat Pause. Combined modules and
complete skill acceptance remain unfinished; no mode/publication gate is opened.
## 13 September 2026 — Smuggler reserve shipment prototype
[Smuggler shipping](SMUGGLER_SHIPMENT.md) connects one optional free accompanying
+3 -2
View File
@@ -51,8 +51,9 @@ publisher instruction to announce a name.
[Battle-effects follow-up](LEADER_BATTLE_EFFECTS.md) connects both Rihani bands
and the lower Mentat, Bureaucrat and Sandmaster effects. Their normal questioning,
payments and movement collection remain missing, along with all Spice Banker,
Diplomat effects and Smuggler battle collection. [Smuggler shipping](SMUGGLER_SHIPMENT.md)
payments and movement collection remain missing, along with Spice Banker normal
income, Diplomat effects and Smuggler battle collection. [Banker battle spending](SPICE_BANKER_RUNTIME.md)
now connects its lower band with separate sealed funds and survivor strength. [Smuggler shipping](SMUGGLER_SHIPMENT.md)
connects its optional normal reserve bonus. Planetologist and Suk Graduate have the connected
prototypes described below.
+2 -1
View File
@@ -6,6 +6,7 @@ Updated 13 September 2026. This is the authoritative navigation index for existi
| Topic | Decision to preserve | Detailed authority and evidence |
| --- | --- | --- |
| Spice Banker battle spending | Secret own-spice commitment is separate from support; only the surviving selected disc gains strength. Core Battle Plan payment rules spend it on death/loss and waive it for a sole traitor-call winner. This payment composition is explicit; upper deferred-income custody remains pending. | [Source contract and prototype](SPICE_BANKER_RUNTIME.md) |
| Smuggler shipping | Optional free companion is included in the actual total; apply Guild rounding to the reduced priced count. Ordinary Fremen reserves are on planet. No-Field plus a separate free force is officially permitted but still awaits integration. Legacy unstamped declarations keep their quoted full price. | [Source contract and prototype](SMUGGLER_SHIPMENT.md) |
| Leader battle effects | Rihani normal peek and reshuffle precede a separate committed optional draw; ordering is an explicit printed-order inference. Unused excludes actual calls, not mere disclosure. Mentat/Bureaucrat change scores; Sandmaster adds board spice. Multiple piles and Face Dancer composition stay guarded. | [Source contract and prototype](LEADER_BATTLE_EFFECTS.md) |
| Source and readiness | Separate published rules, explicit implementation choices and unfinished interpretations; Advanced/expansion gates stay closed. | [Base/Advanced audit](BASE_ADVANCED_READINESS_20260907.md), [checklist](../game/reference.ts) |
@@ -33,7 +34,7 @@ These are unresolved in the cited records. Do not infer an answer from elapsed t
| Sapho remaining timing | First versus unspent Advanced Guild priority, partly completed combined turns, cyclic auction duration and remaining battle timing stay guarded. Prior questions remain unanswered. | [Source audit](JUICE_OF_SAPHO_SOURCE_UPDATE.md), [battle review](JUICE_OF_SAPHO_BATTLE_REVIEW.md) |
| Mirror Weapon | Whether copied Tooth/Artillery mandatory-discard rules attach to the physical Mirror remains unanswered; arithmetic helpers do not admit the full battle card. | [Engine audit](MIRROR_WEAPON_ENGINE_AUDIT.md) |
| Semuta Drug | Full-hand take-before-discard and the privacy-neutral immediate reaction protocol remain unresolved. Typed discard continuations already exist; they are not activation. | [Source update](SEMUTA_SOURCE_UPDATE_20260907.md), [privacy review](SEMUTA_PRIVACY_REVIEW.md) |
| Leader Skills edge cases | Capture/replacement eligibility, Banker escrow custody, Smuggler survival settlement, Mentat empty-hand/death disclosure, Diplomat retreat ordering and simultaneous optional timing need resolution before those cases are enabled. These are newly recorded source gaps, not answered user rulings. | [Material boundaries](LEADER_SKILLS_RULES.md#material-boundaries-not-settled-by-the-sources) |
| Leader Skills edge cases | Capture/replacement eligibility, Banker escrow custody (user question sent), Smuggler survival settlement, Mentat empty-hand/death disclosure, Diplomat retreat ordering and simultaneous optional timing need resolution before those cases are enabled. These are newly recorded source gaps, not answered user rulings. | [Material boundaries](LEADER_SKILLS_RULES.md#material-boundaries-not-settled-by-the-sources) |
| Suk Graduate / Atreides | Whether rescued dialed casualties count toward the seven-loss Kwisatz Haderach threshold remains unresolved. The user question has been sent; Advanced Atreides rescue stays guarded. | [Source and runtime boundary](SUK_GRADUATE_RULES.md) |
| Ordinary Guild cancellation | Unaffordable repricing, replacement/retry/decline, consumed opportunity, contributor adjustment and ordering with special shipment-stop. The affordability question was already sent. | [Material timing](GUILD_RATE_KARAMA_RULES.md#material-unresolved-timing) |
| Base special Karama | Unfunded auction recovery, stopped-shipment settlement and Atreides full-plan commitment order remain provisional. Native full-plan/Voice/Prescience/Truthtrance/Ghola interactions now have genuine-setup focused evidence, but the source audit does not settle the special offer/deadline or target-first interpretation. | [Explicit base interpretations](BASE_ADVANCED_READINESS_20260907.md#explicit-unresolved-base-interpretations), [full-plan interaction audit](ATREIDES_FULL_PLAN_TIMING.md) |
+83
View File
@@ -0,0 +1,83 @@
# Spice Banker battle commitment prototype
13 September 2026. **Prototyped**, with **Partial** rules coverage. This connects
the lower battle band. The normal income band and combined-module acceptance
remain unfinished; public mode starts and publication stay 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
or income implementation is assumed here.
## 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 normal income, all economic trigger routes and ordering,
its public deferred custody, combined modules, wider full-game interaction and
strategy refinement. The existing development gates remain unchanged.