Connect optional Smuggler reserve shipment and saved interception

Prototype one free accompanying force into an empty territory with explicit opt-out, shared human/AI pricing, physical elite custody and Guild recipient accounting. Bind pending quotes to their unique saved Guild decision; preserve legacy unstamped full-price declarations. Smuggler battle collection and combined modules remain unfinished and gated. Repair a randomly dealt-out Karama fixture by relocating its actual physical card without changing inventory.

Validation: 70 focused tests; typecheck, lint, 4477 offline tests, production build and 43 HTTP tests passed. Independent rules/persistence review completed, including interruption and cancellation. Browser checked the price toggle, three arrivals for two spice, and refresh with unchanged private cards. Two genuine four-profile Basic/Advanced samples completed without rejected candidates but did not use Smuggler.

Preserved all 427 opening rooms and original seat/recovery rows (461 rooms after QA/HTTP). SQLite integrity and foreign keys passed. Server remained healthy after the reported power outage; no restart or reset.

Verified source tree: bf6e02bf6873ca6d6b01c83481489f55b2c7db0184a7056364343440dae88803
This commit is contained in:
Quintine committed 2026-09-13 20:19:33 +10:00
1 parent 06f46c6f79
commit 9381ef140d
18 files changed
+1015 -25

No files matched your search

