Apply Low Ecaz opponent-owned battle lead choice

This commit is contained in:
Quintine committed 2026-10-25 21:04:38 +11:00
1 parent 96de962622
commit 33523d1926
15 files changed
+597 -17

No files matched your search

+26
View File
@@ -16,6 +16,32 @@ open mode gates.
## Current checkpoint and work
**Low Ecaz opponent-owned battle lead — 25 October. Prototyped / Partial.**
The original combined-battle opener now applies the printed Low penalty:
at native population zero through six, the opponent chooses Ecaz or its ally
as lead. High at seven and no-World games retain Ecaz's ordinary choice.
Persistent controls name the captured chooser; the same minimal policy adapter
serves that owner. Selected leaders/cards/payment, physical armies, aggressor
normalization and later Occupy cancellation remain unchanged. Existing opened
decisions retain their saved owner. No new numerical ruling or mode admission.
[Component source and scope](ECAZ_OCCUPY_RULES.md#low-ecaz-opponent-owned-lead-choice--25-october-2026).
Disjoint helper/controls and native-source work, bounded review and root
integration pass **9 files, 160/160**, types/lint/build and six native actual
component-callback/engine/GameTable SSR journeys. Public Basic 74/Advanced 83
actions earn actual Ecaz6 Basin placement, real worm alliance and paid eight-
counter shipment, leaving Low6/four spice. The opponent selects either lead;
both modes reach Collection. Original Guild Karama keeps the chosen allied
lead while sparing Ecaz's eight counters. A real seven-counter shipment leaves
High7 and the ordinary Ecaz callback. Both rules bands retain all four legal
opponent profiles. Seven helper/control cases include labelled controlled
projections, not earned source substitutes. Setup-driver phase selection and
unintended early Guild stopping were repaired without changing game legality.
No played source hand/wallet/forces/phase/alliance is installed. No saved-room,
D1, server, reset, restart or deployment operation occurred. Broader modules,
full modes, browser/mobile/deployed and final assurance remain open; SSR and
callbacks do not certify hydration.
**Purchased Karama rate with native Richese Cunning — 25 October. Prototyped / Partial.**
The original independent rate now halves Cunning's one billable pair unit plus
any High paid companions, rounded once and paid to the bank. The original
+58 -2
View File
@@ -2,6 +2,62 @@
Historical primary-source audit, 2026-09-07, corrected after independent verification. The publisher/designer odd-force conflict remains unresolved as a publisher correction. Under the 8 October Basic-first prototype instruction, Basic now provisionally uses the main p8 paragraph: ceiling contribution/loss and floor survivors, with a visible control warning. This is not a numerical ruling by the user or designer. Advanced retains its separately authorized source. The earlier false attribution to Jack Reda remains withdrawn.
## Low Ecaz opponent-owned lead choice — 25 October 2026
**Prototyped / Partial.** The verified Ecaz Low face says that when Ecaz and
its ally both fight another faction, that opponent chooses which allied
faction fights. The [component audit](HOMEWORLD_COMPONENT_AUDIT.md#verified-low-side-effects)
and [native population manifest](HOMEWORLD_COMPONENT_AUDIT.md#canonical-physical-manifest)
bind Low to zero through six native reserves and High to seven or more.
This is a printed penalty, not a new numerical or timing interpretation.
The original combined-battle opener now assigns its existing two-choice
control to the actual opposing faction at Low; at High or without Homeworlds,
Ecaz retains that choice. No extra acknowledgement, payment or card is added.
The selected lead still owns its leaders, hand and spice. The physical ally
still supplies the original variable army while Ecaz's fixed contribution is
unchanged. Original battle-order scheduling and aggressor normalization remain.
Karama may subsequently prevent Occupy, keeping the selected lead and excluding
the other army; it does not undo the Homeworld's mandatory chooser penalty.
Choices use only the original public allied identities, never rival hand
contents. Only the captured decision owner may choose; stale events and foreign
actors remain rejected. Already-opened decisions retain their saved owner
rather than reopening a choice or changing an in-flight parent.
The persistent panel and unavailable reasons name the actual chooser and
explain Low Ecaz. The four existing profiles consume the same original legal
lead options without strategic tuning. This applies to newly opened admitted
Arrakis coalitions in either rules band; it adds no coalition to Homeworld
locations, new profile or occupation-retention rule.
Evidence paths: [chooser quote](../game/ecaz-homeworld-lead.ts),
[quote cases](../tests/ecaz-homeworld-lead.test.ts),
[native source](../tests/fixture-low-ecaz-battle-lead.ts),
[native cases](../tests/low-ecaz-battle-lead-runtime.test.ts),
[controls](../components/ecaz-occupy.tsx) and
[shared choices](../game/ecaz-occupy-options.ts).
Full rules/mode and browser/mobile/deployed acceptance remain open.
Frozen **9 files, 160/160**, types/lint/build and six native actual component-
callback/engine/GameTable SSR journeys pass. Basic 74/Advanced 83 source actions
use original public setup, actual Ecaz6 Basin placement, real worm alliance and
a paid eight-counter city shipment: native Low6/four spice. Both opponent-
selected leads in both modes reach Collection. Actual Guild Karama preserves
the selected allied lead and spares Ecaz8; the High7 boundary is earned through
an actual seven-counter shipment and accepts the ordinary Ecaz callback.
All four original opponent profiles select legally in both bands. Seven helper/
control cases supplement the ten native cases with clearly controlled contexts;
no controlled source substitutes for those actual setup and shipment actions.
The first source smoke repairs an incorrectly selected setup-phase control;
the first frozen runtime identifies Guild's default bot stopping Emperor's
Advanced shipment before battle. Explicitly allowing that original shipment
preserves both armies and its genuinely dealt battle Karama; no engine rule is
bypassed. Private source-bound proof/HTML:
`/home/quintine/.local/share/dune/checkpoints/20261025-low-ecaz-battle-lead/`.
No saved-room/D1/server/reset/restart/deployment operation occurred. Other
profiles/modules, full-mode/comprehensive assurance and browser/mobile/deployed
acceptance remain open; SSR/callbacks are not parent hydration.
## Bare Basic native families — 24 October 2026
**Prototyped / Partial.** Fresh public Basic Ecaz tables now admit native Ixians,
@@ -315,7 +371,7 @@ Advanced ordinary-win Ecaz survivors = floor(E / 2)
Advanced ordinary-win Ecaz losses = ceil(E / 2), separately from ally dial losses
```
Ecaz chooses the lead faction; that faction supplies its actual leader/cards/
Ecaz chooses the lead faction unless its Low Homeworld assigns that choice to the opponent; the selected faction supplies its actual leader/cards/
plan and spice, while the active variable dial always uses **Ecaz's ally's**
force pool plus the fixed Ecaz contribution, regardless of lead.
**Physical p19 / logical p17 Ecaz Karama row** explicitly
@@ -570,7 +626,7 @@ Jack Reda independently confirms the stronghold exception and explains the two m
Implementation must therefore distinguish:
- **Battle-order actor:** determined by the normal battle sequence before Ecaz's selection.
- **Selected battling faction:** Ecaz chooses this after battle order is determined. It supplies its own permitted leader, hand and Battle Plan; it is not permission to browse or play the ally's hand.
- **Selected battling faction:** Ecaz chooses this after battle order is determined, except that Low Ecaz gives the choice to the opponent. It supplies its own permitted leader, hand and Battle Plan; it is not permission to browse or play the ally's hand.
- **Dialed force owner:** always Ecaz's ally while Occupy operates.
- **Fixed-contribution owner:** always Ecaz, with the printed half-force contribution and separately attributed casualties.
+11
View File
@@ -132,6 +132,17 @@ The reverse galleries were also inspected directly (`/tmp/dune-rules/homeworld-r
These faces require actual rule integrations, not a generic faction-disabled flag. Tleilax's phase-start condition, Tupile's once-per-faction private question and hand-limit cleanup, Grumman's reveal immunity, split income and displaced Bidding/bonus ownership have different lifecycles. Occupied Ecaz is an explicit additional Duke authority and revival permission; it does not by itself answer every existing loan-expiry, revival-custody or death-cycle question.
## Low Ecaz battle lead — 25 October 2026
The printed Low Ecaz penalty now owns the original combined-battle choice:
its opposing faction chooses Ecaz or the ally as lead at native population
zero through six. High at seven and games without Homeworlds retain Ecaz's
ordinary choice. Both rules bands use the same public identities and original
plan/physical-army/payment rules. Existing opened choices retain their owner;
Karama against Occupy afterward keeps the selected lead. No new coalition,
profile or occupation-retention rule is introduced.
[Canonical contract and focused evidence](ECAZ_OCCUPY_RULES.md#low-ecaz-opponent-owned-lead-choice--25-october-2026).
## Native custody and population
The planet disc holds that faction's native reserve forces. A Homeworld is a distinct off-planet location, not an Arrakis territory, additional stronghold, private hand zone or a new supply of pieces. Invaders retain their own faction and physical force types; native reserves and foreign garrisons must be distinguishable. Total faction inventory continues to include forces on Arrakis, on every Homeworld, and in the Tanks.
+46
View File
@@ -1,5 +1,51 @@
# Dune implementation status
## 25 October 2026 — Low Ecaz gives the allied battle choice to its opponent
The native Homeworld Low face's printed opponent-choice penalty now connects
to the original combined-battle opener. A focused quote uses current native
Ecaz population, delegating at0–6 and retaining Ecaz at7+ or without Worlds.
The original decision captures the actual opposing player and optional public
Low marker. Existing opened decisions retain their saved chooser. Controls,
unavailable reasons, log and the existing four-profile legality adapter name
that owner, without new acknowledgements, payments or strategic tuning.
Both original allied lead choices preserve their own plan/cards/spice, the
physical variable ally, mandatory Ecaz contribution and native aggressor order.
Subsequent Karama may prevent Occupy but keeps the selected lead and spares the
excluded army; it does not undo the independent Homeworld penalty. This is a
printed-rule integration, not a new numeric/timing ruling, profile admission,
Homeworld-location coalition or occupation-retention policy.
[Canonical component contract](ECAZ_OCCUPY_RULES.md#low-ecaz-opponent-owned-lead-choice--25-october-2026).
Disjoint helper/control and native-source lanes, bounded read-only review and
root integration pass **9 files, 160/160**, types/lint/build and six native
actual component-callback/engine/GameTable SSR journeys. Public Basic74 and
Advanced83 source actions earn original setup (six Ecaz in Basin), actual worm
alliance and paid eight-counter city shipment, leaving Low6/four spice. Either
opponent-selected lead reaches Collection in each mode. Original Guild Karama
keeps the selected allied lead, spends its genuine card and spares Ecaz8.
An actual seven-counter shipment earns High7/five spice and the ordinary Ecaz
callback. Ten native cases cover denial/stale input, both leads/cancellation,
threshold and all four original profiles in both modes. Seven helper/control
cases include explicitly controlled projections rather than invented native
source proof. No played hand/wallet/army/phase/alliance or decision is installed.
Initial source feedback repairs a fixture's setup-phase step. Frozen quick
passes; its runtime then exposes a fixture bot spending Guild's starting Karama
to stop Emperor's Advanced shipment before any coalition. An explicit original
Allow keeps that shipment and the actual card for the intended battle counter.
The final frozen related union and all runtime paths pass; no rule, assertion
or source requirement is weakened. Private logs/HTML:
`/home/quintine/.local/share/dune/checkpoints/20261025-low-ecaz-battle-lead/`.
`frozen-fixture-fix/report.json` passes identical source tree
`d08994fe70cb09a26ff5f755bcb2c1e12ab74472578951f497d505625b3c25d6`,
2,813 files, base `96de962`. Final prose-only evidence changes are separately
hash/link checked without repeating unchanged runtime checks. Broader modules,
full modes, browser/mobile/deployed and final assurance remain open. SSR and
callbacks are not parent hydration acceptance. No saved-room/D1/server/reset/
restart/deployment operation occurred.
## 25 October 2026 — Purchased Karama rates compose with native Richese Cunning
The native unallied pair now accepts its original independent purchased rate.
+1
View File
@@ -1254,6 +1254,7 @@ dedicated retrieved worked FAQs. [Contract and remaining limits](HOMEWORLD_OCCUP
| 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) |
| Ix High paid-Cyborg bonus | Provisional composition: observe High before the accepted ordinary group; add up to two actual remaining Suboid Tanks per paid Cyborg outside normal allowance/free quota, without Recruits multiplication or future debt. Preserve the paid invoice and original cancellation/stop outcomes. Prior La La La suppresses new grants; a delivered bonus is one existing free-return income event, not a second award. The card establishes the grant; quota, shortage and event classification are application policy, not a located Ix FAQ. | [Current contract and source boundaries](HOMEWORLD_BENEFITS_RULES.md#provisional-ix-high-paid-revival-bonus--25-october-2026) |
| Low Homeworld / Tleilaxu revival prevention | Provisionally prevent the qualifying return as a whole while preserving the printed Low free rate. No independent bonus-only return, cost, quota use, revival income or new High follow-up arises from a stopped event. Quiet and pending native special-Karama windows share the same eligibility. Retain the 24 October Ghola phase4 cutover and Emperor special immunity. This event/advantage composition is not a located combined FAQ. | [Current source and policy](HOMEWORLD_BENEFITS_RULES.md#provisional-low-homeworld-revival-prevention--25-october-2026) |
| Low Ecaz battle chooser | At current native population0–6, the printed Homeworld penalty gives the opposing faction the existing choice of Ecaz or its ally as combined-battle lead. High7+ and no-World retain Ecaz. Capture the chooser when the original battle opens; existing pending decisions keep their owner. Selected plan/payer/physical armies and later Occupy cancellation remain unchanged. No new numerical ruling or coalition is introduced. | [Component source and current contract](ECAZ_OCCUPY_RULES.md#low-ecaz-opponent-owned-lead-choice--25-october-2026) |
| High Richese reserve accompaniment | The printed High card permits reserve forces beside a No-Field. Provisionally bill one marker plus the actual paid companions as one rounded ordinary group, observe High before that group and permit its completed shipment to cross Low. Hidden value stays in reserves; optional Smuggler reserves an additional real free counter. Original No-Field/Guild decisions and invoices remain, and the two-token Cunning route retains its separate contract. Combined tariff and grouped threshold timing are composition policy, not a printed worked example. | [Current prototype and boundaries](HOMEWORLD_RULES.md#high-richese-mixed-shipment-prototype--25-october-2026) |
| High Richese / Nexus Cunning paid group | Provisionally price the pair as one unit plus explicit paid ordinary counters; reserve the paid group first, then immediately materialize only the remaining stock for the faceup token. Observe High before the atomic group, permit crossing Low and retain the concealed token's later reserve-capped reveal. Original Nexus spend, two-token history, No-Field cancellation and Guild stop remain. No new Smuggler pair or retrofitted quantity; the later purchased-rate composition below is separate. This is combined pricing/allocation policy, not a located worked example. | [Current combination contract](NEXUS_RICHESE_RULES.md#high-homeworld-cunning-accompaniment--25-october-2026) |
| Purchased Karama / native Richese Cunning | Provisionally apply the original independent half-normal, bank-paid grant to one pair unit plus any paid High companions, rounded once. Bind original beneficiary/owner/optional activation card even at unchanged city fee. Keep live claimed-cost history, original No-Field unused-grant/spent-Nexus outcome and existing provisional Guild-stop exact-card refund. No native Guild rate or replacement grant is invented. | [Current source and boundaries](NEXUS_RICHESE_RULES.md#purchased-karama-rate-with-native-cunning--25-october-2026) |