Files
Dune/docs/ADVISOR_AUTOMATIC_FLIPS.md
T
Quintine abf0305ddf Resolve advisor conversion after Ambassador and Discovery transfers
Preserve original transfer and arrival cursors, admit no new Discovery advisor sources, and offer one mandatory counter for empty Ambassador advisor arrivals.
2026-10-24 21:32:12 +11:00

572 lines
36 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mandatory advisor conversions
## 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.