Files
Dune/docs/TRUTHTRANCE_MOVEMENT_PROMISES.md
T
Quintine b5a53da712 Support owned Box and Kulon movement-promise preparation
Extend bounded Basic ground-movement reachability to held native CHOAM Kulon and owned paid Box recovery. Before payment, use only known current-discard identities. Preserve actual paid event, full inspection, one two-spice fee, original physical card replay and existing provisional full-hand exchange. Reject a Yes-breaking selection before the server shuffle without losing the paid search. Keep No-only searches on their normal decision before movement can end.

Record movement-relevant current-discard certainty at actual disposal, paid search, mixed claim and deck rebuild boundaries without projecting raw metadata or erasing historical memory. Use deterministic preparation on private copies, include preparation state in search memoization, protect fee-funded routes from voluntary spending and keep native Kulon counter semantics. Persistent busy-safe guidance and existing legal profiles use the actual next paid action; no strategy tuning.

Verify 17 files231/231, types/lint/build, three original-action control/table-rendering programmes and four existing profiles with40 accepted actions including neutral passes. Original public sources44/25 retain actual purchases1+1, shipment costs6/1, exhausted Hajr and native Kulon route4. Separate full-hand, legacy certainty, fee-loss and acquired-counter edges disclose conserved staging. Two prior-engine Auditor fixture failures are repaired by actual battle-result acknowledgements; test-only const lint is corrected.

Other timing, preparations/counter mitigation, unknown private possibilities, optional/Advanced, full modes, comprehensive assurance and deployed acceptance remain open. No saved-room/reset/restart/deployment operation.
2026-10-24 14:53:11 +11:00

12 KiB

Truthtrance ground-movement promises

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. 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.

Fresh or existing Basic native tables can ask at a clean active post-shipment turn, 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. Earlier phase/waiting-turn 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 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), earlier timing, optional/Advanced profiles and comprehensive combination/recovery/privacy/custody acceptance remain due.

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. 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 movement-card selection in the persistent promise control. 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.

Current 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 current seventeen-file union passes 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.