713 lines
45 KiB
Markdown
713 lines
45 KiB
Markdown
# Truthtrance ground-movement promises
|
||
|
||
The [whole AND/OR movement follow-up](TRUTHTRANCE_MOVEMENT_EXPRESSIONS.md)
|
||
adds full grouped future destinations/minima to the same owned-action search.
|
||
Each leaf still requires one actual qualifying group, never a sum; the new
|
||
ledger retains whole No and dynamic alternatives without changing scalar claims.
|
||
|
||
## Native early Advanced and CHOAM opening — 26 October 2026
|
||
|
||
**Prototyped / Partial.** Both Basic and Advanced now admit clean current-round
|
||
questions during phases0–4 with registered native factions and their selected
|
||
Ix/Tleilax, CHOAM/Richese or Ecaz/Moritani decks. This supersedes the earlier
|
||
Advanced phase5-only guard below. The same typed, physical-only witness serves
|
||
both rulesets; optional modules and independent Ecaz cards retain their fences.
|
||
Answering neither ships nor moves early. Actual movement still waits for the
|
||
respondent's native turn and normal arrival/counter decisions.
|
||
|
||
CHOAM's own unresolved opening may supply its fixed allowed income in the
|
||
detached witness, using the actual settlement calculation. Current cash stays
|
||
unchanged until the real opening counter is allowed. A current-turn receipt,
|
||
including cancellation, prevents repeated credit; completed cancellation may
|
||
release impossibility. Foreign future income and unknown purchases supply no
|
||
forecast cash. This is the provisional owned-stage composition in the
|
||
[decision index](RULE_DECISIONS.md#native-early-promises-and-owned-choam-opening--26-october-2026),
|
||
not new publisher authority.
|
||
|
||
Genuine native [CHOAM](../tests/fixture-truthtrance-choam-promises.ts),
|
||
[Richese](../tests/fixture-truthtrance-richese-promises.ts) and
|
||
[Ecaz/Moritani](../tests/fixture-truthtrance-native-family-promises.ts) sources
|
||
start before Movement with no installed promises or preparatory armies.
|
||
CHOAM's actual opening funds later shipment and movement; empty-board Richese
|
||
must pay for real shipment before ground movement; Ecaz moves its original six
|
||
Basin counters. Existing current-phase preparation/pass controls and minimal
|
||
legal policies serve these sources. Exact frozen results are recorded in the
|
||
[shared native promise checkpoint](TRUTHTRANCE_SHIPMENT_PROMISES.md#native-factions-and-owned-choam-opening--26-october-2026).
|
||
No complete-mode, DOM/hydration, browser/deployed or final assurance is claimed.
|
||
|
||
## Native Advanced and No-Field preparation — 25 October 2026
|
||
|
||
**Prototyped / Partial.** Advanced phase5 now accepts declared native expansion
|
||
families through the same roster checks as Basic. Optional modules and earlier
|
||
Advanced forecasts remain separate. This supersedes the preceding classic-only
|
||
admission below, not complete faction/mode acceptance.
|
||
|
||
Richese's owned route can use its original No-Field shipment, voluntary reveal,
|
||
marker-only positioning or a physical group carrying the marker. The native
|
||
one-force tariff, exact event/token, last-used restriction, funding and original
|
||
Karama responses remain. Materialization uses only actual remaining reserves;
|
||
an owned Ghola may prepare those reserves through its existing physical path.
|
||
The marker itself contributes zero toward a movement promise. Reveal and shipment
|
||
prepare but do not fulfill it; only actual physical movement does. A concealed
|
||
zero can still supply city presence/range for a later physical Hajr move.
|
||
|
||
Reuse the [printed lifecycle](RICHESE_NO_FIELD_ENGINE_AUDIT.md#source-boundary-and-model-contract)
|
||
and existing general current-turn composition below; no new publisher ruling is
|
||
claimed. The witness includes reserve-capped reveal potential before pruning
|
||
marker-only armies, keeps original marker/event and Ixian cancellation in its
|
||
memo, and tries city preparation early without dropping other legal candidates.
|
||
Before saving a live No-Field declaration, check its allowed exact commitment
|
||
on a detached copy. The real original counter still decides the shipment;
|
||
prevention can release an impossible Yes without charging or deploying it.
|
||
An optional own reveal, including in earlier Basic phases, cannot erase the last
|
||
required route and then claim opposing impossibility.
|
||
|
||
The [Richese source](../tests/fixture-truth-movement-no-field.ts) earns public
|
||
Basic/Advanced main35/cache10, original dealt Truthtrance, actual native bidding
|
||
and paid concealed Basin shipment without installed played state. Its zero/3/5
|
||
choices use original custody. The [Ixian source](../tests/fixture-truth-movement-ixian.ts)
|
||
earns actual Advanced setup/HMS, original Truthtrance, Emperor's paid Karama and
|
||
a paid two-Cyborg shipment before its original range counter. Controlled reserve
|
||
caps, physical placements, Hajr/Karama acquisition and an earlier phase boundary
|
||
are explicitly labelled in [separate regressions](../tests/truth-movement-no-field-engine.test.ts).
|
||
They are not genuine full-game traces. Human controls give distinct persistent
|
||
shipment/reveal/marker/mixed-group guidance; existing minimal policies follow
|
||
the same owned route. No strategy/calibration or complete-mode claim is added.
|
||
|
||
The24-file163/163 related union passes. Fixture-only lint repairs in two files
|
||
then pass all3-file15/15 affected consumers, types/lint/build and six native
|
||
original-control/GameTable SSR journeys. An exact hash comparison retains all
|
||
application/other files across repairs. Basic24/Advanced27 Richese and Ixian43
|
||
source prefixes earn original cards, payments and typed pieces. Real reveal
|
||
callbacks and one-spice shipment/reveal/movement complete. Four existing profiles
|
||
follow legal owned reveal guidance. Controlled cap/zero/mixed/Hajr/counter/early
|
||
boundaries retain their staging labels. Trying city preparation earlier makes
|
||
the concealed-positioning cases finite promptly without pruning legal choices.
|
||
|
||
Private proof/HTML:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261025-truth-movement-native-no-field/`.
|
||
`frozen-integrated/report.json` keeps initial related success and fixture lint
|
||
failure; `fixture-lint-repair.json` records exactly two changed test/fixture paths.
|
||
`frozen-fixture-lint-repair/report.json` binds tree
|
||
`6963f2074dbcc48f56447963f4e6064d4344ebbd28abcea6dfc67429aab41609`,
|
||
2778files on base `2ae2b984c05c918c7df34be7c6234524c52f1c65`.
|
||
Final prose/reference overlays are separately reviewed. These callbacks/SSR are
|
||
not hydration, browser, mobile or deployed acceptance.
|
||
Earlier Advanced, modules, arbitrary commitments and final assurance/deployed
|
||
acceptance remain unfinished. No saved-room, database, server restart or
|
||
deployment operation is part of this work.
|
||
|
||
## Classic Advanced Movement — 25 October 2026
|
||
|
||
**Prototyped / Partial.** Classic Advanced tables without expansions or optional
|
||
modules now accept the same structured movement question during phase5, for an
|
||
active or still-unused waiting respondent. Basic's existing native-family and
|
||
earlier-phase entry stays available. Earlier Advanced phases, Advanced expansion
|
||
families, modules and arbitrary promises remain unfinished.
|
||
|
||
The single-event meaning and general current-turn FAQ authority below still
|
||
apply; this is a software composition, not a new movement-specific publisher
|
||
ruling. Count physical counters, including each Fedaykin/Sardaukar once, through
|
||
the shared typed movement validator. A reserve shipment can prepare a larger
|
||
group but cannot fulfill movement. Hajr requires the actual immediate
|
||
post-movement opportunity; search cannot play it before the first move or after
|
||
an intervening voluntary action has closed that opportunity.
|
||
|
||
Private reachability includes the owned native pre-first-shipment advisor
|
||
preparation and an eligible incoming advisor's requested fighter flip. Project
|
||
the allowed owned advantage and normal stance settlement without creating
|
||
matching events or new automatic-flip receipts. This retains continuously-alone
|
||
holds and removes empty advisor groups. The real action still resolves its
|
||
original independent Karama counter. Keep promises pending across original
|
||
Fremen/matching/conversion decisions; fulfill only on a physical matching move.
|
||
A final mandatory response pass cannot voluntarily evade a promise or prevent
|
||
release when an opponent's completed counter makes it impossible. Search memo
|
||
keys retain current stances, prevention markers and the immediate Hajr window.
|
||
|
||
The [native fixture](../tests/fixture-truth-movement-advanced.ts) selects original
|
||
unopened lotteries/deal/Spice positions, uses the real lobby Advanced selector
|
||
and preview start, and earns original Truthtrance/Hajr through actual dealing.
|
||
The Atreides branch retains its native ten Arrakeen counters after a paid Polar
|
||
shipment. The Fremen branch actually places two Fedaykin at Tabr, buys Emperor's
|
||
original Karama for1 and ships the last reserve Fedaykin to Polar. No played
|
||
clock, force, wallet, hand or promise is installed. Separate BG regressions
|
||
explicitly label controlled original-card acquisition/stance/reserve placement;
|
||
native preparation, paid shipment, original counter and later movement still
|
||
use production controls. This is not native provenance for those overlays.
|
||
|
||
Evidence: [rule/control tests](../tests/truth-movement-advanced-engine.test.ts),
|
||
[actual callback test](../tests/truth-movement-advanced-controls.test.tsx).
|
||
Frozen **26 files238/238**, types/lint/build and four actual-control/GameTable
|
||
SSR journeys pass, including a real persistent-guidance callback. Native source
|
||
prefixes take23/27 actions. Private proof and HTML:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261025-truth-movement-advanced/`;
|
||
`frozen-integrated/report.json` binds tree
|
||
`2bbb98a518df218683789a6c183d4985c750403f42cb7e82ac5a23736c8681bc`,
|
||
2773files on base `0d8481e8216c20cfe100d903fe4c7d41f9136dc7`.
|
||
Final prose/reference overlays are separately reviewed.
|
||
All four existing profiles use the same legal guidance; no strategic tuning or
|
||
calibration is added. Browser/hydration/mobile/deployed and comprehensive final
|
||
rules/recovery/privacy/custody acceptance remain open. No saved-room, database,
|
||
server restart or deployment operation is part of this checkpoint.
|
||
|
||
The preceding Basic records below retain their dated scope; the Advanced entry
|
||
above supersedes only their blanket Advanced exclusion.
|
||
|
||
## Basic prototype — 24 October 2026
|
||
|
||
**Prototyped / Partial.** The structured question asks whether the respondent
|
||
will make **one ground movement of at least N physical forces to a printed
|
||
territory before their current Shipment and Movement turn ends**. It concerns
|
||
future events after the answer, not earlier moves or sums of smaller groups.
|
||
Shipment, HMS relocation, free accompaniment and Ambassador relocation do not
|
||
count. A concealed No-Field marker itself is not a physical on-board force;
|
||
ordinary counters moving with it retain their actual count.
|
||
|
||
The general binding-while-possible/current-turn authority is the GF9 November
|
||
2020 FAQ printed p8, recorded in the [shipment source contract](TRUTHTRANCE_SHIPMENT_PROMISES.md#authority-and-supported-meaning).
|
||
Its worked example concerns shipment. Applying that rule to this existential
|
||
movement statement, the owned-action witness and accepted-order release policy
|
||
below are explicit software compositions, not a publisher movement-specific FAQ
|
||
or Basic adoption of the unofficial Advanced revision.
|
||
|
||
Basic tables with the declared native families can also ask in clean earlier
|
||
phases0–4 of the current round, with the owned preparations below. During
|
||
Movement, ask at a clean **active or still-unused
|
||
waiting turn in the current Shipment and Movement queue**, before or after the
|
||
active respondent's shipment, including selected E1/E2/E3 factions. No optional modules or Advanced
|
||
inherit this entry. The actual native roster, physical inventory and route
|
||
validation remain authoritative; no mode or publication gate opens.
|
||
Later-round movement questions, compound movement/fact questions and wider
|
||
owned preparations/interactions remain unfinished. Existing saves are not
|
||
reconfigured and absent promise fields remain absent until a real answer binds.
|
||
|
||
## Behavior and controls
|
||
|
||
- **Yes** stays pending across nonmatching moves while a legal owned completion
|
||
remains. One matching physical commitment fulfills it permanently, before card
|
||
disposal, Intrusion, Ambassador/Terror or other later arrival effects. It is
|
||
not a promise to keep those forces alive afterward.
|
||
- **No** forbids every matching ordinary/card ground movement until the actual
|
||
turn ends, including later Hajr and both Ornithopter groups. A first nonmatch
|
||
or card-disposal pause does not fulfill it. Ending early cannot evade Yes.
|
||
- Feasible answers use actual board/typed groups and the shared human movement
|
||
declaration validator, not the strategic bot shortlist. The finite search
|
||
considers ordinary moves, held Hajr, both held/active Ornithopter modes and
|
||
their original cohort, current city access, current native bonuses, held
|
||
CHOAM Kulon, held Ghola force returns and the owned Box recovery described below. Preparations use
|
||
private detached execution; actual cards retain
|
||
their ordinary effects, counters, discard/response and arrival continuations.
|
||
Unknown future draws/gifts and unresolved opposing outcomes are not invented.
|
||
- Voluntary moves/actions cannot remove the last legal completion. A declared
|
||
native movement waits for its real counter response before fulfillment or
|
||
impossibility. Opposing impossibility releases only the answers that cannot
|
||
remain compatible: retain every No and still-feasible Yes in accepted order.
|
||
An impossible large promise does not erase an independent smaller one.
|
||
- Authoring has dedicated movement labels, an exact public preview and a
|
||
one-to-twenty input. Only the respondent sees feasible answers and the next
|
||
owned completion action. Persistent promise/answer controls have no timer;
|
||
busy controls submit nothing. Four existing profiles follow those same legal
|
||
views without strategy changes or calibration.
|
||
|
||
This is bounded reachability, not complete arbitrary Truthtrance enforcement.
|
||
Other owned preparation families (including native relocation preparation),
|
||
later rounds, optional/Advanced profiles and comprehensive
|
||
combination/recovery/privacy/custody acceptance remain due.
|
||
|
||
## Owned Ghola preparation — 24 October 2026
|
||
|
||
**Prototyped / Partial.** The Basic owned-movement witness includes a held
|
||
physical Ghola's force choice using the current authoritative card eligibility,
|
||
maximum and typed-force allowance. Each candidate plays that exact card through
|
||
the shared engine on a detached copy. Returned pieces go to reserves; neither
|
||
the card play nor shipment fulfills a ground-movement promise. The actual later
|
||
shipment must remain unused and affordable, then one qualifying ground movement
|
||
must commit. Normal force/leader revival allowances are unchanged.
|
||
|
||
A publicly observed Ghola discard or the owner's privately observed card can
|
||
supply a known-discard Box route. An unpaid unknown face supplies none. A paid
|
||
Box search retains its complete private choice, original event and single fee;
|
||
choosing a card which erases the last route rejects before shuffle. Both held
|
||
recovery and an already-paid search keep the conservative all-Tanks bound, while
|
||
every actual return, typed composition and payment is validated separately.
|
||
The single physical Ghola may return more than five total over legitimate
|
||
Box recovery and replay; no extra Ghola is manufactured.
|
||
|
||
Tleilaxu's possible Ghola income is not forecast spending money. Actual card
|
||
disposal and revival-income responses retain their original controls and
|
||
suspend movement guidance until they finish. Persistent guidance names the
|
||
force return, then shipment, then ground movement; busy controls submit nothing.
|
||
Existing minimal profiles follow this same legal path without strategy tuning.
|
||
|
||
This composes the existing printed Ghola/Box mechanics with the movement
|
||
predicate above; it is not a new publisher movement-specific ruling. Wider
|
||
owned preparations, native relocation, later rounds, modules/Advanced and
|
||
comprehensive full-mode/recovery/privacy/deployed acceptance remain unfinished.
|
||
|
||
### Ghola source and proof
|
||
|
||
The original held source reaches turn2 unshipped with10 Arrakeen forces,
|
||
9 reserves,1 real Storm casualty and10 spice; its optional Tleilaxu variant
|
||
retains the same owned pieces. Actual 17+0 first dials move Storm Start1 to18;
|
||
next-turn1+1 crosses the paid sacrificial Cielago North1 shipment and ends2.
|
||
Emperor's actual2-spice bribe settles before the source. Actual Revival Ready
|
||
declines ordinary returns. Basic city occupation grants no bank income.
|
||
|
||
The native Richese source actually sells its original cache Box for1, ships
|
||
separate sacrificial groups and plays Richese's original Ghola on the real
|
||
casualty. Emperor's actual6-spice bribe leaves Atreides13; the known Ghola stays
|
||
in current discard. Owned Box2 → Ghola1 → city shipment10 → ground20 leaves1.
|
||
Original source prefixes are42/104 actions held without/with Tleilaxu, and75/151
|
||
for Box. Only unopened original deal/Spice positions and scalar lotteries are
|
||
selected; no dealt hand, wallet, army, death, clock or completed receipt is set.
|
||
Controlled extra-card/prior-loss/knowledge projections, ten-Tank reuse of the
|
||
single Ghola and a conserved acquired Karama holding the real income window
|
||
open are separately labelled tests, not claims about those natural prefixes.
|
||
|
||
The final frozen batch passes **22 files182/182**, types/lint (npm run check:quick),
|
||
production build and four actual-control/GameTable SSR programmes. Eight
|
||
existing-profile held/Box runs accept40 proposals plus24 separate native
|
||
continuations. Busy handlers submit nothing; actual answer, recovery, force
|
||
return, shipment and ground controls pass. The first frozen batch passed the
|
||
rule union but failed type checking on a duplicate fixture snapshot/action key;
|
||
the corrected final batch passes. Earlier feedback corrected source geography
|
||
and Basic funding; bounded review repaired missing Ghola discard knowledge.
|
||
|
||
Private artifacts: /home/quintine/.local/share/dune/checkpoints/20261024-movement-ghola/,
|
||
final frozen-integrated-2/report.json, runtime-smoke.json, private HTML/logs,
|
||
verified-files.json and documentation-overlay.json. Before final prose:
|
||
base c311ed42519bbc19d81655a82a2363da64d36ccd, source tree
|
||
58bfc5420edfd9bb358f85d5901c605474d6f39944272b29465fca4ae1dd02e5,
|
||
2657 tracked/nonignored files unchanged throughout. Only four checkpoint-prose/
|
||
reference overlays follow proof; local links/evidence and reference syntax/keys
|
||
are reviewed separately. Framework aliases/CSS stub are rendering smoke, not
|
||
browser/visual/deployed acceptance. Full modes, wider preparations, combinations
|
||
and comprehensive assurance stay open; no saved-room/D1/reset/restart/deployment
|
||
operation or AI strategy calibration occurs.
|
||
|
||
## Native early Basic funding — 24 October 2026
|
||
|
||
Clean earlier Basic entry now includes declared E1/E2/E3 native factions without
|
||
optional modules. The existing [native auction contract](RICHESE_AUCTION_RULES.md)
|
||
and `richeseOwnCommitment` / `richeseAllyCommitment` price real pending invoices.
|
||
Subtract the current leading Once Around offer or an owned submitted Silent
|
||
split; losing and unsubmitted offers spend nothing. Native cache invoices have
|
||
no ordinary Karama payment alternative. A current paid sale is not charged
|
||
again. Clear only the detached auction/funding controls before the phase5
|
||
forecast, so reserved own spice is not deducted twice. No unknown purchased
|
||
card or future seller/Emperor income supplies a route.
|
||
|
||
During unfinished Silent bidding, a submitted ally locks the **entire outgoing
|
||
pledge**, using public submission status rather than exposing its private split
|
||
through feasibility. Only the actual revealed winner determines the final
|
||
donated cost/refund. Foreign auction/income controls finish before release.
|
||
Positive owner bids and card gifts cannot voluntarily erase the route. Current
|
||
guidance passes a live Once Around bid or submits Silent zero with its original
|
||
event; it does so even while foreign escrow temporarily prevents a witness.
|
||
A zero/pass is not a voluntary promise-breaking spend. Original cache choices,
|
||
native setup and post-auction decisions retain their own controls.
|
||
The mandatory Ix-enabled phase5 opening is also a forecast boundary: retain the
|
||
owned future turn with its normal reset until real opening readiness initializes
|
||
Movement. It cannot veto the owner's preceding Ready or expose movement early.
|
||
|
||
Before CHOAM's opening response, another faction may quote its fixed ordinary
|
||
Charity entitlement using current Inflation. This detached credit creates no
|
||
CHOAM income, payment or fictional receipt; the actual phase2 claim still waits
|
||
for the real allowed/canceled payer receipt and affordability. CHOAM's own
|
||
unresolved opening income/claim is not precredited and remains a wider forecast
|
||
boundary. A declared owned ordinary force revival projects only its quoted
|
||
allowed physical return/cost through the same accounting as real revival.
|
||
CHOAM/Tleilaxu decisions, benefit checks and income remain real unresolved
|
||
controls; no quote executes their choices or awards a future receipt. A real
|
||
denial can release impossibility, or leave an affordable paid route intact.
|
||
This continues the explicit provisional owned-outcome policy above, not a new
|
||
publisher Truthtrance clarification.
|
||
|
||
`tests/fixture-truth-movement-native-early.ts` supplies genuine original public
|
||
Basic Atreides/Emperor plus Richese/CHOAM, Ixians/Tleilaxu or Ecaz/Moritani.
|
||
Actual Ixian card selection/mobile placement and Ecaz/Moritani placement retain
|
||
their original counters; Atreides genuinely receives Truth and Emperor Baliset,
|
||
ten spice and twenty reserves. Actual questions, native first/last Once Around
|
||
or Silent invoices, shipment8 and ground8 are caller actions. Controlled prior
|
||
losses, original-card transfers, alliance escrow and preopening Charity cases
|
||
are separately disclosed.
|
||
|
||
The final **29-file union passes244/244**, types/lint and production build.
|
||
Six actual gameplay/guidance-handler/GameTable programmes cover first/last
|
||
Once Around/Silent cache purchase2, shipment8 and ground8, plus original E1/E3
|
||
early continuations. E2/E1/E3 source prefixes have25/36/25 actual actions. Eight
|
||
existing-profile runs make56 accepted guided proposals plus148 separate native
|
||
continuations, without tuning. Actual native zero/pass handlers and busy
|
||
protection also pass their two original-source control tests. Controlled tests
|
||
retain a real pending free revival before CHOAM's decision, then distinguish an
|
||
unaffordable denial from a retained paid route. Source corrections use actual
|
||
Silent submission status and Ix/Ecaz setup fields. Initial integrated feedback
|
||
exposed the Ix Movement opening; the narrow repair and final frozen union pass.
|
||
|
||
Frozen base `f995b6f4cd9008954893f2d646ecb861986a43de`, tree
|
||
`5c366c0cd7200c61e4461ac148a3a15a98f53ef1dec5fd661d425cced6c1f675`,
|
||
2653 files. Private source-bound logs, actual-state HTML and receipts:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-movement-native-early/`,
|
||
`frozen-integrated-2/report.json`. Only final checkpoint/reference prose overlays
|
||
follow proof. Framework aliases/CSS stubbing establish server rendering, not
|
||
browser/visual/deployed acceptance. No saved-room/D1/reset/restart/deployment.
|
||
|
||
Wider owned preparations, CHOAM's unresolved own opening, later rounds,
|
||
optional/Advanced and mixed questions, full modes, comprehensive assurance and
|
||
browser/deployed acceptance remain unfinished. Native shipment-promise entry
|
||
is unchanged; this does not certify all promise families or faction rules.
|
||
|
||
## Earlier classic Basic phases — 24 October 2026
|
||
|
||
The current-round question now includes classic Basic Storm, Spice Blow,
|
||
Charity, Bidding and Revival. This is the same provisional owned-stage forecast
|
||
used by early shipment promises, not a new printed payment or future-income
|
||
rule. Use current board/resources plus available owned Charity and ordinary
|
||
Revival. Price a currently leading ordinary bid against cash or one held
|
||
physical Karama; do not invent the purchased card, future income, gifts,
|
||
cooperation or a favorable Storm outcome. Bidding aid retains its committed
|
||
floor and refunds only its uncommitted remainder; incoming Bidding aid expires
|
||
before Movement. Actual foreign invoices/income responses finish before an
|
||
impossible promise releases. Native early auction/funding liabilities remain
|
||
unfinished; selected native phase5 entries are unchanged.
|
||
|
||
A new answer reopens its owner's Charity/Revival readiness. Claim or revive
|
||
before Ready when needed; a bid, payment or optional revival cannot spend the
|
||
last route. Mandatory Storm dials/readiness and forced casualties can release
|
||
impossible answers rather than trapping their owner. Forecasts reset old Hajr
|
||
and Ornithopter allowances exactly as real Movement entry does. Joint shipment
|
||
predicates remain in the same completion search. Ground preparation also
|
||
enumerates held Karama for its actual Guild shipment rate, with a distinct card
|
||
when another Karama pays the auction; only the actual shipment consumes that
|
||
rate. Pending owned Worthless conversion projects its allowed result without
|
||
settling its real response.
|
||
|
||
Persistent guidance offers only the current Charity, ordinary Revival, Ready,
|
||
bid-pass or owned invoice control. It never exposes future shipment/movement
|
||
before phase5. Existing paid Box decisions retain their original phase before
|
||
forecast promotion; no genuine classic Box source is claimed. Positive movement
|
||
guidance owns the combined route before independent shipment suggestions;
|
||
all-No answers keep normal auction-payment choices. All four profiles retain
|
||
minimal legal participation; strategic refinement remains deferred.
|
||
|
||
`tests/fixture-truth-movement-early.ts` retains genuine original classic Basic
|
||
Storm/Charity prefixes with Atreides Truth, Emperor Baliset, Harkonnen
|
||
Karama/Shield and Guild Snooper. Emperor keeps printed10 spice,20 reserves and
|
||
zero board/Tanks. The caller performs its later normal purchase2, city
|
||
shipment8 and ground8. Controlled prior losses, conserved Karama/second-Truth
|
||
transfers, ally escrow and stale allowance cases are explicitly separate from
|
||
that natural source. The storm-loss case stages prior resources/position, then
|
||
uses actual dials and last owner Ready over exposed Oh Gap; Imperial Basin's
|
||
printed storm protection is retained.
|
||
|
||
The frozen **21-file union passes155/155**, types/lint and production build.
|
||
Four actual guidance-handler/GameTable programmes cover genuine Storm8 and
|
||
Charity22 sources with actual purchase2/city shipment8/ground8, original Charity
|
||
No, and an explicitly controlled Charity/Revival1 preparation. Busy handlers
|
||
submit nothing. Four existing profiles make24 accepted current-phase/later-turn
|
||
proposals plus76 separate native pass/readiness continuations. No strategy
|
||
refinement or relative-difficulty calibration is claimed. Focused feedback
|
||
repaired missing held Karama shipment preparation; fixture corrections retained
|
||
actual geometry, current-sector blocking and Imperial Basin storm protection.
|
||
|
||
Frozen base `49586efd2fffcf2ba990693fedc9307a5b522150`, tree
|
||
`e56b10d3a3c602078451d125b55aeaabc7acff1b348f8f682e04149e3831382d`,
|
||
2648 files. Private source-bound logs, actual-state control HTML and receipts:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-movement-early/`,
|
||
`frozen-integrated/report.json`. Only final checkpoint/reference prose overlays
|
||
follow proof. Framework aliases/CSS stubbing establish server rendering, not
|
||
browser/visual/deployed acceptance. No saved-room/D1/reset/restart/deployment.
|
||
|
||
Full native early phases, later rounds, other preparations/modules, complete
|
||
modes, comprehensive assurance and browser/deployed acceptance remain open.
|
||
|
||
## Same-phase waiting respondents — 24 October 2026
|
||
|
||
The general current-round FAQ contract now includes a respondent whose unused
|
||
turn remains in the original Movement queue. This extends the provisional owned
|
||
forecast used by shipment promises; it introduces no future-income, cooperation
|
||
or vacated-destination assumption. Keep the current board, owned resources and
|
||
native per-player Hajr history. The detached forecast selects that owner's turn
|
||
and isolates foreign declarations, prices, Ornithopter controls and private
|
||
searches without resolving them or awarding a hypothetical discarded card.
|
||
The live active player, queues, cards and pending decisions remain unchanged.
|
||
|
||
A matching move by another player neither fulfills Yes nor violates No. Another
|
||
player's end cannot close the respondent's promise. Ordinary action guidance
|
||
appears only on the actual owned turn. The exception is the owner's **already
|
||
paid** Box selection: its current private decision can finish while waiting,
|
||
using the original event and full entitled choice. Once paid, even an ordinary
|
||
nonmovement card may preserve an existing route; do not falsely restrict that
|
||
search to movement cards. Pre-payment known-discard planning is unchanged.
|
||
|
||
Owner-declared Emperor gift and Spiritual Advisor costs are checked on their
|
||
allowed outcome before opening the deferred response, so a foreign responder
|
||
cannot convert voluntary loss into an opposing release. A pending native move
|
||
defers reconciliation for its own moving player, while a different waiting
|
||
owner still preserves required resources when voluntarily interrupting with Box.
|
||
All four minimal profiles may conservatively decline optional accompaniment
|
||
under a positive promise; strategic refinement remains deferred. Persistent
|
||
waiting/paid guidance has no timer and retains busy handling.
|
||
|
||
Earlier phases/later rounds, additional preparation families, No-Field/modules,
|
||
full modes and comprehensive acceptance remain unfinished.
|
||
|
||
### Current waiting-turn evidence
|
||
|
||
`tests/fixture-truth-movement-waiting.ts` reverses two original unopened deal
|
||
positions, then performs real setup and phase continuations. Its19-action public
|
||
Basic source leaves active Atreides10 at Arrakeen and waiting Emperor0/20 with
|
||
native wallets. Another player's actual matching move/end leaves Yes/No pending;
|
||
the respondent then ships and moves or honors No through its own real ending.
|
||
|
||
`tests/fixture-truth-movement-waiting-box.ts` uses actual public native purchases
|
||
Box1/Hajr1, stops at Richese's first movement turn and genuinely spends its dealt
|
||
Truth on a current fact. Guild's original distinct Truth then asks the waiting
|
||
Emperor. The44-action source retains cash8, all20 reserves and zero board forces;
|
||
actual payment leaves6, with two ordinary Truth choices. Paid Yes/No selection
|
||
retains the original event and one fee, returns to waiting and later finishes
|
||
the owned turn. Only unopened positions and native scalar lotteries are selected.
|
||
No hand, wallet, force, queue, clock or receipt is installed in these sources.
|
||
|
||
Separate controlled tests label the modeled pact/gift and past BG losses,
|
||
conserved original Ornithopter acquisition and native Fremen-response/Box
|
||
timing. The last checks both unaffordable and affordable payment: reject the
|
||
former without changing its original frame, and restore the latter's exact
|
||
foreign movement response with one spice left. No foreign flight is discarded
|
||
or reassigned by the waiting forecast. All four profiles can decline optional
|
||
accompaniment instead of repeatedly proposing an illegal acceptance.
|
||
|
||
The final eighteen-file union passes **125/125**, types/lint and four actual
|
||
guidance/ordinary paid-choice-handler/GameTable programmes. Eight existing-profile
|
||
runs make32 accepted owned proposals, with12 separate neutral acknowledgements;
|
||
there is no strategy tuning. Bounded review repaired active-only policy with
|
||
the paid exception, both deferred-cost preflights and native-owner deferral.
|
||
The production build passes at the initial freeze; a test-only affordable
|
||
counterpart follows. `build-identity.json` proves all application/build/dependency
|
||
and other source files identical while the final tests/types/runtime run again.
|
||
|
||
Frozen base `f0b2ac82d924ca8568bb7b58b5c290ad75cd04be`, final proof tree
|
||
`0156db54c6165d6b64c612ad15b984c953395f7659e6314894d8317491e64714`,
|
||
2645 files. Private logs, original-state control HTML, build identity and receipts:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-movement-waiting/`,
|
||
`frozen-integrated-2/report.json`; the original build is in `frozen-integrated/`.
|
||
Only final checkpoint/reference prose overlays follow proof. Framework aliases/
|
||
CSS stubbing establish server rendering, not browser/visual/deployed acceptance.
|
||
Earlier phases/later rounds, remaining preparation families/modules, complete
|
||
modes and comprehensive assurance remain open. No saved-room/D1/reset/restart/
|
||
deployment operation.
|
||
|
||
## Before-shipment movement promises — 24 October 2026
|
||
|
||
The same existential ground-movement question now includes the active player's
|
||
unused ordinary reserve shipment. This is a software reachability extension of
|
||
the general FAQ contract above; it introduces no new shipment price, force or
|
||
fulfillment rule. A shipment may create or reinforce a later ground group; it
|
||
does not fulfill Yes or violate No by itself. Both existing shipment answers and
|
||
movement answers constrain the same remaining owned turn. No-only movement
|
||
guidance first honors a required shipment instead of incorrectly suggesting End.
|
||
|
||
Ordinary preparation enumerates physical amounts, native special allocations,
|
||
destinations/sectors and explicit pledged ally-payment splits. The actual
|
||
declaration, shared tariff/funding validation and physical commit primitive
|
||
decide legality. Its detached mode stops after payment, typed withdrawal,
|
||
placement, stance, shipment-promise settlement and consuming the current price
|
||
benefit. It invents no income, draws, opponent choices or arrival effects.
|
||
Actual actions keep their original response and entry continuations.
|
||
|
||
A pending ordinary reserve shipment or native Guild cross/return projects its
|
||
**exact** declaration before later movement is checked. A player cannot declare
|
||
a bad destination/force split and then use an opponent's pass to release Yes.
|
||
Unsupported Ambassador/No-Field/module sources retain their boundary rather
|
||
than executing a full speculative continuation. Native cross/return preparation
|
||
is not enumerated yet, though actual legal choices preserve the existing promise.
|
||
Other preparation families, earlier phases/later rounds, optional/Advanced and
|
||
comprehensive acceptance remain unfinished.
|
||
|
||
### Preceding before-shipment evidence
|
||
|
||
`tests/fixture-truth-movement-shipment.ts` retains actual source prefixes before
|
||
their original shipment. Classic19 has Arrakeen10 plus10 reserves: a one-spice
|
||
reinforcement permits a later eleven-force ground move. Native Emperor37 has
|
||
the real bought Box/Hajr and no board forces; CHOAM24 has its actually dealt
|
||
Kulon and no board forces. Fresh public Guild19 preserves original Tuek5,
|
||
reserves15 and spice5, with actual reserve and cross transport. Only unopened
|
||
deals/Spice and native scalar lotteries are selected. No hand, wallet, force,
|
||
clock or receipt is installed. Separate second-Truth and Karama acquisition
|
||
edges explicitly transfer conserved originals; actual rate cancellation and
|
||
joint answers then use their original controls.
|
||
|
||
The current nineteen-file union passes **165/165**, types/lint and production
|
||
build. Six actual guidance-handler/GameTable programmes cover classic Yes/No,
|
||
Emperor, CHOAM with actual Kulon and Guild reserve/cross transport; busy handlers
|
||
submit nothing. Four existing profiles make16 accepted answer/ship/move/end
|
||
actions without tuning. Bounded review repaired ordinary-source guarding,
|
||
pledged-share enumeration, exact pending declarations and joint completion.
|
||
One expensive search run was stopped; all candidates remain after ordering by
|
||
reinforcement and useful nearby routes. Conservative last-move pruning retains
|
||
owned movement cards. The twelve new engine cases subsequently pass in3.2s.
|
||
A display-template lint issue was repaired.
|
||
|
||
Frozen base `b5a53da7126f2be5066db0723536aea3b2fa91a6`, tree
|
||
`05a19569eee3e40f07c1be2f5c4cdcb51b4772a720bafd203a9ab0acadb02d26`,
|
||
2641 files. Private logs, original-state control HTML and receipts:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-movement-before-shipment/`,
|
||
`frozen-integrated-3/report.json`. Only final checkpoint/reference prose overlays
|
||
follow proof. Framework aliases/CSS stubbing establish server rendering, not
|
||
browser/visual/deployed acceptance. Full modes, wider timing/preparations and
|
||
comprehensive assurance remain open. No saved-room/D1/reset/restart/deployment.
|
||
|
||
## Owned Box and Kulon preparation — 24 October 2026
|
||
|
||
The same bare Basic predicate now considers a held native CHOAM Kulon and an
|
||
owned Nullentropy Box with its printed **two uncommitted spice** fee. Box
|
||
authority and the existing provisional atomic full-hand exchange are unchanged;
|
||
see [the Box source contract](NULLENTROPY_BOX_ENGINE_AUDIT.md). This extends
|
||
bounded owned reachability, not the supported mode/timing profile.
|
||
|
||
Before payment, only a relevant physical card known still to be in the discard
|
||
may supply a Box witness. Public disposals teach all actual seats; private
|
||
disposals teach their former holder. Hajr, canonical Ornithopter and Kulon are
|
||
the only remembered faces needed here. A private Box choice or mixed Semuta
|
||
claim invalidates other seats' certainty of those candidates' **current
|
||
location**; its entitled inspector knows the remaining faces. Rebuilding the
|
||
deck removes current-discard certainty. This bookkeeping does not erase anyone's
|
||
historical memory, reveal discard names/counts before payment or retroactively
|
||
inspect unconfirmed old piles. Unknown/private preparation possibilities outside
|
||
that provable knowledge remain unfinished. The metadata is server-only; the
|
||
ordinary owner sees only the next legal action.
|
||
|
||
After actual payment, the original private search still shows every eligible
|
||
card, retains its event and charges once. A live Yes supplies a compliant
|
||
selection in the persistent promise control: a required movement card, or an
|
||
ordinary card when an existing route needs no new movement card. A selection that
|
||
would destroy the last route rejects **before** the real shuffle and leaves the
|
||
paid decision available; its fee is neither repeated nor refunded. No-only
|
||
promises keep the ordinary paid choice and do not offer End movement until that
|
||
choice finishes. Minimal policies use the same guided paid selection rather
|
||
than repeatedly choosing an incompatible high-value card.
|
||
|
||
Speculation uses detached copies and deterministic pile order; it never pays,
|
||
shuffles or samples the live game. Actual Box settlement retains its one server
|
||
shuffle, physical exchange and native discard continuation. Held Kulon uses its
|
||
original native legality/cost/bonus; actual counters keep it held and blocked
|
||
when canceled. Opposing loss can release an impossible answer, while voluntary
|
||
spending cannot remove the only remaining fee-funded route. Broader preparation
|
||
through native relocation, counter mitigation, earlier timing and optional or
|
||
Advanced rules remains unfinished.
|
||
|
||
### Preceding card-preparation evidence
|
||
|
||
`tests/fixture-truth-movement-box.ts` selects one original unopened Guild
|
||
Truthtrance deal, then uses actual public Basic Richese/Emperor/Guild setup,
|
||
Box1/Hajr1 purchases, three-force desert shipment6 and real Hajr plus two
|
||
one-force moves. Its44-action source leaves the original Hajr in discard, held
|
||
Box and exactly two owned spice. The actual definite Truthtrance answer adds
|
||
the second paid-search candidate. Yes recovers that same Hajr and makes the
|
||
third move; No uses the original ordinary paid-selection control. Native
|
||
CHOAM source25 stops before actual Kulon, then the question, held Kulon and
|
||
city-enabled route4 execute normally. Only unopened positions and native scalar
|
||
lotteries are selected; no dealt hand, wallet, force, clock or receipt is installed.
|
||
Separate full-hand, unknown legacy certainty, opposing fee-loss and acquired
|
||
Karama-counter tests explicitly stage conserved original outcomes.
|
||
|
||
The preceding seventeen-file union passed **231/231**, types/lint and production
|
||
build. Three actual-control/GameTable-rendering programmes retain full paid
|
||
inspection, original event, single fee, rejected selection and busy no-submit.
|
||
Four existing profiles make40 accepted paid-selection/Hajr/move/end/neutral-pass
|
||
actions and finish legally without strategy refinement. Two older Box/Auditor
|
||
fixtures failed identically on the previous engine and now acknowledge the
|
||
actual battle result; a test-only const lint issue was repaired. Bounded review
|
||
checked printed search entitlement, full-hand policy, original paid continuation,
|
||
primitive disposal knowledge, memoized preparation state and paid-choice priority.
|
||
|
||
Frozen base `edbcbe28de2128c1b59ab7b17bdf7328bddc7416`, tree
|
||
`fd900a863da9cbc9826c22ca7627c26123d1cad04915d059735cb32471c7ba00`,
|
||
2636 files. Private logs, original-state control HTML and receipts:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-movement-card-preparation/`,
|
||
`frozen-integrated-3/report.json`. Only final checkpoint/reference prose overlays
|
||
follow that proof. Framework aliases/CSS stubbing establish server rendering,
|
||
not browser/visual/deployed acceptance. Other timing/preparations/counter
|
||
mitigation, unknown private possibilities, optional/Advanced, full modes and
|
||
comprehensive assurance remain open. No saved-room/D1/reset/restart/deployment.
|
||
|
||
## Preceding movement checkpoint
|
||
|
||
`tests/fixture-truth-movement.ts` uses genuine public Basic Atreides/Emperor
|
||
setup, original33-card inventory and actual dealt Truthtrance/Hajr. Only unopened
|
||
deal/Spice positions and native scalar lotteries are selected. Actual readiness,
|
||
setup, phases and a **two-spice** one-force Polar Sink shipment precede the
|
||
question; ten original Arrakeen forces, wallets and allowances are unchanged.
|
||
|
||
The original public Ecaz/CHOAM/Richese/Guild source also buys physical
|
||
Ornithopter for one in the native cache auction, deals original Truthtrance to
|
||
Ecaz, buys one normal card, pays for placement and Guild shipment, then finishes
|
||
an actual empty CHOAM Ambassador grant. Two-group Yes/No and range-three paths
|
||
use those real cards/forces. Its existing native Ecaz final-move Semuta boundary
|
||
remains; ending disposal and the earlier Truthtrance cost still use their actual
|
||
neutral continuation. No force, wallet, clock, bonus or played card is installed.
|
||
|
||
`tests/fixture-truth-movement-choam.ts` uses public native CHOAM/Emperor setup,
|
||
actual dealt Kulon/Truthtrance, one-spice Arrakeen shipment and actual allowed
|
||
Kulon. City access plus its current bonus proves a four-territory route.
|
||
|
||
Separate multiple-question and impossibility edges explicitly stage a conserved
|
||
second original Truthtrance acquisition and conserved force-loss outcomes. They
|
||
are not natural second-purchase or native Atomics/Terror source evidence.
|
||
|
||
The preceding seventeen-file affected union passed **218/218**, with types/lint and the
|
||
production build passing. Seven actual gameplay/control/table-rendering
|
||
programmes cover direct Yes, later Hajr Yes, No surviving Hajr, both actual
|
||
Ornithopter groups, its range-three option and native current-Kulon route4.
|
||
Source programmes use20/58/26 accepted actions. Actual persistent promise
|
||
handlers execute the private witness and submit nothing when busy; actual
|
||
GameTable rendering covers question, answer, remaining promise, Truthtrance/
|
||
ending-disposal pauses and original turn completion. Authoring/answer states
|
||
are rendered and submitted as real actions, not browser clicks. Four existing
|
||
profiles make12 legal answer/move/end actions, without tuning or calibration.
|
||
|
||
Bounded review found current CHOAM range must include Kulon rather than a
|
||
three-territory cap, and an opposing loss must release only incompatible answers.
|
||
Both have regressions, including genuine Kulon play. Multiple-promise feedback
|
||
keeps detached settlement coherent; deterministic owned preparation does not
|
||
invent extra fresh-discard events while a real cost is suspended. Initial fixture
|
||
feedback corrected the actual two-spice Polar Sink tariff and automatically
|
||
allowed Kulon. Three representative older failures reproduced against the prior
|
||
committed engine: shared native fixtures now acknowledge neutral Semuta, two
|
||
battle fixtures acknowledge the actual result, and the broad pre-movement Hajr
|
||
case correctly uses Basic. Native Advanced Hajr still requires its genuine
|
||
post-movement opportunity. A notice-label scalar lint issue was repaired.
|
||
|
||
Frozen base `b4a556d5d345c9ff3056b01af0076ae86bdf5579`, tree
|
||
`990c92fd368f07e1be91dcc0c677a7c029ecfcd6f747b99943e07cae28f8cfc3`,
|
||
2631 files. Private logs, original-state/control HTML and receipts:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261024-truth-movement/`,
|
||
`frozen-integrated-3/report.json`. Final checkpoint/reference prose overlays
|
||
are separately recorded; engine, controls, helpers and tests match the proof.
|
||
Framework aliases/CSS stubbing make this server-rendered evidence, not browser,
|
||
visual or deployed acceptance. Full modes, wider preparations/timing/modules,
|
||
comprehensive assurance and deployed acceptance remain open. No saved-room/D1
|
||
operation, reset, restart or deployment.
|
||
|
||
## Ground-movement destination sector — 27 October 2026
|
||
|
||
**Prototyped / Partial.** The publisher FAQ (November 2020, p. 8) permits
|
||
current-turn Yes/No questions; naming the destination sector is a provisional
|
||
application of the project's online binding procedure. A movement clause may
|
||
name any sector of a printed territory or a single printed sector and requires
|
||
one actual physical ground-moving group of the selected minimum. Shipment,
|
||
marker-only movement and special relocations retain their existing distinctions.
|
||
|
||
Standalone, expression, mixed, travel and whole-turn questions use the same
|
||
native legal movement and shared private guide. No forbids the matching move;
|
||
Yes retains an available native completion. Different actual moves can satisfy
|
||
different positive sector clauses when movement allowances and cards permit.
|
||
Per-sector maxima record each qualifying group without adding smaller moves;
|
||
old territory-wide progress is preserved and never implies an unrecorded sector.
|
||
Dynamic board locations remain native legal destinations but cannot be named
|
||
as printed-sector claims in this prototype.
|
||
|
||
Runtime cases use a genuine Basic setup and actual physical shipment, Hajr and
|
||
movement actions; complete expansion interactions, broader source review,
|
||
browser and deployed acceptance remain open.
|