Prototype native Diplomat base-defense copying

Allow one committed Worthless to copy an opposing base Shield or Snooper when no actual defense is played, including protection of the selected native trained leader. Expose an optional named public choice after both plans reveal, before traitor calls, and show the activated protection in revealed plans. Discard the chosen physical Worthless once after battle, including winner and traitor-preempted outcomes. Original physical card identities and plans stay intact. Timing and explicit-discard precedence are documented implementation inferences; lower retreat, modified defenses, combined modes and public starts remain guarded.

Reuse legal Worthless planning candidates and add a public-information decision path for all four AI profiles. Bind new battle choices to revealed plans, public skill stance, canonical card custody and an independent event, validate saved continuations before reads/actions, omit internal proof fields from views, and retain unmarked legacy-battle behavior. Independent rules/privacy/persistence review found no blocker.

Validation: focused Diplomat rules/UI/bot/JSON/SQLite checks plus 80 related legacy checks passed; typecheck, lint, 4537 offline tests, production build and 43 HTTP tests passed. Concurrent copy versus decline, stale/corrupt decisions, self-protection and mandatory traitor-winner discard are covered. Browser genuine assignment and a conserved staged battle exercised human plan submission, refresh of the pending choice, actual Snooper copying with Baliset, Hasimir survival, exactly one Baliset discard, ordinary Crysknife retention and final refresh with private cards and four board forces, fifteen reserves, one Tank and eight spice. Basic/Advanced four-profile samples completed in 210/223 actions with six/seven JSON restores and no rejected candidates; neither encountered an eligible copy, so targeted checks establish the effect.

The server was healthy after the power outage. All 563 opening rooms and original seat/recovery records were preserved (597 after QA/HTTP); SQLite integrity and foreign keys passed. No restart, reset or automation was needed.

Verified source tree: 868bb7484cef244e6ab20f8d08d62e118629e257870cf91a436bf42651b968f5
This commit is contained in:
Quintine committed 2026-09-13 22:05:03 +10:00
1 parent 788453e07e
commit f067950f5e
21 files changed
+1463 -25

No files matched your search

