Prioritize Basic faction prototypes and connect three missing rule paths

This commit is contained in:
Quintine committed 2026-10-08 08:23:20 +11:00
1 parent f36632accc
commit c28e24b5fa
17 files changed
+152 -110

No files matched your search

+24 -1
View File
@@ -1,6 +1,6 @@
# Current development status
Updated 7 October 2026. **The full twelve-faction goal is unfinished. Basic
Updated 8 October 2026. **The full twelve-faction goal is unfinished. Basic
is playable and the six classic factions have a user-authorized Advanced preview.
Expansion starts and full rules/publication acceptance remain gated.**
@@ -16,6 +16,29 @@ open mode gates.
## Current checkpoint and work
**Current priority — Basic → Advanced → interaction refinement.** The user
requests usable first versions for every faction before refinement. Administration
is deferred. Broad suites and capture-resumption campaigns are deferred; rule
delivery uses brief changed-path smoke only, with batched compiler feedback.
**Richese cache cancellation connected.** The printed Karama cancellation
now reaches the restore-one-ordinary-lot policy selected on 7 October. First/last
cache offers are skipped after cancellation; the physical cache stays intact.
Advanced Bene Gesserit conversion uses its existing separate response.
Seven direct engine smoke scenarios pass, including Basic first/last cancellation;
no broad suite was run for this change.
**Basic Ecaz odd-force Occupy prototype.** The main printed paragraph supplies
ceiling contribution/loss and floor survivors, including odd counts. Controls
explicitly label the conflicting-FAQ interpretation as provisional. One five-counter
coalition smoke reaches Collection with three Ecaz losses and two survivors.
**Tleilaxu Ambassador leader alternative.** The beneficiary can revive a
first-death own leader for free instead of returning forces. Private choices,
zero price and legal AI are connected. Independent allowance treatment is
provisional; repeat-death/shared-disc and income interactions remain for refinement.
One Basic arrival-and-bot smoke passes.
**7 October 2026 — five pending rulings resolved by the user.** The user
answered five recorded questions; each is now recorded in
+2 -2
View File
@@ -1,6 +1,6 @@
# Ecaz Occupy: Basic and Advanced source, and historical conflict
Historical primary-source audit, 2026-09-07, corrected after independent verification. The old publisher/designer casualty-rounding conflict remains unresolved as a publisher correction and for odd Basic counts. Its earlier false attribution to Jack Reda is still withdrawn. The later user-authorized Advanced source below selects explicit Advanced arithmetic, and the Basic even-force composition selects E/2 for even counts; neither retroactively certifies that attribution.
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.
## Original live Discovery coalition — 5 October 2026
@@ -324,7 +324,7 @@ Ecaz losses on ordinary allied win = ceil(E / 2)
Ecaz survivors on ordinary allied win = floor(E / 2)
```
The historical publisher/mirror example still conflicts for E=5, and the earlier audits correctly record that publisher gap. Basic now has the bounded even-force composition above: E/2 is source-clear for even counts, and the still-contradictory odd counts are rejected rather than rounded. Advanced uses the separately user-authorized source cutover above: its explicit ceil contribution and floor survivors select the arithmetic without claiming a designer correction. Fixed Ecaz losses stay independent of the ally's variable dial losses.
The historical publisher/mirror example still conflicts for E=5. The 8 October first-version implementation uses the p8 reading in Basic, including odd counts, and labels it provisional in the lead-choice and plan controls. Advanced uses the separately user-authorized source cutover. Fixed Ecaz losses remain independent of the ally's variable dial losses. One actual Basic five-counter coalition smoke reaches Collection with three Ecaz casualties and two survivors; broader interaction refinement is deferred.
## Occupation, controller and battle order
+1 -1
View File
@@ -66,7 +66,7 @@ For Black Market with ordinary bidding, preserve the ordinary opener progression
These questions cannot be silently represented as settled FAQ compliance:
1. **Canceled compulsory lot and an exhausted cache — count resolved 7 October 2026 by user ruling.** The start-of-round reduction and the permission to prevent the cache auction are both printed, and the cancellation table does not say whether a replacement ordinary lot is restored. The user ruled that when no cache lot can run — the cache is exhausted, or the compulsory cache auction is canceled/prevented — **one ordinary lot is restored**, so the ordinary pool runs its full declared count rather than the cache-reduced count. `requireRicheseDeclarationCache` now accepts an exhausted cache (only a malformed or negative count is rejected), and the `richeseAuction` cancellation branch already restores the reduction before the ordinary pool runs. The Karama **authorization** to cancel the compulsory cache auction itself is still gated in `validateKaramaUse` (`richeseAuction` remains non-cancelable), so that branch is the ruled policy awaiting that separate feature rather than a reachable path.
1. **Canceled compulsory lot and an exhausted cache — resolved 7 October 2026 by user ruling; connected 8 October.** When no cache lot can run, the ordinary pool retains its full declared count without the cache deduction. Printed Karama can now cancel the declared cache opportunity in Basic or Advanced; Advanced Bene Gesserit conversion retains its separate response. Cancellation leaves every cached card in place and skips both first- and last-position offers. The before-cache count is frozen at declaration, so spending a cancellation card cannot recount live hand capacity, and the independent completed-Black-Market deduction remains. Five direct engine smoke scenarios cover first/last, printed/BG cancellation and countered conversion; no broad suite was run for this change.
2. **Black Market count wording.** Its specific rule conditions reduction on a sale. The embedded Ixian answer refers more broadly to cards put up for auction. The more specific sale condition supports no reduction for an unsold/canceled Black Market offer. Record that composition explicitly; do not decrement merely on declaration.
3. **Self-purchase of a Black Market card.** The generic alternative methods include Richese, but Black Market says Richese receives all payments and already owns the card. No retrieved paragraph specifies seller exclusion, a self-payment loop, an Emperor payment, or whether self-retention is a sale reducing the normal pool. Do not borrow the cache self-payment exception without a ruling.
4. **Ixian advanced Technology on special lots.** I20 p.9 broadly applies before bidding on a card and before Atreides inspection. R2's explicit restriction concerns the _ally's post-purchase replacement_, not Technology. Consequently that FAQ cannot justify disabling Technology on special lots. No retrieved Richese paragraph explains an exchanged cache lot's new public face, or the custody of a substituted Black Market lot if nobody bids. This is a genuine interaction to resolve before certifying the combined implementation.
+6
View File
@@ -172,6 +172,12 @@ Secrecy (physical page 16), Duke Vidal's ghola exception (30), Kull and other
independent decisions are not reconciled by this cutover.
## Basic Ecaz Occupy even-force boundary — 4 October 2026
**Superseded for prototype availability on 8 October:** the user requests Basic
first versions even when imperfect. Basic odd-count Occupy now uses the main p8
paragraph provisionally (`ceil(E/2)` contribution/loss, `floor(E/2)` survivors),
with a visible control warning. The conflicting FAQ is not adjudicated by this
implementation choice. The historical even-only checkpoint below is retained.
Fresh bounded `ecaz-occupy` now admits Basic with the exact `ecaz` deck and
classic or optional Moritani opponents, no optional modules. For an even Ecaz
+12 -1
View File
@@ -1,6 +1,17 @@
# Tleilaxu Ambassador revival: source contract
Primary-source review, 2026-09-07. This document supplements the [Ambassador effects audit](ECAZ_AMBASSADOR_EFFECTS_AUDIT.md) and [runtime readiness review](TLEILAXU_AMBASSADOR_RUNTIME_READINESS.md). It does not activate the effect or select the unresolved accounting and shared-leader policies.
Primary-source review, 2026-09-07, with later runtime checkpoints below. This document supplements the [Ambassador effects audit](ECAZ_AMBASSADOR_EFFECTS_AUDIT.md) and [runtime readiness review](TLEILAXU_AMBASSADOR_RUNTIME_READINESS.md). Recorded source questions remain distinct from the Basic-first implementation choices.
## First-version leader alternative — 8 October 2026
The beneficiary may now revive one first-death own leader for free instead of
returning forces. Its identity and death count remain unchanged; the original
entrant resumes after the choice. The private leader selector and minimal legal
AI path are connected. The independent grant does not spend the ordinary leader
allowance provisionally, matching the existing independent force path; this is
an implementation choice for the user-requested first version, not a settled
quota ruling. Dead-twice, shared Duke/KH and revival-income interactions remain
refinement boundaries. A direct Basic arrival-and-bot smoke passes.
## Printed grant and immediate consequences