155 lines
9.8 KiB
Markdown
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.
|