Files
Dune/docs/HOMEWORLD_ECAZ_DUKE.md
T

155 lines
9.8 KiB
Markdown

# Occupied Ecaz: Duke Vidal grant
## Source and selected ordinary lifecycle — 26 October 2026
**Prototyped / Partial.** The occupied Ecaz
card grants Duke Vidal to the occupier or their ally and overrides the native
Ecaz/Moritani Duke advantage. The already visually verified component is indexed
in [the component audit](HOMEWORLD_COMPONENT_AUDIT.md) and represented in
`game/homeworld-cards.ts`. Advanced occupation uses the authorized supplied PDF,
physical22: sole foreign qualification persists until the occupier's last force
leaves. Basic retains its existing provisional current-sole policy.
The user's [Ecaz-only revival ruling](ECAZ_REVIVAL_RULES.md#selected-product-interpretation-28-september-2026)
supersedes the card's foreign-revival wording. This grant never revives Duke.
The shared disc, native identity, strength6, deaths, actual battle use and Tanks
stay authoritative; neither a leader copy nor a foreign native roster is added.
Homeworld benefits are Karama-immune under [the global source](HOMEWORLD_RULES.md#karama-and-other-optional-systems).
Under the 14 October choose-recommended authority, the first ordinary lifecycle
is explicitly provisional: one recipient choice per actual turn/qualification,
one battle, unused tenure ends at turn end. Continuing occupation permits a new
choice next turn after native reset. Departure/changed qualification or loss of
the selected reciprocal ally ends only this source; no earlier holder returns.
A real source receipt retains the original qualification/occupier/recipient.
Used-at history blocks repeated same-turn grants even after requalification.
At a settled otherwise quiet boundary, one eligible recipient receives Duke
automatically. An allied occupier chooses self or reciprocal ally in persistent
controls, including before either Battle Plan seals. Committed responses,
arrivals, auctions and sealed plans resolve first. Ordinary living native tenure
is set aside when occupation overrides it; native Ambassador/Moritani acquisition
cannot take him back. Living Ecaz Nexus Cunning likewise respects that priority;
Ecaz's separate resurrection remains distinct. Captured, concealed or foreign
Ghola custody is explicitly guarded rather than silently removed.
## Captive tenure and public expiry — 27 October 2026
The printed occupied face overrides Ecaz/Moritani Duke acquisition but does not
expressly name Harkonnen captivity, concealment or foreign Ghola custody. Ecaz
Nexus Cunning separately names exceptional custody. Targeted primary-source
review found no specific combined liberation ruling. Retain the existing fresh-
acquisition guard conservatively, not as a claimed publisher prohibition. The
explicit user Ecaz-only revival override remains binding.
The existing provisional lease still ends at public turn end, occupation/
qualification loss or loss of the selected reciprocal ally. Captivity does not
extend it. Retire the original tenure coherently without moving the actual
captured disc, changing the captor, erasing concealment/deaths/use or restoring
an earlier controller. A secret execution keeps its public leader snapshot until
an ordinary public expiry; private death/use is not an expiry signal. End-turn
retirement follows the existing turn-end producer even while ordinary settled
reconciliation is waiting on other parents.
An actual captive return independently rechecks the original receipt/current
qualification before restoring tenure. This applies to both native return sites:
all native Harkonnen leaders dead, or the captive's battle use. Still-current
eligible early return retains its original grant and creates no second receipt;
ended tenure returns set aside. Other Duke sources keep their existing rules.
Retirement is a selected provisional tenure composition, not new permission to
liberate or revive Duke. Public expiry messages stay generic across ordinary,
held and secret-return cases.
Twelve related files pass80/80, with types/lint/build. Seven controlled helper
cases and seven new engine cases distinguish pure custody witnesses, actual
native chronology and helper-only current/departed release contexts. The original
five-seat public Advanced Ecaz/E/G/A/H source earns real occupation, grant,
second battle, emitted unused-Duke capture and Keep. E's original paid2 garrison
uses empty Tabr, H really sends1 there, and Duke stays unused in that battle.
No played hand/force/purse/clock/occupation/grant/capture receipt is installed;
only unopened six-card/Spice positions and scalar lotteries are selected.
Existing four-seat defaults remain; stamped Charity/Revival follows current
native order. The old revival test now waits for Ecaz's own opportunity.
The runtime takes a139-action selected prefix into actual Keep/Execute callbacks;
the full Keep producer is140 actions. Twelve table/four grant renders observe
both actual public expiries, relevant observer/captor views and the native later
paid E1 entry/captive-Duke battle return (55 actions). Two helper supplements
are labelled; no played same-turn departure or five-native-Hark-deaths release
campaign is claimed. Captured choices now display Duke's projected strength6
rather than looking only in the captor's native roster. No stateful shipment/
plan controls, browser/hydration/mobile or deployed proof is claimed.
V4 matches the frozen source exactly before carrying v2's80-case union and
v3's types/lint/build, then reruns the corrected observer/prefix runtime. Final
three-document evidence overlay follows. Earlier failed records stay preserved.
Proof: `/home/quintine/.local/share/dune/checkpoints/20261027-homeworld-ecaz-captive-proof-v4/`;
journeys/HTML: adjacent `20261027-homeworld-ecaz-captive-runtime/run-v3/`.
No restart/saved-game/database operation. Wider custody/Skill/Nexus compositions,
comprehensive final assurance and complete-mode/browser/deployed acceptance remain
open. This rule delivery is not a capture-resumption/save/privacy assurance sweep.
## Connected controls and minimal policies
The owner-only `homeworldEcazDuke` view contains original event, projected
recipient labels and an availability reason. `homeworldDuke` accepts exactly
that event/recipient, validates the live entitlement and appends its receipt.
No printed fee, power use or revival is fabricated. The GameTable panel does
not time out, and its busy/blocked controls suppress callbacks. All four existing
profiles choose the first legal projected recipient; strategy remains deferred.
## Native source and scoped proof — 26 October 2026
Three disjoint helper/native-source/control lanes and root integration pass
**15 files,129/129**, types/lint/build and **eight native engine/GameTable SSR/
actual grant-control journeys** on unchanged source. Thirty-five new cases cover
automatic/explicit recipients, source/actor guards, one use/death, actual Ecaz
revival, controlled lifetime boundaries and all four minimal profiles. Native
Basic97/99 and Advanced113/115-action sources retain all33 original cards:
real deferred bribe, shipments, worm Nexus alliance, four-force World invasion,
actual victory leaving3 foreign occupiers, and a separate original next battle.
No played force, wallet, hand, clock, occupation or grant is installed. Pure
quote/contract controls remain labelled controlled supplements.
The [native producer](../tests/fixture-homeworld-ecaz-duke.ts) starts public
Ecaz/Emperor/Guild/Atreides with exact Ecaz deck and Homeworlds only. Guild's
actual one-spice bribe waits for Mentat; Emperor's actual paid2 Carthag shipment
supplies the later army. Turn2's actual worm Nexus optionally allies Emperor/
Guild. A real quoted four-normal World invasion and native E5+dial1 versus
Ecaz2+World2 battle leave three Emperor occupiers, zero native counters and the
original living Duke. Atreides' separate paid entry creates the next actual
Arrakis battle. Original setup/deal/Spice positions and scalar lotteries alone
are selected. The first unallied grant is automatic; the allied frame retains
both original choices before plans.
The [engine cases](../tests/homeworld-ecaz-duke-engine.test.ts) use Duke in that
separate battle, preserve one-use receipt and actual death, and progress to
turn3 Revival. A foreign revival rejects. Ecaz really pays5, retaining the same
disc/deaths while returning him alive and set aside; the ongoing occupier then
gets its new turn's two-recipient choice. The runtime follows actual component
callbacks for both recipients and a second actual grant after this revival.
Eighteen [pure quote cases](../tests/homeworld-ecaz-duke-quote.test.ts) explicitly
use controlled typed/history inputs for Basic loss versus Advanced retained
occupation, reciprocal recipients, spent/new-turn choices, source/stale denial,
lifecycle release and unsupported custody. Seven
[control cases](../tests/homeworld-ecaz-duke-controls.test.tsx) label their
projected contract rather than invent native gameplay. Three
[minimal-policy cases](../tests/homeworld-ecaz-duke-bots.test.ts) use genuine
Basic/Advanced sources and all four actual owner-view proposals; separate
blocked-projection negatives remain controlled. No strategy/calibration occurs.
Feedback repairs only the native fixture's later Basic dial and typed original
poison lookup. Final v2 binds2949 files to
`a6067af16cb7095856c6dc186d8f5c58e4146cb44c1017274caed718d98c3c68` on base `d5c5342d2d620f685cdce52fb941f4141573fdfa`.
Final frozen v2 report/logs:
`/home/quintine/.local/share/dune/checkpoints/20261026-occupied-ecaz-duke-proof-v2/`;
journeys/HTML: adjacent `20261026-occupied-ecaz-duke-runtime/`.
Complete rules, wider interactions and final assurance remain open. No saved-
room/D1/server, reset/restart, deployment or recovery operation occurs. DOM/
hydration, browser/mobile and exact-revision deployed acceptance remain due.
Public mode gates, existing saves and unrelated games remain preserved.
Captured/concealed/Ghola transfer, wider Nexus/Skill compositions and complete
Homeworld/Duke acceptance remain open; this ordinary grant is not their release.