593 lines
38 KiB
Markdown
593 lines
38 KiB
Markdown
# Mandatory advisor conversions
|
||
|
||
## Native Fremen worm ride — 29 October 2026
|
||
|
||
**Prototyped / Partial.** When an accepted native Fremen worm ride leaves
|
||
Bene Gesserit advisors alone at the origin, the ride and any Sandmaster
|
||
collection finish first. The existing mandatory conversion response then
|
||
allows or prevents the flip before the original destination intrusion and
|
||
entry reactions. Afterward the original remaining worm queue continues once;
|
||
no force is moved or spice collected again. A partial ride leaving another
|
||
faction present does not open this response.
|
||
|
||
The selected timing combines the supplied Advanced physical pages 17 and 28 E
|
||
with the existing worm sequence; it is a provisional online ordering. A
|
||
prevented group retains the existing continuously-alone hold. Fremen's special
|
||
Karama to summon another worm waits for this conversion to finish; its nested
|
||
losses and altered worm queue need a separate continuation. Nexus Cunning,
|
||
Great Maker and unrelated special arrivals also need separate source contracts.
|
||
The native tests use genuine Advanced setup with explicitly staged ride and
|
||
conserved force positions; the Sandmaster cases use a genuine Skills setup and
|
||
staged board and card custody. Complete faction, mode and deployed acceptance
|
||
remain open.
|
||
|
||
## Ambassador and Discovery relocation — 24 October 2026
|
||
|
||
**Prototyped / Partial.** Compose the supplied
|
||
Advanced physical17/28 E counter with the original independent relocation
|
||
producers. Fremen Ambassador movement can remove the last outsider beside BG
|
||
advisors, or carry advisors into an empty territory. Discovery's next-turn free
|
||
entry can remove the last outsider from a parent territory. Its original
|
||
non-advisor-only source restriction remains; it grants advisors no free entry.
|
||
|
||
Under the 14 October recommended policy, complete the physical move and any
|
||
original Sandmaster collection first, then resolve mandatory conversion before
|
||
the original arrival reactions. This selected composition is provisional,
|
||
consistent with the existing committed ground/transport counter. Preserve the
|
||
Ambassador's consumed token, independent movement and original entrant; preserve
|
||
the Discovery round's original one-time entry and exact typed transfer.
|
||
|
||
Keep an actual empty Ambassador advisor arrival in advisor stance until its
|
||
mandatory counter resolves. Carry the source's accompaniment lock, without
|
||
carrying its previous continuously-alone occurrence to another territory. The
|
||
original quote still sets no optional fighter request for that empty arrival;
|
||
preventing the mandatory flip cannot immediately retry it as an optional flip.
|
||
Occupied destinations retain their original matching-stance and optional-flip
|
||
rules. Existing Basic behavior is unchanged.
|
||
|
||
The six-field public receipt contains only a fresh event, Ambassador/Discovery
|
||
kind, actor, origin, destination and sector. Do not copy original move orders,
|
||
No-Field identities or denominations, Sandmaster identities, private signatures
|
||
or the original Discovery child. Root binds those original cursors separately
|
||
in a private parent. The original Ambassador phase permission remains
|
||
authoritative, including actual Homeworld Revival/victory arrivals; Discovery
|
||
stays in its phase0 pre-Storm round.
|
||
|
||
During the counter, the Ambassador retains its original first flip stage. A
|
||
nonmutating nested projection validates completed movement without consuming
|
||
that stage. Discovery retains its original arrival frame; its automatic BG
|
||
response may concern the parent territory, not the destination. Current and
|
||
parked Karama responses remain bound to the original queued occurrence. Exclude
|
||
simultaneous ordinary arrival children. Consume only the automatic parent
|
||
before one original optional flip/Intrusion/Terror or Discovery completion;
|
||
never repeat physical movement, collection, token consumption or round advance.
|
||
Cancellation retains the existing provisional continuously-alone duration.
|
||
|
||
See the original [Ambassador contract](FREMEN_AMBASSADOR_RULES.md),
|
||
[Discovery prototype](DISCOVERY_PROTOTYPE.md),
|
||
[native relocation fixture](../tests/fixture-advisor-relocation-flip.ts) and
|
||
[connected cases](../tests/advisor-relocation-flip-engine.test.ts).
|
||
The genuine Ambassador source takes44 public Advanced BG/Ecaz/Atreides actions
|
||
with original base33. Actual original packet draws earn a Fremen token, native
|
||
setup places Ecaz6 beside BG1 in Basin10, and paid token placement in Carthag
|
||
precedes Atreides' actual shipment/trigger. Relocating all six to empty Tuek's5
|
||
leaves the original BG advisor. The genuine Discovery source takes49 public
|
||
Advanced BG/Atreides/Emperor actions with actual module selection and base33.
|
||
The original Hagga Discovery Card places its native Cistern token in Gara
|
||
Kulon8. Actual BG setup, Atreides' paid shipment2, Intrusion, Collection
|
||
inspection/reveal and next-turn free entry earn the transferred last counter.
|
||
No played force, wallet, hand, phase, stance, alliance or receipt is installed
|
||
in either native source.
|
||
|
||
Frozen **19 files270/270**, types/lint/build, five native transfer/response/
|
||
GameTable SSR journeys and eight existing-profile paths pass. Both outcomes
|
||
retain the original physical move and allowances, then finish the original
|
||
arrival once. Original Discovery decline preserves the mixed parent group and
|
||
unused Karama. Two separately labelled controlled empty-arrival cases borrow
|
||
the native Ambassador cards/pieces/event but stage an alliance and BG
|
||
beneficiary; they are not native alliance evidence. Both retain one mandatory
|
||
conversion with no optional retry. Standard controls render; no new callback,
|
||
browser/mobile/deployed or complete-mode certificate is claimed.
|
||
|
||
Feedback corrects an optional-absence assertion in the smoke/tests and a missing
|
||
presence-helper reference in the new empty-arrival integration. Both focused
|
||
controlled cases then pass. Final review limits the new Karama selector field
|
||
to this producer, preserving existing serialized counter shapes; its focused
|
||
contract regression and final batch pass. This is not a recovery campaign.
|
||
Private proof and original-action HTML:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-relocation-flips/`.
|
||
`frozen-integrated-4/report.json` binds tree
|
||
`e9f37b0270ae5779fe9620b95058a409941804917d55e3988a1f0b8751e4a120`,
|
||
2747 files on base `d66b594770b10af796fddf103583f7ad9c2b162b`.
|
||
Checkpoint prose/reference overlays are separately reviewed and hashed after
|
||
proof. Broader No-Field/Sandmaster/Homeworld/Nexus combinations, native allied
|
||
BG arrival, remaining matching-group interpretation and final assurance remain
|
||
open. No saved-room/D1, reset, restart or deployment operation was performed.
|
||
|
||
## Storm casualties before remaining traversal — 24 October 2026
|
||
|
||
**Prototyped / Partial.** Compose the supplied Advanced source's physical17
|
||
group-flip counter with physical28 E's mandatory conversion when alone. A storm
|
||
can destroy the last outsider in one sector while advisors survive in another
|
||
sector of the same exposed territory. Capture the surviving group after the
|
||
actual sector's losses, before settlement can erase its advisor stance.
|
||
Advisors destroyed in that same sector leave no conversion opportunity.
|
||
|
||
Under the 14 October recommended-policy authority, the selected priority is
|
||
after all current-sector casualties, including original Fremen allocation
|
||
choices, and before the next sector or final storm completion. This composition
|
||
is provisional, not a new combined publisher timing ruling. Initial CHOAM and
|
||
Fremen protection retain their original priority. Hold an already-alone group
|
||
through another territory's Fremen choice; an empty pending queue alone does
|
||
not mean the last popped casualty choice is answered.
|
||
|
||
The phase0 public receipt contains exactly a fresh event, starting sector,
|
||
distance, traversed count and current sector. Bind the exact surviving physical
|
||
group to that occurrence. The private parent separately records whether all
|
||
current-sector choices are ready and the unchanged original traversal/source
|
||
cursor. Never project that cursor, a private forecast, protection state or
|
||
Fremen pending keys into the response or Karama source selection.
|
||
|
||
Karama prevents only the BG conversion. The completed losses and spent card
|
||
stay committed, with the existing provisional continuously-alone hold. Consume
|
||
the parent before resuming the original traversal once, without replaying the
|
||
current sector. Remaining sectors can still destroy the surviving group,
|
||
whether it converted or remained advisors. Ecological Storm completion,
|
||
final position/order and the next phase's forecast keep their original place.
|
||
|
||
[Native fixture](../tests/fixture-advisor-storm-flip.ts) starts a public Advanced
|
||
BG/Atreides/Emperor table with original base33, no Fremen or optional module.
|
||
Actual setup places BG's original counter in empty Oh Gap10; it initially
|
||
becomes a fighter. Actual first Storm dials2/3 move from1 to6. Atreides later
|
||
pays2 to ship one original reserve into Oh Gap9, and BG accepts the resulting
|
||
Intrusion and original advisor-flip response to become peaceful. Original
|
||
starting Karama remains in Atreides' hand.
|
||
|
||
Actual first Mentat readiness draws the original turn-two Storm Card. Scoped
|
||
entropy selects only the original six-card shuffle, revealing3 or4 with its
|
||
native source signature and logged card face. No played force, phase, wallet,
|
||
hand, Tanks, stance or forecast is installed. Stop before the final real Storm
|
||
Ready. A three-sector traversal kills Atreides9 while BG10 survives; a
|
||
four-sector traversal must pause at9 and then destroy BG10 after the counter.
|
||
The same-sector variant earns the same Intrusion at9, then both forces die
|
||
without manufacturing a conversion.
|
||
|
||
[Engine cases](../tests/advisor-storm-flip-engine.test.ts) cover both responses
|
||
for ending/continuing traversal, same-sector destruction, source mismatch and
|
||
all four existing legal profiles. The separately labelled controlled regression
|
||
in [storm/worm cancellation](../tests/storm-worm-cancellation.test.ts) checks
|
||
both outcomes after a real mixed Fremen casualty choice; its conserved placement
|
||
is not a native setup journey. Frozen **17 files220/220**, types/lint/build,
|
||
five native Storm/response/GameTable SSR journeys and eight existing-profile
|
||
paths pass. All five genuine sources take48 original actions. Ending traversal
|
||
finishes9 with BG10 alive; continuing traversal resumes from9 to10 and destroys
|
||
that counter after either conversion outcome. Atreides loses one force once;
|
||
same-sector placement loses both without offering a conversion. The original
|
||
Karama is spent once only when used. Standard controls render; this is not a
|
||
new callback/browser/mobile/deployed certificate.
|
||
|
||
Initial220/220 passes; typecheck then catches an empty-array assertion narrowing
|
||
the native fixture's readiness array to never[]. An equivalent length assertion
|
||
repairs only the fixture. Final frozen220/220, types/lint/build and runtime pass
|
||
without changing rule mechanics or weakening checks. Private proof and native
|
||
HTML are in
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-storm-flips/`.
|
||
`frozen-integrated-2/report.json` binds tree
|
||
`3efca2d3ef25d0090bc1c992411c4bbda0cf55265019306fed5761a4745221f9`,
|
||
2745 files on base `9959f1b347f1e0e5bc96c2468cc6cfd97d13d4f3`.
|
||
Prose/reference checkpoint overlays are separately reviewed and hashed after
|
||
proof. No saved-room/D1, reset, restart or deployment operation was performed.
|
||
|
||
Broader Fremen/CHOAM/Jubba/Ecological Storm/Homeworld/Nexus combinations with
|
||
this conversion, special Ambassador/Discovery relocation and matching-group
|
||
interpretations remain open. These prototypes do not certify complete modes,
|
||
callbacks/browser/deployed behavior or final assurance.
|
||
|
||
## Completed Face Dance replacement — 24 October 2026
|
||
|
||
**Prototyped / Partial.** Compose the same supplied
|
||
physical17/28 E counter with native Face Dance's return/replacement (physical38 A).
|
||
Selecting forces from remote board territories can leave surviving BG advisors
|
||
alone there. Choosing zero replacement can leave the target's advisors alone
|
||
after the winning army returns. Consider all changed source territories and
|
||
the target after the complete physical transfer, before settlement benefits.
|
||
|
||
Original battle rewards and card cleanup keep their priority. Complete the
|
||
winning army's actual return, replacement placement, original leader death,
|
||
Face Dancer revelation and any all-three card cycle first. Face Dance itself
|
||
retains its printed immunity; the new response concerns the separate BG
|
||
advantage. Canceling conversion neither replays nor reverses replacement or
|
||
reveals another Face Dancer. Retain the existing provisional continuously-alone
|
||
hold and consume the parent before resuming original battle aftermath once.
|
||
|
||
The public phase6 receipt selects the original six-field battle identity,
|
||
replacement actor/target/sector, positive physical sources, replacement amount
|
||
and actual returned counts. It contains no secret Face Dancer identity, new
|
||
drawn card or wider private battle context. Current card availability is not
|
||
rechecked after revelation/cycling. A remote advisor group may belong to an
|
||
original combatant; the battle-loss-only bystander restriction does not apply
|
||
to a different territory. Existing Homeworld/native and co-side permissions
|
||
remain in the original replacement; this response grants none.
|
||
|
||
[Native fixture](../tests/fixture-advisor-face-dance-flip.ts) starts public
|
||
Advanced BG/Tleilaxu/Atreides in that seat order, original Ix47 and no optional
|
||
module. The real final advisorSetup action deals the original three Face Dancers
|
||
from a selected permutation of unused original identities. Actual earlier
|
||
Traitor choices, starting Treachery deal and the undealt card census remain.
|
||
Tleilaxu pays3 to ship three forces into Arrakeen, then really moves two to
|
||
Basin. A real unarmed Atreides win with dial/support1 leaves nine survivors.
|
||
The remote branch moves all ten Atreides to Basin first, then replaces the
|
||
survivors using the last remote Arrakeen counter and eight reserves. The zero
|
||
branch fights in Arrakeen and replaces none. Original Atreides Karama remains
|
||
available. No played army, hand, wallet, phase, Tanks, revealed flag or receipt
|
||
is installed.
|
||
|
||
[Engine cases](../tests/advisor-face-dance-flip-engine.test.ts) cover both
|
||
conversion outcomes, original decline/immunity, completed parent mismatch and
|
||
existing profiles. Force return, actual leader death, revelation and replacement
|
||
stay committed while the response waits; Collection depends on the final stance.
|
||
Frozen **16 files201/201**, types/lint/build, five native Face Dance/response/
|
||
GameTable SSR journeys and eight existing-profile paths pass. Remote and zero
|
||
sources take67/66 original actions. Both return nine actual Atreides survivors,
|
||
kill the original leader once without bounty and reveal the original card.
|
||
Allowed conversion earns BG two actual city income; prevention earns none.
|
||
Original decline leaves the army, leader and unrevealed card intact. Standard
|
||
controls render; this is not a new callback/browser/mobile/deployed certificate.
|
||
|
||
First native feedback corrects the expected original Ix deck count43 to47,
|
||
without changing any physical card/deal or rule. Its focused case and the final
|
||
frozen batch pass. Private proof and original-action HTML:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-face-dance-flips/`.
|
||
`frozen-integrated/report.json` binds tree
|
||
`78239a9def5dd70ae404d5a614a21ea09ea615dd2a6cde7d05760715416d7401`
|
||
on base `0b3413fcd8238301f97114171fcca2936adf51e5`. Prose/reference evidence is
|
||
reviewed and hashed separately after proof. Combined all-three cycling, Skills/Ecaz co-side/Homeworld/Nexus and other automatic producers remain
|
||
unfinished acceptance; focused proof does not open complete modes.
|
||
|
||
## Homeworld and Junction transport — 24 October 2026
|
||
|
||
**Prototyped / Partial.** Compose physical17/28 E's
|
||
existing counter with the separate Homeworld transport paths. Native Guild
|
||
Arrakis-to-Homeworld shipment and board-origin Junction transport can remove the
|
||
last outsider beside advisors. Junction can also move advisors into an empty
|
||
board territory. Capture those groups after the actual typed force transfer,
|
||
before occupation/settlement can erase their stance or grant fighter benefits.
|
||
|
||
Original transport interception, privilege, tariff, payment, custody deposit,
|
||
shipment use and income retain their order. Cancellation of the resulting BG
|
||
conversion reverses none of them. Junction's own permission/rate immunity remains
|
||
distinct from the independently counterable BG advantage, per the existing
|
||
[Junction source contract](JUNCTION_TRANSPORT_RULES.md#karama-and-offer-lifetime).
|
||
The provisional continuously-alone hold remains unchanged.
|
||
|
||
The public phase5 receipt contains only a new UUID, native/Junction kind, actor,
|
||
origin/destination and selected physical group/counts. The original declaration
|
||
event includes a private state snapshot: retain it only in the private parent,
|
||
alongside the exact optional Junction arrival. Public response and Karama source
|
||
selection never copy that original event or private funding/continuation. Check
|
||
the actual committed world deposit or board counters instead of rerunning a
|
||
pre-transfer permission, funding or shipment-availability quote.
|
||
|
||
World destinations have no arrival suffix. For board-origin Junction arrival,
|
||
consume the parent before resuming original Intrusion and territory entry once.
|
||
Native/foreign world departures that do not alter a board advisor group retain
|
||
their original flow. This does not broaden routes, start gates or transport
|
||
entitlements. Broader combinations, other special arrivals, remote Face Dance
|
||
sources and storm casualties remain unfinished.
|
||
|
||
[Native fixture](../tests/fixture-advisor-homeworld-flip.ts) starts public Advanced
|
||
BG/Atreides/Guild with Homeworlds enabled by the actual lobby action and original
|
||
base33. Actual advisorSetup shares Tuek's five Guild counters for a native return,
|
||
or Arrakeen's ten Atreides counters for Junction. Original Atreides Karama stays
|
||
held through real first-round controls. Native return costs3 for five; sponsored
|
||
own-world return costs5 for ten. A real BG reserve shipment into Basin earns the
|
||
separate destination Intrusion route, transporting ten Atreides there for10.
|
||
Another actual Junction offer moves BG's original advisor into empty Basin for1.
|
||
No played force, phase, hand, wallet, native reserve or stance is installed.
|
||
|
||
[Engine cases](../tests/advisor-homeworld-flip-engine.test.ts) cover both response
|
||
outcomes for those four routes, original native privilege prevention, private
|
||
source/arrival mismatch and minimal existing-profile participation. Original
|
||
world deposits or board counters stay transferred, shipment stays used and the
|
||
ordinary move stays unused. Frozen **18 files218/218**, types/lint/build, nine
|
||
native transport/response/GameTable SSR journeys and sixteen existing-profile
|
||
paths pass. Native return uses37 source actions, Junction return38, earned
|
||
Intrusion42 and actual BG empty arrival36. Their original costs3/5/10/1 remain
|
||
spent through both conversion outcomes. Earlier native permission prevention
|
||
keeps the original force/payment/unused shipment. Standard controls render;
|
||
this is not a new callback/browser/mobile/deployed certificate.
|
||
|
||
Initial feedback passed218/218 and types, then lint rejected two test variables
|
||
named module. Renaming only those variables passes focused lint and the final
|
||
frozen218/218, types/lint/build and runtime, without changing rule validation.
|
||
Private proof and original-action HTML:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-homeworld-flips/`.
|
||
`frozen-integrated-2/report.json` binds tree
|
||
`5365a5d6fba829c6bcee1cb1e00977ec41769912a32180062e52af0ca59645da`
|
||
on base `d83db397c0365421034a53315c5604ae1c525177`. Checkpoint prose/reference
|
||
updates are separately reviewed and hashed after proof. Broader contributor/occupation/Nexus/Semuta compositions are
|
||
not certified by these native own-world and board scenarios.
|
||
|
||
## Battle losses before optional cleanup — 24 October 2026
|
||
|
||
**Prototyped / Partial.** Compose the supplied
|
||
Advanced source's physical17 group-flip counter with physical28 E's mandatory
|
||
conversion when alone. Ordinary battle losses can leave surviving bystanding
|
||
advisors alone even when neither combatant keeps a force. Preserve the completed
|
||
battle result, payments, deaths and actual casualty allocation. An explosion
|
||
that destroys the advisors leaves no group to convert.
|
||
|
||
The selected provisional priority is after actual casualties (including Suk
|
||
Graduate's physical rescue), original skills/substitution and mandatory Treachery
|
||
disposal, before optional winner-card cleanup and subsequent aftermath effects.
|
||
This is a composition under the 14 October recommended-policy authority, not a newly retrieved publisher
|
||
priority ruling. Resolving the occurrence before later reinforcement/replacement
|
||
avoids silently losing an already-earned conversion opportunity.
|
||
|
||
Capture immediate no-winner losses after the original battle closes, retaining
|
||
the advisor stance through mandatory disposal. Winner casualties capture the
|
||
group before skills and compulsory winner disposal; their original choices
|
||
finish before the response opens. The public phase6 source selects only the
|
||
original event, turn, territory, two combatants, winner and result, bound to the
|
||
exact surviving BG group. Cleanup cards and the winner/aftermath cursor stay in
|
||
the private parent, outside the response and Karama source selection.
|
||
|
||
After the counter, consume that parent before resuming the exact winner or
|
||
aftermath cursor once. Never call battle resolution or apply casualties again.
|
||
Preventing conversion preserves losses/costs and the existing provisional
|
||
continuously-alone hold; it neither restores armies nor skips original cleanup.
|
||
The original standard Karama/Allow controls explain this boundary. Other
|
||
withdrawals, special arrivals and matching-group conversions remain open scope.
|
||
|
||
[Native battle fixture](../tests/fixture-advisor-battle-flip.ts) starts public
|
||
Advanced BG/Atreides/Harkonnen with original base33. Original advisorSetup places
|
||
the peaceful counter beside Atreides' ten Arrakeen forces. Actual movement leaves
|
||
one Atreides there, then brings one Harkonnen counter from Carthag by city range.
|
||
Original Thufir5/dial1/support1 and Shield defeat Iakin2/dial0, leaving neither
|
||
army. A second original pre-deal Traitor permutation and actual private choice
|
||
earn mutual calls; both armies die and Shield's mandatory disposal precedes the
|
||
conversion. A third original Lasgun/Shield deal destroys the advisor too. No
|
||
played force, phase, hand, wallet, Tanks, stance or receipt is installed.
|
||
|
||
[Engine cases](../tests/advisor-battle-flip-engine.test.ts) exercise both response
|
||
outcomes and exact original cleanup, prevention holds through Collection,
|
||
public/private parent mismatch rejection, no-survivor explosion and existing
|
||
profiles. Frozen **16 files264/264**, types/lint/build, five native battle/
|
||
response/GameTable SSR journeys and eight existing-profile paths pass. Each
|
||
original source takes44 actual actions. Both battle outcomes reach actual
|
||
Collection with two BG city income when allowed, none when prevented; actual
|
||
Lasgun/Shield kills the advisor and opens no conversion. Standard existing
|
||
controls render; this is not a new callback/browser/mobile/deployed certificate.
|
||
|
||
The first frozen223/264 feedback found41 old Semuta battle cases expecting
|
||
physical disposal before the existing final battle acknowledgements. A
|
||
representative failure reproduced against unchanged base035be51 in isolated
|
||
source, without copying saved games. Four focused fixtures now acknowledge only
|
||
the original final window; two remaining direct-test callers receive the same
|
||
repair. Focused3/3 then2/2 and the final264/264 pass, preserving original card/
|
||
force/continuation assertions and all production Semuta guards.
|
||
|
||
Private reports, baseline comparison, rendered HTML and hashes:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-battle-flips/`.
|
||
`frozen-integrated-3/report.json` binds fingerprint
|
||
`665defe51a1f46a6b5992b6e1e4b034203f91e7101acf860eb549f5bf9865151`
|
||
on base `035be5191510333951bb3be9692ecfe3a233eace`. Checkpoint prose/reference
|
||
updates are reviewed and hashed separately after proof.
|
||
Full Suk/Rihani/Caladan/Face Dance/Semuta combinations are not certified by these
|
||
native base scenarios; wider interaction and final assurance work remains due.
|
||
|
||
## Trip to Gamont before Mentat victory — 24 October 2026
|
||
|
||
**Prototyped / Partial.** Compose supplied physical29 B’s return of one other
|
||
player’s force during Mentat with physical17’s group-flip counter and physical28 E’s
|
||
alone conversion. The original Gamont declaration/counter and physical card
|
||
use/disposal finish first. The actual return, or completed empty No-Field reveal,
|
||
then creates a conversion occurrence before settlement or victory. Preventing
|
||
that conversion does not return another counter, restore the used card or undo
|
||
revelation. Earlier Gamont prevention still keeps the force/card unchanged.
|
||
|
||
A phase8 public event binds actor, target, location, elite/returned metadata and
|
||
ordinary-versus-final Mentat scope to the held BG group. Card and optional Nexus
|
||
fuel provenance stay server-side in a separate parent; neither the public receipt
|
||
nor Karama source selection copies the hidden fuel identity. Post-commit
|
||
validation does not call pre-return availability again. Old ground/transport
|
||
source shapes stay phase5-only. The existing provisional continuously-alone hold
|
||
is unchanged; setup remains automatic.
|
||
|
||
Both direct cost completion and the original Semuta disposal continuation defer
|
||
the final choamMentat chooser while the new parent owns the counter. The parent
|
||
is consumed before restoring that chooser once; ordinary Mentat receives none.
|
||
The callback does not check victory itself. Actual victory rejects unresolved
|
||
conversion parents, then evaluates only after the original final confirmation.
|
||
|
||
[Native Gamont fixture](../tests/fixture-advisor-gamont-flip.ts) starts public
|
||
Advanced BG/Atreides/CHOAM with the original CHOAM35 deck. Unopened original
|
||
cards supply Gamont/Karama. Actual BG advisorSetup at Arrakeen, a paid two-force
|
||
shipment into Carthag and a one-force city-range move to Tabr earn two BG
|
||
strongholds. Atreides really moves nine counters out of Arrakeen, leaving its
|
||
last counter beside the advisor. Actual Collection and ordinary/final Mentat
|
||
controls retain that near-win. No played army, phase, wallet, hand, advisor hold,
|
||
response or winner is installed.
|
||
|
||
[Native engine cases](../tests/advisor-gamont-flip-engine.test.ts) cover ordinary
|
||
and final timing, both conversion outcomes, earlier original-effect prevention,
|
||
parent mismatch, a fuel-free public response and existing profiles. Allowance
|
||
can earn BG’s real third stronghold and final win; prevention retains only two
|
||
and advances the turn. Pure cases include the empty-reveal metadata path; this
|
||
native fixture proves ordinary-counter return, not full No-Field/Nexus/Semuta
|
||
combinations. Frozen **18 files277/277**, types/lint/build, five native Gamont/response/
|
||
GameTable SSR journeys and eight existing-profile paths pass. Original sources
|
||
take52 ordinary/56 final actions. Two earned BG strongholds plus the allowed
|
||
Arrakeen conversion produce an actual final BG win; preventing conversion leaves
|
||
two and advances the actual turn. Earlier original Gamont prevention retains
|
||
the outsider and card. The public response contains no fuel-card ID; its private
|
||
parent records provenance. An explicit malformed-input boundary annotation is
|
||
repaired without changing runtime validation; final frozen proof passes with
|
||
no driver repairs or moving source.
|
||
|
||
Private reports, rendered HTML and hashes:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-gamont-flips/`.
|
||
`frozen-integrated-3/report.json` records fingerprint
|
||
`3833bcfc789c1a5765b71df68ad138d529429f5b64449159a08c8febf6cdc03a`
|
||
on base `d0f52c7bae4b2df9bf6bf087770850a4681f56de`. Prose/reference evidence is
|
||
reviewed and hashed separately afterward. Standard controls render; this is not
|
||
new component-callback/browser/mobile/deployed or complete-mode acceptance.
|
||
|
||
Remaining withdrawals, casualties/aftermath, other special arrivals and matching
|
||
groups remain open. No complete mode, comprehensive assurance or release gate
|
||
opens from this prototype.
|
||
|
||
## Guild transport and reserve returns — 24 October 2026
|
||
|
||
**Prototyped / Partial.** The same physical17 counter and physical28 E mandatory
|
||
conversion now compose with committed Guild cross-shipment and reserve returns.
|
||
The original privilege, rate, settlement and payment responses retain their
|
||
order. Actual payment, force transfer, shipment use and promise/Cunning receipts
|
||
commit once before the conversion response. Ordinary ground movement is not
|
||
consumed. Canceling only this conversion neither refunds payment nor reverses
|
||
transport or revives the earlier permission/rate opportunity.
|
||
|
||
The source stores the public original route, selected physical group, amount,
|
||
elite count and a unique committed transport event. It binds to one saved parent
|
||
and the exact held advisor group. Holds are captured before board-derived
|
||
occupation observations; the response opens only after original slot bookkeeping.
|
||
An existing Guild-income response retains priority. Once all conversion outcomes
|
||
finish, the parent is consumed before original Intrusion/territory entry resumes
|
||
once. A reserve return has no arrival suffix. Hidden funding shares, hands and
|
||
wallets are not copied into that public source.
|
||
|
||
From-reserves Fremen transport and private movement-preparation projections do
|
||
not manufacture conversion events. Only changed origin/destination groups are
|
||
considered. A transported BG advisor arriving alone retains its original advisor
|
||
stance until this counter resolves. Existing source, typed-transport, No-Field,
|
||
Nexus, module and start guards remain; no new entitlement is granted. The existing
|
||
provisional continuously-alone duration is unchanged. Exact old ground receipt
|
||
shape remains accepted; new transport fields are additive.
|
||
|
||
[Native transport fixture](../tests/fixture-advisor-transport-flip.ts) starts
|
||
public Advanced BG/Atreides/Guild, actually placing the advisor beside Guild’s
|
||
original five counters at printed Tuek’s Sietch sector5. Atreides receives an
|
||
original starting Karama; real first-round controls, declined preparation and
|
||
native early Guild timing lead to the pre-transport source. Caller actions allow
|
||
original permission/rate, then stop before the post-payment conversion. No played
|
||
army, phase, hand, wallet, reserve, hold or response is installed. A separate
|
||
Intrusion source actually defers Guild, pays for one BG reserve to Imperial
|
||
Basin as a fighter, resolves original interception/income, ends BG’s turn and
|
||
takes Guild’s next early turn. The tested cross-shipment then produces the origin
|
||
conversion followed by a real destination Intrusion; it is not a synthetic
|
||
pending decision.
|
||
[Engine cases](../tests/advisor-transport-flip-engine.test.ts) cover both routes,
|
||
both outcomes, a real later ordinary move, earlier permission/rate independence,
|
||
affordable full-price return versus an uncommitted unaffordable cross declaration,
|
||
source-parent rejection and minimal existing profiles. Pure transport/legacy
|
||
cases remain in the shared quote suite. Frozen **17 files243/243**, types/lint/build, eight native transport/response/
|
||
GameTable SSR journeys and eight existing-profile paths pass. Native default
|
||
sources take36 actions; the actual paid-shipment Intrusion source takes42.
|
||
Cross costs5 and return3 before the conversion. Earlier privilege prevention
|
||
leaves pieces unchanged; an unaffordable canceled cross tariff remains
|
||
uncommitted, while a full-price return really settles before unopposed
|
||
conversion. The first241/242 feedback corrected the funding expectation without
|
||
staging spice, then added the negative branch. Two focused cases and the final
|
||
frozen243/243 pass. An existing ground consumer now narrows the strict source
|
||
union before reading its mover; no source shape is relaxed.
|
||
|
||
Private reports, rendered HTML and hashes:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-transport-flips/`.
|
||
`frozen-integrated-2/report.json` records fingerprint
|
||
`cca2ff32114b6854c9339fff72f3384d68d1772d5539811594cd82f0c3e8d4fa`
|
||
on base `3aca64412feabae750b1adc2796a4086505a49c9`. Prose/reference evidence is
|
||
reviewed and hashed separately afterward. Standard controls are rendered; this
|
||
is no new component-callback/browser/mobile/deployed certificate.
|
||
|
||
Shipments outside this transport path, other withdrawals, casualties/aftermath,
|
||
matching-group conversions and wider interleavings remain open. This is not
|
||
complete cancellation or full Advanced/mode acceptance.
|
||
|
||
## Source and provisional duration — 24 October 2026
|
||
|
||
Status: **Prototyped / Partial**. Supplied authorized Advanced physical28 E says
|
||
advisors alone in a territory automatically become fighters. Physical17’s Karama
|
||
table permits preventing one group’s flip to or from advisors. Applying the two
|
||
connects a real counter to that mandatory conversion; automatic does not itself
|
||
confer immunity. Physical16 permits Karama only after setup/At Start, so setup
|
||
conversions remain automatic without this response.
|
||
|
||
This slice connects ground-movement producers: an advisor group entering an
|
||
empty destination and the last outsider departing its territory. The physical
|
||
move, counters, normal movement opportunity and any completed movement promise
|
||
are already committed. The ordinary advisorFlip response then permits or
|
||
prevents the conversion. Prevention cannot undo movement or spend another move.
|
||
|
||
The 14 October choose-recommended authority selects a **provisional duration**:
|
||
the prevented group remains advisors while continuously alone in that territory,
|
||
across phase and turn changes. Another faction’s presence or the physical group
|
||
becoming empty closes that occurrence. A group moving elsewhere gets its new
|
||
destination’s ordinary stance and a new conversion opportunity when applicable.
|
||
This duration is not a directly retrieved publisher ruling. Repeated normalization
|
||
cannot simply erase the canceled result or offer an immediate free retry.
|
||
|
||
## Connected behavior
|
||
|
||
- [Pure rule](../game/advisor-automatic-flip.ts) identifies current public groups,
|
||
binds a current turn/phase/mover/movement count and exact physical group, and
|
||
settles a held stance without reading cards, leaders or spice.
|
||
- [Engine](../game/engine.ts) marks each occurrence after physical ground
|
||
movement, queues its original source and opens the existing native response.
|
||
Allowance deletes the advisor stance; cancellation retains the occurrence
|
||
hold. The source is revalidated before card disposal and outcome settlement.
|
||
Multiple groups retain ordered independent responses.
|
||
- [Advisor normalization](../game/advisors.ts) and the shared
|
||
[board resolution quote](../game/board-resolution-quote.ts) retain held
|
||
advisors. Such forces still do not fight, collect, grant stronghold income,
|
||
count for victory or supply ornithopters. Ordinary arrival matching retains an
|
||
existing held group’s stance instead of silently converting it when joined.
|
||
- [Karama source selection](../game/karama-context.ts) binds the actual pending
|
||
occurrence rather than unrelated game state. The normal
|
||
[table response](../components/game-table.tsx) explains that the move is complete
|
||
and displays the provisional duration. There is no new confirmation or timer.
|
||
Existing minimal bot response handling remains, without strategy changes.
|
||
|
||
No start gate, physical inventory, save, schema or room is reset. Setup and
|
||
remaining unheld non-ground conversions keep their existing behavior. Remaining
|
||
mandatory producers beyond the transport follow-up include other shipments, withdrawals, casualties/aftermath and
|
||
other special arrivals; matching an existing fighter group and broader
|
||
interleavings also remain unfinished. This checkpoint does not claim complete
|
||
advisor-conversion cancellation or full Advanced compliance.
|
||
|
||
## Bounded verification
|
||
|
||
The [native fixture](../tests/fixture-advisor-automatic-flip.ts) starts genuine
|
||
public Advanced Bene Gesserit/Atreides/Guild. The native advisorSetup action puts
|
||
one advisor beside Atreides’ original ten Arrakeen forces. Only unopened original
|
||
Treachery/Spice order and scalar shuffle order are selected. Atreides receives
|
||
the original Karama, both Spice draws and ordinary first-round controls execute,
|
||
the original optional preparation is declined and Guild uses its timing choice.
|
||
The arrival branch stops at BG’s turn; the departure branch really skips that
|
||
turn and stops at Atreides’. No played army, phase, wallet, stance, card hand,
|
||
response or prevention receipt is installed.
|
||
|
||
[Native engine cases](../tests/advisor-automatic-flip-engine.test.ts) cover both
|
||
allowed/canceled moves, continuous hold through actual phase continuation,
|
||
an actual outsider return, changed-source rejection and existing profiles.
|
||
[Pure cases](../tests/advisor-automatic-flip-quote.test.ts) cover group selection,
|
||
settlement and exact source validation. The former empty-arrival expectation in
|
||
[advisor regressions](../tests/advisors.test.ts) is cut over explicitly.
|
||
Frozen **16 files199/199**, types/lint and production build pass. Five native
|
||
move/response/GameTable SSR journeys cover allowed/canceled arrival/departure and
|
||
an actual outsider return. Eight existing-profile paths accept legal standard
|
||
responses and continue. The original arrival source takes34 actions; departure
|
||
takes36, including the real skipped BG movement. Existing Karama/Allow controls
|
||
render, without a new component-callback or browser certificate. One redundant
|
||
import is repaired after the first passing199-case union; the final frozen
|
||
source then passes every check.
|
||
|
||
Private reports, rendered HTML and hashes:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-automatic-flips/`.
|
||
`frozen-integrated-2/report.json` records source fingerprint
|
||
`385c4758cd118574be8431593267a3198dd570eea6960c02e45a462e23494c4c`
|
||
on base `1a505525a8aa1499bc6270da2241506baf3e5be2`. Prose/reference evidence is
|
||
reviewed and hashed separately after verification.
|
||
|
||
Comprehensive rules, combinations, saved-game/recovery/privacy/custody assurance,
|
||
browser/mobile/deployed acceptance and full AI refinement remain open.
|