Preserve original transfer and arrival cursors, admit no new Discovery advisor sources, and offer one mandatory counter for empty Ambassador advisor arrivals.
572 lines
36 KiB
Markdown
572 lines
36 KiB
Markdown
# 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.
|