+8
View File
@@ -4,6 +4,14 @@ Updated 13 September 2026. This is the short navigation dashboard; detailed evid
## Evidence and source of truth
- [Diplomat defense copying](DIPLOMAT_DEFENSE.md) connects one committed Worthless
card to an opposing base Shield or Snooper, with optional controls, all four AI
profiles, native trained-leader self-protection and mandatory discard. Saved
choices and concurrent resolution have focused recovery evidence. Lower retreat
and combined modules remain unfinished; no public gate opens. After the latest
outage, the existing server was healthy and all 563 opening games and original
seat records matched the backup. Final checks are recorded in the checkpoint.
- [Smuggler with Richese No-Field](SMUGGLER_NO_FIELD.md) connects the officially
permitted free physical companion, unchanged marker price, private controls,
all four AI profiles and saved cancellation/interception. Genuine CHOAM &
+95
View File
@@ -0,0 +1,95 @@
# Diplomat copied-defense prototype
13 September 2026. **Prototyped**, with **Partial** rules coverage. This connects
the Diplomat's normal band for canonical base Shield and Snooper defenses only.
The lower retreat band, combined modules and other defense cards remain
unfinished. Public Leader Skills starts and publication remain gated.
## Source and interpretation
The archived physical card says that, when its owner plays no defense, one
Worthless card in that Battle Plan may count as the defense the opponent used,
and directs that Worthless card to be discarded afterward. Jack Reda repeats
the effect in the [designer walkthrough at 14:11](https://www.youtube.com/watch?v=XT_azRVLq_0&t=851s).
The [GF9 CHOAM & Richese rulebook](https://www.gf9games.com/dune/wp-content/uploads/2021/11/CHOAM-Rulebook-low-res.pdf),
page 9, keeps a normal skill active while its native trainer and card are face
up. It also expressly keeps the first band available when that trained disc is
selected for battle, if applicable. Page 12 limits a captured skill to its
lower band. The archived component photograph and transcript are retained in
the local source archive described by [the common source contract](LEADER_SKILLS_RULES.md).
The connected base interpretation therefore accepts one actual Worthless card
from either plan slot, or offers a choice when both slots contain Worthless
cards. An actual defense makes the skill unavailable. The opponent must have
played a canonical base Shield or Snooper; an empty defense supplies nothing to
copy. The copied role protects exactly like that base defense without changing
the Worthless card's identity or either revealed plan. This lets the selected
native Diplomat protect itself: copied protection is resolved first, then the
common surviving-trainer rule is evaluated. If the copied type does not stop
the weapon, removing the dead trainer's skill does not change that outcome.
Two timing and cleanup rules are explicit implementation inferences. The
optional public choice occurs after both plans reveal and before traitor calls,
because the copied defense cannot be known when the Worthless card is sealed.
The chosen Worthless is always discarded after resolution, including when a
successful traitor call preempts ordinary weapon effects. This combines the
card's explicit discard instruction with the chosen scheduling point; the
publisher sources do not separately address Diplomat versus traitor timing.
The [November 2020 GF9 FAQ](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf),
page 8, supplies the general winner-retention rule, which the chosen card's
specific discard instruction overrides in this prototype.
## Connected behavior
New supported battles carry a version marker and an independent event-bound
receipt. After reveal, the server derives the eligible physical Worthless IDs,
opposing defense and live native assignment from current custody. Choosing one
records its copied kind; declining records that choice. Either result preserves
the original plans and leaves every card in its hand until battle resolution.
Legacy battles without the new marker keep their existing continuation and do
not gain a retroactive Diplomat opportunity.
The copied base role feeds ordinary weapon survival and existing Poison or
Projectile Defense skill checks. The physical Worthless identity remains
available to checks such as Warmaster. Only the chosen Worthless receives the
mandatory skill discard; a second played Worthless follows ordinary winner or
loser cleanup. The receipt is revalidated before views, normalization and
actions against battle identity, turn, territory, plans, public skill posture,
card faces and unique physical custody.
The decision and its already-revealed card IDs are public. Internal frame,
signature and binding fields are not projected. Before joint reveal, ordinary
sealed-plan and hand privacy remain unchanged. Human controls name the copied
defense and each eligible Worthless card, and allow an explicit decline. All
four AI profiles use the public revealed cards and shared legality; no opposing
hand or pre-reveal plan is inspected.
## Evidence and remaining scope
Sixteen focused checks were observed before the broad checkpoint run. They
cover the pure base quote, Basic and Advanced battles, either Worthless slot,
two-card choice, same-disc survival, Shield explosion composition, captured
discipline strength, decline, controls, all four AI profiles, private/public
views, JSON/SQLite restart, concurrent choice, traitor cleanup, corruption and
legacy continuation. Independent rules, privacy and persistence review found no
blocker in this bounded path. A new isolated browser room used genuine skill
assignment before a conserved staged battle. The human sealed Hasimir Fenring,
Crysknife and Baliset, restored the pending copy choice, copied an opposing
Snooper and resolved. Hasimir survived poison; Baliset was discarded exactly
once. Keeping Crysknife and refreshing preserved that private card and traitor,
four board forces, fifteen reserves, one Tank and eight spice. This is a targeted
browser journey, not full-game acceptance.
Two genuine four-profile Basic/Advanced samples completed in 210/223 actions with
six/seven JSON restores and no rejected candidates. Neither encountered an
eligible copy; targeted tests and the browser establish the effect. Required
broad check results and final saved-game preservation are recorded in the
checkpoint commit and private source-bound report.
The lower Diplomat retreat remains pending with its recorded strength and
resolution-order questions. Shield Snooper, Chemistry, defensive Weirding Way,
Portable Snooper, Carthag-added protection and any future copied or modified
defense need a separate contract for whether generic roles or named exceptions
are inherited. Homeworlds, Nexus, Discoveries, Stronghold Cards, Tech Tokens and
other combined modules remain guarded. These limits preserve the existing
public gates.
+27
View File
@@ -1,5 +1,32 @@
# Dune implementation status
## 13 September 2026 — Diplomat base-defense copying prototype
[Diplomat](DIPLOMAT_DEFENSE.md) now optionally counts one committed Worthless as
an opposing base Shield or Snooper, including to save its native trained leader.
The owner chooses after public plan reveal and before traitor decisions. Exact
physical plans and cards stay in place; the selected Worthless is discarded after
battle even on a win. This timing and explicit-discard precedence over ordinary
traitor retention are recorded implementation inferences, not additional printed
rulings. Lower retreat and modified/combined defenses remain unfinished.
Player controls, all four legal AI paths, public projection and saved decisions
are connected. Independent review and focused SQLite restart, concurrent copy or
decline, corruption rejection, self-protection and traitor-preempted discard
checks cover this boundary. Two genuine four-profile samples completed without
rejected candidates: Basic used 210 actions and six JSON restores; Advanced used
223 actions and seven restores. Neither encountered an eligible Diplomat offer;
targeted battle checks establish the effect. A fresh browser scenario restored
the pending copy, saved native Hasimir from poison, discarded Baliset exactly
once, kept Crysknife and restored the private hand/traitor plus four board forces,
fifteen reserves, one Tank and eight spice. Required broad results are recorded
in the checkpoint commit and private report.
After the new outage report the server responded normally, database integrity and
foreign keys passed, and all 563 opening rooms plus their original seat/recovery
records matched the backup. No restart, reset or automation was required. Public
mode and publication gates stay closed.
## 13 September 2026 — Smuggler with owned Richese No-Field
The [officially permitted combination](SMUGGLER_NO_FIELD.md) now ships one
+8 -4
View File
@@ -53,10 +53,13 @@ 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 Spice Banker normal
income, Diplomat effects and Smuggler battle collection. [Banker battle spending](SPICE_BANKER_RUNTIME.md)
payment redirection and Spice Banker income remain missing. [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 and the [owned No-Field companion](SMUGGLER_NO_FIELD.md).
[Diplomat defense](DIPLOMAT_DEFENSE.md) connects its normal band for a physical
Worthless card copying a canonical base Shield or Snooper; the lower retreat
and modified-defense inheritance remain guarded. Smuggler battle collection
also remains missing.
Planetologist and Suk Graduate have the connected
prototypes described below.
@@ -69,8 +72,9 @@ 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 remaining
skill bands still need connected effects.
Remaining normal-band payments and questions, Smuggler battle collection,
Diplomat retreat and the other guarded skill combinations still need connected
effects.
## Planetologist follow-up
+3 -2
View File
@@ -9,6 +9,7 @@ Updated 13 September 2026. This is the authoritative navigation index for existi
| 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. The officially permitted owned No-Field plus a separate free force is now prototyped at the unchanged one-marker price. Legacy unstamped ordinary declarations keep their quoted full price. | [Ordinary contract](SMUGGLER_SHIPMENT.md), [No-Field combination](SMUGGLER_NO_FIELD.md) |
| Sandmaster movement | One optional board spice per distinct entered territory on an explicit legal route; source-only repositioning earns none. Per-movement Hajr reset is a documented grammatical inference. Canceled moves earn nothing; multiple-pile collection remains guarded. | [Source and connected prototype](SANDMASTER_MOVEMENT.md) |
| Diplomat defense | With no actual defense, one physical Worthless card in either Battle Plan slot may copy the opponent's canonical base Shield or Snooper. The same native trained disc may protect itself. The public after-reveal/before-traitor choice and mandatory discard after traitor preemption are documented implementation inferences. Lower retreat and modified or multirole defenses remain guarded. | [Source and connected prototype](DIPLOMAT_DEFENSE.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) |
@@ -20,7 +21,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; 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) |
| 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, normal Smuggler and normal Diplomat 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), [Diplomat](DIPLOMAT_DEFENSE.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) |
@@ -35,7 +36,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 (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) |
| Leader Skills edge cases | Capture/replacement eligibility, Banker escrow custody (user question sent), Smuggler survival settlement, Mentat empty-hand/death disclosure, Diplomat lower retreat ordering, modified-defense inheritance and remaining simultaneous optional timing need resolution before those cases are enabled. These are recorded source gaps, not answered user rulings. | [Material boundaries](LEADER_SKILLS_RULES.md#material-boundaries-not-settled-by-the-sources), [Diplomat boundary](DIPLOMAT_DEFENSE.md#evidence-and-remaining-scope) |
| 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) |