Resolve advisor conversion after Gamont before final victory

Commit original Gamont use/return or empty revelation before its separate mandatory-conversion counter. Preserve private fuel provenance beside a public phase8 receipt, retain legacy phase5 sources and defer the genuine final chooser through both direct and Semuta cost completion. Consume the parent once; ordinary Mentat gains no chooser and victory waits for original confirmation. Existing provisional continuously-alone duration remains.

Validation: 18 files277/277, types/lint/build, five native Gamont/response/GameTable SSR journeys and eight existing-profile paths. Genuine52/56-action public Advanced sources earn a real third-stronghold win versus prevented next-turn outcome. Empty revelation remains pure-source proof; full combinations/remaining producers, browser/deployed and final assurance stay open. No saved-room/D1/restart/deployment operation or AI refinement.
This commit is contained in:
Quintine committed 2026-10-24 20:16:05 +11:00
1 parent d0f52c7bae
commit 035be51915
12 files changed
+748 -26

No files matched your search

+61
View File
@@ -1,5 +1,66 @@
# Mandatory advisor conversions
## 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