Connect classic allied Bureaucrat payment redirection

This commit is contained in:
Quintine committed 2026-10-13 08:24:56 +11:00
1 parent ec574ab0f5
commit c3d1896673
17 files changed
+1057 -220

No files matched your search

+62 -11
View File
@@ -91,9 +91,13 @@ Allied funding is evaluated per actual payer, not by adding different payers'
shares to create the five-spice trigger. A three-plus-three payment, or
four-plus-three, has no eligible payer and proceeds through original funding,
payment, card/force commitment and recipient income without a Bureaucrat offer.
Individually qualifying private or split payments (including a payment funded
entirely by a qualifying ally) still need payment-unit/privacy integration and
remain guarded before costs. Split-recipient Homeworld income stays separate.
In supported classic profiles without Homeworlds, individually qualifying
allied-funded auction and shipment receipts now offer one optional redirection:
five-plus-three, three-plus-five, five-plus-five and fully ally-funded five.
The receipt loses exactly two, never two per contributing payer. A share paid
by the trainer or recipient cannot qualify, but does not mask a different
eligible payer. Qualifying expansion-faction funding and split-recipient
Homeworld income retain their separate integration guards.
Independent Karama shipments paid entirely to the Bank bypass player-income
guards. A successful use remains tied to the physical card's turn and phase,
including same-phase ownership changes; that accounting is an implementation
@@ -107,20 +111,67 @@ one paying player; separate below-threshold costs are not one six-spice
payment by that player. The check now preserves that individual threshold
without opening the unresolved qualifying split-payment reaction.
Real Basic and Advanced skill setup trains Bureaucrat; a real turn-two worm
forms the Harkonnen/Fremen alliance. Conserved starting counters and undealt
Spice Card ordering isolate the payments; no wallet, phase, alliance or ledger
is assigned. Both before shipment programs rejected valid three-plus-three.
Afterward, Basic/Advanced shipment and ordinary auction programs preserve the
six-spice debit and full Guild/Emperor receipt. Eight cases in
`tests/bureaucrat-split-threshold.test.ts` cover three/four personal spice plus
three allied, ordinary acquisition and the remaining five-plus-three guard.
The former threshold fixture used real skill training, turn-two worm and
mutual Harkonnen/Fremen alliance, but folded original board armies into
reserves. Its below-five checks and obsolete qualifying-guard assertions are
now replaced by the original-army fixtures below; it is not current native-army
evidence. Before the threshold fix, both shipment programs rejected valid
three-plus-three. Afterward, the six-spice debit and full Guild/Emperor receipt
continued without an offer.
The actual390px Basic controls pledge Fremen's three,
ship six counters into Habbanya Sietch17 for three personal plus three allied,
credit Guild5→11 and finish the original Movement turn. Initial Vite optimizer
request aborts and cosmetic action notices are recorded; this is local proof,
not deployed or full-family acceptance.
## Qualifying classic allied receipts — 13 October 2026
`tests/fixture-bureaucrat-qualifying-split.ts` retains original setup armies,
wallets and phase progression. A real first-turn three-spice bribe is collected
at the original Mentat Pause; the actual next worm and mutual alliance precede
the turn-two pledge. Only unplayed physical card ordering/custody is staged.
All six Basic/Advanced qualifying shipment and all six auction before programs
rejected immutably after the real pledge at the old integration guard.
The signed internal receipt retains each positive actual payer share. Existing
single-payer receipts gain no new signature fields. The public prompt retains
the already public gross price and recipient, but its payer is null for allied
funding: no exact shares, selected qualifying identity or internal source is
projected. Controls explain unchanged full contributor costs and gross-minus-two
recipient income. This conservative prompt-composition policy reveals that an
eligible share exists, not which private contribution meets the threshold.
Original Karama income cancellation still precedes Bureaucrat. Cancellation
banks the entire gross receipt and creates no offer/use; allowance keeps original
purchase/force commitment and asks the native trainer before credit. Decline
preserves later use; a five-plus-five receipt still consumes at most one use.
Actual native owner/payee funding and real phase-boundary cases are covered.
The existing bot payee/alliance choice needs no private contributor identity.
Four parent actual programs additionally exercise entirely Fremen-funded five
in both payment families and modes. Harkonnen pays zero, Fremen6→1, Guild
receives three after redirection or Emperor10→13; the original five shipped
reserves or purchased card and one legal Harkonnen bonus remain committed.
Two actual390px GameTable flows use original Karama allowance then the new
choice: Basic five-plus-three redirects two, Guild5→11/H2/F3/B10 and original
Finish hands Movement to Fremen; Advanced three-plus-five allows all eight,
Emperor10→18/H6/F1/B12, one purchased card plus one bonus, then original next-lot
inspection allowance returns native Bidding at index1. Artifact outside Git:
`/tmp/dune-native-bureaucrat-3225.json`.
The isolated host initially failed virtual React-refresh module resolution;
its resolver was corrected. The actual built app stylesheet supplied native
styling. A stale accessibility-node failure followed an already accepted
income allowance; authoritative state was inspected and no action replayed.
The generic network-idle wait timed out against the live dev host; direct
controls and fresh state/visual observations supplied the evidence instead.
This is local rule/control proof, not production, recovery or full-mode proof.
The native fixtures and consumer cases are
`tests/fixture-bureaucrat-qualifying-shipment.ts`,
`tests/bureaucrat-qualifying-shipment.test.ts`,
`tests/fixture-bureaucrat-qualifying-auction.ts` and
`tests/bureaucrat-qualifying-auction.test.ts`.
## Saved choices and verification
Only the skill owner may redirect or allow the current payment. The saved event
+28
View File
@@ -29,6 +29,34 @@ optional skill bands, combinations and public expansion starts remain open.
Rules implementation continues; comprehensive assurance and administration
remain deferred until all rules are implemented.
**Bureaucrat / qualifying classic allied receipts — 13 October.**
Original Basic/Advanced five-plus-three, three-plus-five, five-plus-five and
fully ally-funded five auction/shipment payments now offer one two-spice Bank
redirection after original Karama allowance, with every original payer cost
unchanged. Six before shipment and six before auction programs rejected
immutably at the old guard after actual pledges. New fixtures retain original
setup armies, first-turn bribe/Mentat credit, real next worm and mutual alliance;
the old folded-army threshold fixture and obsolete guard assertions are removed.
Public gross/recipient remain, but private shares and qualifying identity do
not: allied prompt payer is null. Owner/payee contributions cannot qualify;
both-five still spends one physical use. Qualifying expansion-faction funding
and split-recipient Homeworld income remain guarded; gifts stay excluded.
Four parent actual fully-funded programs and two actual390px GameTable flows
preserve original forces/acquisitions and one bonus/continuation. Basic Guild
redirect finishes Movement at Fremen with G11/H2/F3/B10; Advanced Emperor
decline returns original next lot1 with E18/H6/F1/B12 and no use.
Artifact: `/tmp/dune-native-bureaucrat-3225.json`.
The isolated virtual-refresh resolver needed repair and the actual built
stylesheet supplied styling; one accepted allowance preceded a stale-node
tool failure and was not replayed. Network-idle timed out; direct fresh control
and state observations prove both paths. Types/lint and66/66 across five
affected unit files pass (44 new native consumer cases plus one quote case);
build passes with unchanged deprecation/chunk/route-classification warnings.
Initial feedback removed superseded guards, copy-only renderer pins and an
incorrect unchanged-wallet expectation across legitimate Advanced Collection;
fixture narrowing was repaired, not game rules or bots.
No deployed, save/recovery, whole-game or full-mode acceptance follows.
**Semuta / native battle-reward cancellation — 13 October.**
Original Advanced Harkonnen capture, CHOAM Auditor and quoted force-income
printed Karama costs now offer before denial. Six positive before programs
+58
View File
@@ -1,5 +1,63 @@
# Dune implementation status
## 13 October 2026 — qualifying classic allied Bureaucrat receipts
Supported classic no-Homeworlds auction and shipment funding now retains each
actual positive private payer share in the original signed internal receipt.
Eligibility is per other payer at least5, excluding trainer and recipient;
gross prices cannot pool below-five shares. Exactly2 goes to Bank from one
gross recipient credit, including both-five. Original full debits, committed
cards/forces, Karama-before-credit ordering and physical once-per-phase use
remain. A canceled gross receipt creates no Bureaucrat offer/use.
Single-payer receipts gain no new signature fields. New private receipts project
public gross/payee with payer null, never shares or selected qualifying payer;
the owned control explains unchanged contribution costs. Existing legal bot
choices need only recipient/alliance, not private payer details.
Qualifying expansion-faction funding and split-recipient Homeworld cases keep
their integration guards; gifts remain explicitly excluded.
The new shared fixture preserves native five-seat classic armies and wallets.
Actual first-turn bribe3, original Mentat collection, second-turn worm and
mutual alliance fund real Fremen pledges. Only conserved unplayed card ordering
or custody is staged. Both modes and all three qualifying splits rejected
immutably before at the exact old guard: six shipment plus six auction programs.
The former threshold fixture folded original board armies into reserves;
its duplicated below-five and superseded guard tests are deleted, not repinned.
Children each exercised one actual after scenario: five-plus-five shipment in
both modes (G5/6→13/14 on redirect,15/16 on decline, unchanged on cancellation;
H2/4,F1,B10/12 and native ten-reserve deployment), and Advanced five-plus-five
auction (E10→18,H4,F1,B12, original purchased treachery-6 before choice and
one native treachery-11 bonus afterwards). Parent actual programs prove
fully allied-funded five in both modes and families: H pays zero/F6→1;
Guild credits3 or Emperor10→13, original five shipped reserves or purchase/
one bonus remain. No wallet, phase, force or alliance is assigned.
Two actual390px GameTable flows use original income allowance and new owned
control. Basic five-plus-three redirects2: G5→11,H2,F3,B10, original eight
reserves commit beside Carthag10, Finish hands Movement to Fremen once.
Advanced three-plus-five allows8: E10→18,H6,F1,B12; original one purchase
and one bonus precede original next-lot inspection allowance, native lot1/F.
Artifact: `/tmp/dune-native-bureaucrat-3225.json`.
The isolated host initially failed its virtual React-refresh self import;
the resolver was corrected. Native styling came from the actual new app
stylesheet. One stale accessibility-node failure followed accepted allowance;
authoritative state was inspected without replay. A generic network-idle
wait timed out; direct controls and fresh state/screenshots supplied proof.
No production or saved-game/full-mode claim follows.
Initial frozen feedback ran69 cases:67 passed, an obsolete qualifying guard
and an incorrect unchanged-wallet expectation across native Advanced Collection
failed. Both implementation/incidental pins were removed, not repinned.
Four fixture typing issues were repaired; two copy-only renderer tests and dead
image-alias hooks were removed. The repaired focused two-case iteration passes;
types pass. Final focused union66/66 across five files, types/lint and app build
pass with unchanged deprecation, chunk-size and route-classification warnings.
The new native consumer files register44 cases plus one contributor-quote
regression. Original aid bounds, owner/payee exclusions, cancellation, stale
choices, original card/force costs, four legal bots and real phase refresh
are covered. Broader assurance remains deferred until all rules.
## 13 October 2026 — original Homeworld battle-reward Karama costs
Only existing `karamaBattleDiscard` is newly admitted by the Homeworld
+1 -1
View File
@@ -400,7 +400,7 @@ dedicated retrieved worked FAQs. [Contract and remaining limits](HOMEWORLD_OCCUP
| 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; source-only repositioning earns none. Per-movement Hajr reset is a documented grammatical inference. Canceled moves earn nothing. Native Fremen worm rides and physical Fremen Ambassador relocations collect optionally at the destination before arrival reactions, without an invented intermediate route. Owned one-pile-per-territory allocation now covers ground, direct destinations and native HMS relocation; sector allocation remains provisional and concealed No-Field movement stays separate. | [Ground/direct/HMS relocation](SANDMASTER_MOVEMENT.md), [worm rides](SANDMASTER_WORM.md) |
| Diplomat defense | A committed Worthless copies the opponent's canonical printed defensive role: base/Ix Shield/Snooper, hybrid, defensive Weirding/Chemistry or sealed Portable. Named combat distinctions remain. Copying the used role, not activation or own-slot prerequisites, is a visibly qualified first version. Reveal-before-traitor timing and mandatory disposal remain implementation interpretations; existing base-only battle windows are not reopened. Late/mirror/numeric modifications remain separate. | [Source and connected prototype](DIPLOMAT_DEFENSE.md) |
| Bureaucrat payments | Once per phase, optionally divert two when one third-party payer pays at least five; payer cost is unchanged. Different below-five allied shares are not aggregated to create eligibility and proceed without an offer. Bribes trigger at transfer to the recipient's shield, not later collection. Native income follows Karama allowance as an explicit outcome-based inference; individually qualifying split contributions, split recipients and remaining payment families need further integration. | [Source and connected boundary](BUREAUCRAT_PAYMENTS.md) |
| Bureaucrat payments | Once per phase, optionally divert two when one third-party payer pays at least five; payer cost is unchanged. Different below-five allied shares never pool. Supported classic no-Homeworlds auction/shipment funding, including a fully qualifying ally, now offers one gross-receipt redirection; private shares and selected qualifying payer remain withheld. Owner/payee contributions cannot qualify but do not mask a different eligible payer. Bribes trigger at transfer to the shield, not later collection. Native income follows Karama allowance as an outcome-based inference; canceled gross income creates no offer/use. Qualifying expansion-faction funding, split recipients and remaining payment families need further integration. | [Source and connected boundary](BUREAUCRAT_PAYMENTS.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. Owned multi-pile Smuggler debits and Sandmaster victory placement are connected under provisional allocation policies; modifier and exceptional Face Dancer composition remain separate. | [Source contract and prototype](LEADER_BATTLE_EFFECTS.md), [Smuggler allocation](SMUGGLER_BATTLE.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) |