+2 -1
View File
@@ -8,7 +8,8 @@ Planetologist now also has movement and base green-Special battle controls;
[Suk Graduate](SUK_GRADUATE_RULES.md) redirects actual ordinary/elite casualties
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. Their other bands and Spice Banker, Diplomat and Smuggler remain
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
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).
+8
View File
@@ -4,6 +4,14 @@ Updated 13 September 2026. This is the short navigation dashboard; detailed evid
## Evidence and source of truth
- [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.
Browser opt-out, actual shipment and refresh are exercised in a new room.
Battle collection and combined routes remain missing. After the latest outage,
the server was healthy and all 427 opening rooms remained unchanged; a fresh
backup captured 428. Broad results and final preservation are in the commit.
- [Leader battle effects](LEADER_BATTLE_EFFECTS.md) now connect both Rihani bands
and lower Mentat, Bureaucrat and Sandmaster effects. Private controls, all four
AI profiles, JSON/SQLite continuation and concurrent exchanges are covered.
+25
View File
@@ -1,5 +1,30 @@
# Dune implementation status
## 13 September 2026 — Smuggler reserve shipment prototype
[Smuggler shipping](SMUGGLER_SHIPMENT.md) connects one optional free accompanying
force for an empty-territory off-planet shipment. The shared quote preserves
actual reserve/elite custody, Guild rounding and real recipient payments. UI
controls and all four AI profiles explicitly choose the bonus; declining and
legacy unstamped declarations preserve ordinary pricing.
Independent review found saved quotes could lose their required Guild decision.
Read/action integrity now binds the declaration to its unique current or saved
interception, rejecting missing/mismatched decisions or removed discounts.
The first broad run also exposed a random Discovery fixture that searched only
the undealt deck for Karama. It now relocates an existing card from its actual
zone and asserts the complete physical card inventory is unchanged.
SQLite restart, concurrent allowance, stale replay and old quote recovery pass.
The browser exercised the price toggle, three physical arrivals for two spice
and refresh with the same private hand. Two Basic/Advanced samples finished
without rejected candidates but did not use Smuggler; targeted checks cover it.
The latest outage left the existing server healthy. All 427 opening rooms were
unchanged and a new backup captured 428 rooms. No restart or reset was needed.
Broad results and final preservation are in the checkpoint commit and private
source-bound report. The lower battle effect and combined routes remain missing;
no rules-mode or publication gate is opened.
## 13 September 2026 — Leader battle effects prototype
[Battle effects](LEADER_BATTLE_EFFECTS.md) connects lower Mentat +2 strength,
+4 -3
View File
@@ -52,7 +52,8 @@ 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 and Smuggler effects. Planetologist and Suk Graduate have the connected
Diplomat effects and Smuggler battle collection. [Smuggler shipping](SMUGGLER_SHIPMENT.md)
connects its optional normal reserve bonus. Planetologist and Suk Graduate have the connected
prototypes described below.
Captured-card replacement entitlement remains unresolved. The prototype rejects
@@ -64,8 +65,8 @@ Before enabling them, add response-driven automatic revival continuation
coverage; the current before/after revival observer does not certify deferred
Tleilaxu response chains. The other source-contract timing questions also remain
open. Planetologist now has bounded movement and battle controls as described below.
Remaining normal-band payments, questions, collection and the three missing
skill families still need connected effects.
Remaining normal-band payments, questions, collection and the remaining
skill bands still need connected effects.
## Planetologist follow-up
+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 |
| --- | --- | --- |
| 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) |
| Setup and Fremen movement | Preserve source-ordered setup and the distinct declared-movement cancellation; do not recreate fixed historical gaps. | [Setup contract](ADVANCED_SETUP_TEST_SEAM.md), [Fremen Karama](FREMEN_MOVEMENT_KARAMA_RULES.md) |
@@ -17,7 +18,7 @@ Updated 13 September 2026. This is the authoritative navigation index for existi
| Expansion Nexus families | Source audit coverage does not imply every panel is playable; consult later runtime records in the status log. | [Ixian Cunning](NEXUS_IXIAN_CUNNING_RULES.md), [Ixian replacement](NEXUS_IXIAN_REPLACEMENT_RULES.md), [Tleilaxu](NEXUS_TLEILAXU_RULES.md), [CHOAM](NEXUS_CHOAM_RULES.md), [Richese](NEXUS_RICHESE_RULES.md), [Ecaz](NEXUS_ECAZ_RULES.md), [Moritani](NEXUS_MORITANI_RULES.md) |
| CHOAM Secret Ally | Absent-faction Collection trade spends one actual Worthless card and the Nexus for two bank spice. It is separate from native Cunning and Auditor; the battle inspection alternative remains missing. | [Prototype contract](NEXUS_CHOAM_SECRET_ALLY.md) |
| Sapho movement | At a clean boundary, first reorders only remaining unstarted turns; completed turns stay completed. Advanced Guild must have finished or be absent. Last retains existing protection after Guild. | [Existing source contract](JUICE_OF_SAPHO_SOURCE_UPDATE.md#movement-firstlast), [runtime](JUICE_OF_SAPHO_RUNTIME.md) |
| Leader Skills | Fourteen physical cards, variant setup order, public/hidden assignment, death return, own-leader revival and captured lower-band effects are sourced. Five battle disciplines, Planetologist movement/Special substitution, Suk Graduate rescues and common lifecycle are prototyped; seven skills and combinations remain missing. Known skilled capture identifies the leader through its unique public card. | [Source contract](LEADER_SKILLS_RULES.md), [capture inference](LEADER_SKILLS_CAPTURE.md), [runtime](LEADER_SKILLS_RUNTIME.md), [Planetologist](PLANETOLOGIST_RULES.md), [Suk Graduate](SUK_GRADUATE_RULES.md) |
| Leader Skills | Fourteen physical cards, variant setup order, public/hidden assignment, death return, own-leader revival and captured lower-band effects are sourced. Five battle disciplines, Planetologist movement/Special substitution, Suk Graduate rescues and common lifecycle are prototyped; Rihani, lower Mentat/Bureaucrat/Sandmaster and normal Smuggler now have connected follow-ups. Remaining bands and combinations stay missing. Known skilled capture identifies the leader through its unique public card. | [Source contract](LEADER_SKILLS_RULES.md), [capture inference](LEADER_SKILLS_CAPTURE.md), [runtime](LEADER_SKILLS_RUNTIME.md), [Planetologist](PLANETOLOGIST_RULES.md), [Suk Graduate](SUK_GRADUATE_RULES.md) |
| Discoveries | Preserve seven sourced Spice Cards and eight physical tokens, private faction peeks and Collection choices. Revealed locations are separate territories; only Jacurutu counts toward stronghold victory. Next-turn free entry, sole-occupant Cistern income and later-turn Ornithopter spending are prototyped; Jacurutu income, Testing Station and Shrine have bounded prototypes; Orgiz and contested/mixed cases remain pending. | [Component authority](DISCOVERY_COMPONENTS.md), [prototype boundary](DISCOVERY_PROTOTYPE.md) |
| Guild Secret Ally | One explicit Guild-priced ordinary shipment; borrowed prices/routes preserve native identity. Free Fremen reinforcement remains a separate choice. | [Route contract](NEXUS_GUILD_SECRET_ALLY_RULES.md), [verified runtime](NEXUS_GUILD_SECRET_ALLY_RUNTIME.md) |
| Homeworld custody and mobility | Physical home/visitor groups, population thresholds, tariffs and transport permissions retain distinct sources; Homeworld immunity is not universal immunity. | [Homeworld rules](HOMEWORLD_RULES.md), [benefits](HOMEWORLD_BENEFITS_RULES.md), [mobility](HOMEWORLD_MOBILITY_RULES.md), [invasion](HOMEWORLD_INVASION_RULES.md), [Guild transport](GUILD_HOMEWORLD_TRANSPORT_RULES.md) |
+78
View File
@@ -0,0 +1,78 @@
# Smuggler normal shipment prototype
13 September 2026. **Prototyped**, with **Partial** rules coverage. Public module
starts and publication remain gated. The lower battle effect and combined
expansion routes are unfinished.
## Source contract
The physical Smuggler card supplies one optional free accompanying force when
shipping from off planet into an empty territory. The selected total includes
that force: ship three actual counters, price two. At least one paid companion
is needed. Empty strongholds qualify; existing forces anywhere in the territory,
including friendly forces, advisors and No-Field presence, prevent the benefit.
Spice alone does not occupy a territory. Determine emptiness before arrival.
See the [publisher CHOAM & Richese rulebook](https://www.gf9games.com/dune/wp-content/uploads/2021/11/CHOAM-Rulebook-low-res.pdf),
pages 8–9 and 12, and the [designer walkthrough](https://www.youtube.com/watch?v=XT_azRVLq_0&t=724s),
12:04–12:19.
Apply ordinary Guild/ally rounding after removing the free counter from the
priced count. Classic Fremen reserves are on planet, so their ordinary Great
Flat reinforcements retain their existing rule. See the
[base rulebook](https://www.gf9games.com/dunegame/wp-content/uploads/Dune-Rulebook.pdf),
pages 9–11 and 13, and [November 2020 FAQ](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf), page 5.
The CHOAM & Richese FAQ explicitly permits a Richese No-Field with a separate
free Smuggler force into empty territory. That valid combination still needs
concealed-counter integration here; its current guard is an implementation gap.
No new material user ruling was required for the ordinary reserve route.
## Connected behavior
A shared public-custody quote powers the engine, UI, bots and shipment-promise
completion search. Only a living native trainer grants the normal effect;
captured and foreign-ghola leaders do not. The selected amount remains the
actual reserve withdrawal and board arrival, including ordinary/elite identity.
The existing payment pipeline receives the actual discounted cost.
The checkbox starts selected when an eligible shipment is chosen. Declining
preserves the full payment, which can matter to recipients and other payment
powers. API omission and explicit false also retain ordinary pricing. All four
AI profiles have a legal path that explicitly chooses the bonus, including a
two-force shipment when only one force can be afforded at the ordinary rate.
This policy is not full skill strategy or difficulty calibration.
Advanced Guild interception stores the trainer, physical total and original
price before payment or departure. Views, automatic normalization and actions
validate the pending declaration against its unique current or saved Guild
decision. Missing/mismatched decisions, stale leaders, changed occupancy and
prices no longer explained by the saved discount record reject before mutation. Actual legacy unstamped
shipments retain their full price and may omit the older optional turn field.
## Verification and remaining scope
Focused tests cover total-versus-priced counts, desert costs, Guild rounding,
Fremen reinforcement, advisors, hidden/captured custody, opt-out, all four bots,
JSON recovery, malformed saved decisions, elite conservation, private SQLite
views, concurrent allowance, nested decision restoration, cancellation and stale replay. Independent review identified the
saved-decision binding gap, which was fixed before the checkpoint checks.
A fresh genuine two-seat setup assigned Smuggler to Hasimir Fenring in an
isolated browser room. A documented fixture advanced only that room to a clean
shipment boundary with two human spice. The browser checked ordinary cost three
and its disabled action, then enabled Smuggler and shipped three actual forces
for two spice. Refresh restored seventeen reserves, three Arrakeen forces,
zero Tanks, zero spice and the same private hand and traitor. This is a targeted
scenario, not a complete human game.
Two genuine four-profile Basic/Advanced samples completed with 99/212 actions,
3/6 JSON restorations and no rejected candidates. Neither sample used Smuggler;
these samples establish continuation only. Targeted tests and browser play
exercise the new effect. Required broad check/build/HTTP results and final
preservation totals are recorded in the checkpoint commit and private report.
Smuggler battle collection still needs its reveal/survival settlement. Combined
No-Field, Homeworld, Nexus, Discovery, Stronghold and technology routes remain
outside this prototype. Mentat questioning, Bureaucrat payments, Sandmaster
movement collection, Spice Banker and Diplomat also remain incomplete. Reuse
this ordinary route when integrating those dependencies.