235 lines
15 KiB
Markdown
235 lines
15 KiB
Markdown
# Truthtrance combined shipment and physical movement
|
||
|
||
## Earlier native phases — 26 October 2026
|
||
|
||
**Prototyped / Partial.** The same raw question now uses the existing clean
|
||
native movement-target envelope in Storm, Spice Blow, Charity, Bidding, Revival
|
||
and Shipment and Movement (phases0–5), in both Basic and Advanced. Registered
|
||
factions retain their existing selected native-deck and optional-module scope.
|
||
This supersedes only the earlier phase5 entry restriction documented below.
|
||
No shipment, movement, payment or card action happens merely by answering.
|
||
|
||
Reuse the existing owned-stage forecast described in
|
||
[earlier native movement](TRUTHTRANCE_MOVEMENT_PROMISES.md#native-early-advanced-and-choam-opening--26-october-2026).
|
||
Original Charity/normal Revival/current auction liabilities and owned known
|
||
preparations remain authoritative. No unknown future card, foreign gift or
|
||
favorable future Storm supplies a witness. Prior Revival and bribe obligations
|
||
share the same future purse; a final Revival aggregate must retain combined
|
||
travel feasibility rather than spend the same spice twice.
|
||
|
||
An early record starts with its future shipment pending even when the actual
|
||
player still has last turn's `shipped` flag. That old physical event never
|
||
counts as this answer's progress. Original phase5 initialization remains in
|
||
charge of real allowances. Actual current-turn native shipment/ground hooks
|
||
record the same distinct receipts and physical maxima; no new event is granted.
|
||
|
||
A definite answer uniformly reopens only the respondent's concurrent Charity
|
||
or legacy Revival readiness, including constant answers. This avoids exposing
|
||
a private fact branch through a public Ready difference. Constant answers are
|
||
still terminal without action receipts or a private future guide. Ordered
|
||
Advanced Revival never reopens an already completed owned turn. A required
|
||
owned preparation or optional spending must preserve the last legal route;
|
||
mandatory early progress and completed opposing effects can release actual
|
||
impossibility rather than trapping the actor. Pending native outcomes retain
|
||
priority.
|
||
|
||
The private guide now offers only an entitled action in the current phase:
|
||
Charity, Ready, ordinary Revival, current native bid pass or an owned invoice,
|
||
then the existing phase5 transport/movement/card controls. Original cash or
|
||
physical Karama payment remains a choice of the actual invoice; exact projected
|
||
packets preserve that source. Required native bid/Revival commitments take
|
||
priority over passing or Ready in the guide; their native joint completion
|
||
retains travel funding. Pending allied auction escrow waits for its actual
|
||
foreign payment/income outcome before impossible travel can release. A source-bound paid Box search retains its actual
|
||
phase. No future transport is exposed before phase5. Each packet includes
|
||
`travelPromisePhase` as well as its event: an old Charity Ready cannot be
|
||
replayed as a later Revival Ready. The server and saved callbacks verify the
|
||
current source and exact packet. Four minimal profiles use that same path.
|
||
|
||
New source/control evidence: `tests/fixture-truth-travel-early.ts`,
|
||
`tests/truth-travel-early-runtime.test.ts`,
|
||
`tests/truth-travel-early-controls.test.tsx`. Separate conserved controlled
|
||
`tests/truth-travel-early-revival.test.ts` cases actually declare both original
|
||
Truth cards in opposite acceptance orders to reject a shared-purse conflict;
|
||
they claim no setup/casualty history. Native
|
||
`tests/truth-travel-early-bid.test.ts` uses genuine Harkonnen opening custody to
|
||
protect pending bid funding and legal required declarations in both answer
|
||
orders.
|
||
|
||
Frozen verification passes **23 files,197/197**, types/lint/build and three native
|
||
runtime journeys with 25 GameTable SSR renders, three actual answer callbacks and
|
||
16 guide callbacks. Original owned-Karama Charity53 adds32: real bid2 and current
|
||
cash invoice precede Revival and later paid ship2/ground2. Hajr Charity13 adds16:
|
||
frozen spice, actual bribe3, paid shipment and two real groups with original Hajr.
|
||
Earned post-Storm41 adds24, retaining its true prior shipped flag while the new
|
||
future shipment remains pending with empty progress. Every original physical
|
||
card inventory remains. Nineteen native and ten early control cases supplement
|
||
existing movement/shipment/Revival/funding evidence. Two original Harkonnen
|
||
opening-custody bid cases exercise both answer orders; three conserved controlled
|
||
Revival cases exercise incompatibility and required actual returns. Four minimal
|
||
profiles consume legal current-phase guides.
|
||
|
||
V1 source feedback finds a controlled ally's Carthag garrison invalidates the
|
||
chosen destination, so the escrow case uses the original audit's Basin route.
|
||
Actual foreign invoice/income deferral and native required-bid/Revival guide/
|
||
funding corrections pass focused regressions. V2 passes types/lint, the full
|
||
197-case union and build. Its private smoke driver then auto-settles an owned
|
||
invoice before inspecting it. Only that driver changes; corrected runtime v3
|
||
advances one native action at a time. `verified-proof.json` explicitly reuses
|
||
v2's three passing checks on an identical before/after source snapshot.
|
||
Proof and per-file manifest:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-travel-early-proof-v3/`;
|
||
journeys/HTML: adjacent `20261026-truth-travel-early-runtime/`.
|
||
This is local engine/SSR/actual-callback evidence, not DOM/hydration/browser/
|
||
mobile/deployed acceptance or complete-mode certification.
|
||
Other cross-action families, wider owned preparations/module compositions and
|
||
final rules/browser/mobile/deployed/recovery/privacy/custody acceptance remain.
|
||
|
||
## Native travel prototype — 26 October 2026
|
||
|
||
**Prototyped / Partial.** The question is `{kind:'travel',target,turn,mixed}`.
|
||
Travel action leaves are `{kind:'ship'|'move',territory,minimum}` inside the shared
|
||
fact/action/AND/OR tree. Current facts are optional; at least one action remains
|
||
required. Every original subtree is validated under sixteen logical leaves and
|
||
four grouping levels. Old mixed families still require a fact by default.
|
||
|
||
## Authority and interval
|
||
|
||
Reuse publisher November2020 FAQp8 game-related yes/no/current-turn/AND/OR and
|
||
shipment example, plus supplied Advanced physical39/printed37 compliance,
|
||
impossibility and unknown authority. No dedicated printed cross-action planner
|
||
is claimed. The existing native owned-action witness interpretation is a
|
||
provisional online implementation choice under the standing14October priority.
|
||
|
||
This first cross-action envelope is the current phase5 native active or unused
|
||
waiting turn accepted by the existing movement target rules. Printed factions
|
||
and selected native expansion decks use that existing scope; optional modules
|
||
retain their separate limits. Earlier phases and arbitrary future card/power/
|
||
other-action expressions remain unfinished. Parser rejection is a software
|
||
boundary, not a printed rule that those questions cannot be asked.
|
||
|
||
Shipment leaves concern the one future original reserve-shipment event after
|
||
the answer. A shipment already used before answering is false for those future
|
||
leaves. Cross-planet/return transport consumes that original opportunity without
|
||
becoming a reserve shipment. A skipped or stopped shipment records absence.
|
||
Arrival, original fees, physical reserves and native responses remain unchanged.
|
||
|
||
Movement leaves concern one future actual ordinary physical ground group to a
|
||
named destination. The largest group per destination is retained, not a sum of
|
||
smaller moves. Original Hajr/Ornithopter and owned preparations may supply more
|
||
moves through the existing planner; no entitlement is added. Ambassador moves,
|
||
markers and shipments do not contribute movement progress. A shipment may
|
||
prepare a later movement while satisfying only its own shipment conditions.
|
||
|
||
## One whole answer and native feasibility
|
||
|
||
Current facts freeze at the actual answer. Unknown is false for a definite Yes
|
||
and true for No, retaining the earlier guaranteed-aggregate interpretation.
|
||
Unknown-fact correlations are not inferred. No negates the whole tree, not each
|
||
leaf. A true current fact OR action, or false current fact AND action, can make
|
||
the selected answer terminal without a future commitment.
|
||
|
||
`game/travel-expression-promises.ts` lazily reduces the whole compiled answer
|
||
to signed branches, folding actual progress and closed opportunities. Every
|
||
shipment leaf shares one event. Native min/cap contradictions are pruned;
|
||
alternatives remain available rather than binding one route. Private detached
|
||
witnesses translate a branch into existing shipment and movement constraints,
|
||
then call the original ground-movement completion search. The real ledgers never
|
||
receive that selected branch. Quotes retain original force types, wallets,
|
||
movement allowance, routes, owned card preparation and prior native promises.
|
||
|
||
Actual shipment/ground hooks record receipts; a qualifying whole Yes fulfills
|
||
immediately. Whole No remains binding through the respondent's actual turn end.
|
||
Ending cannot erase a required action. Spending or consuming the last owned
|
||
route is rejected. An opposing completed effect can release a now-impossible
|
||
answer; interrupted responses retain original priority.
|
||
|
||
At the first combined answer, the private order records existing shipment rows
|
||
and the native within-movement sequence before the new row. Subsequent real
|
||
scalar, whole/mixed movement, shipment and travel answers append their native
|
||
ledger index. Joint feasibility reconciles prefixes in that accepted order;
|
||
no virtual branch is made permanent. Historical ordering between different
|
||
native families before this cutover is not reconstructed. Wider cross-family
|
||
revival/payment/alliance/battle composition remains outside this first envelope.
|
||
|
||
### Guild-allied Fremen reserve transport follow-up
|
||
|
||
Bounded read-only review found the joint movement preparation search enumerated
|
||
ordinary `ship` but omitted native Fremen `guildShip` from southern reserves.
|
||
The native generator now retains that distinct reciprocal-Guild-ally variant;
|
||
the witness uses the original Guild tariff and funding split, then dispatches
|
||
the actual transport validator. It never substitutes Fremen's free ordinary
|
||
reinforcement price. The exact private guide/control also accepts that packet.
|
||
Three controlled conserved native cases isolate real transport, subsequent
|
||
physical movement, pledged Guild funding, later scalar compatibility and
|
||
insufficient funds. They claim no historical setup/alliance acquisition. Native
|
||
enumeration and exact guide packet checks also cover that variant. The complete
|
||
v4 batch passes after this correction; the earlier v3 proof predates it.
|
||
|
||
## Connected controls and minimal policies
|
||
|
||
The shared full editor switches ship/move leaves, destination and minimum,
|
||
adds/wraps/nests/removes/collapses groups, and optionally includes current facts.
|
||
It reads public vocabulary only. Original raw preview/Ask, private whole-answer
|
||
choices and persistent own aggregate history connect through the existing
|
||
Truthtrance window. Raw own rows omit compiled/frozen values and route choices.
|
||
|
||
One private exact guide offers the next native action, with original selection
|
||
and costs available for review. Identity, actor, turn, phase, event, busy and
|
||
native modal guards prevent stale dispatch. Ordinary manual legal alternatives
|
||
remain available. Four minimal profiles answer and consume that same guide;
|
||
strategic refinement/calibration remain deferred.
|
||
|
||
## Evidence and remaining gates
|
||
|
||
Helpers: `tests/travel-expression-promises.test.ts`,
|
||
`tests/mixed-action-question.test.ts`. Source/runtime:
|
||
`tests/fixture-truth-travel.ts`, `tests/truth-travel-runtime.test.ts`.
|
||
A separate actual Harkonnen two-card opening supplies both original Truths for
|
||
`tests/fixture-truth-travel-order.ts` and `tests/truth-travel-order.test.ts`;
|
||
its acceptance-order journeys install no extra card or ledger.
|
||
Controls: `tests/truth-travel-controls.test.tsx`.
|
||
Frozen v4 passes **24 files,237/237**, types/lint/build and six original runtime
|
||
paths,21 GameTable SSR renders, six actual answer callbacks/six guide callbacks
|
||
and one editor callback followed by native Ask. Active19 adds7 for paid shipment2
|
||
and a distinct actual move/own end. Edited OR19 adds6 for manual movement without
|
||
shipping. Both No-to-AND routes19 add6 and complete only at own end. Frozen Hajr/
|
||
spice facts19 add10 for actual bribe3, shipment2, nonmatching move, physical Hajr
|
||
and required second move. Waiting19 adds8 while preserving the original other
|
||
owner's turn before the respondent's actual ship/move. Four minimal profiles
|
||
actually answer and perform the same native guide. All33 original cards remain.
|
||
|
||
Ten helper, nine controls and18 native cases supplement existing shipment,
|
||
movement and funding coverage. Nine original two-Truth cases use genuine Harkonnen
|
||
opening custody and27 native actions (bidding20 plus continuation7), covering both
|
||
orders across scalar shipment, scalar movement and whole movement, compatible
|
||
whole No and conflicting second-answer rejection while retaining earlier records.
|
||
No opposing native release journey is claimed from those sources.
|
||
|
||
Focused feedback repairs the native shipment event projection, a bot actor lookup
|
||
and test assumptions about undrawn cards and redundant valid branches. Frozen
|
||
v1 catches JSX composition; v2 catches generic array narrowing. Those are repaired
|
||
before the passing v3. Bounded read-only review then identifies the missing
|
||
Guild-allied Fremen preparation route described above; native generator, exact
|
||
Guild price and guide repairs precede the complete passing v4. Extra evidence:
|
||
`tests/movement-shipment-preparation.test.ts` and
|
||
`tests/truth-travel-guild-fremen.test.ts`. Proof and per-file manifest:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-travel-proof-v4/`;
|
||
journeys/HTML: adjacent `20261026-truth-travel-runtime/`.
|
||
Evidence is local native engine/SSR/actual callbacks, not DOM, hydration, browser,
|
||
mobile or deployed acceptance, and certifies no complete mode.
|
||
|
||
The original Basic base33 source retains its actual selected unopened deal,
|
||
Storm/Spice/Charity/Bidding/Revival prefix. Active selects the recorded prefix
|
||
immediately before the paid shipment; waiting retains the current owner and
|
||
original movement queue. Only one Truthtrance is actually dealt in that source;
|
||
the other original physical copy remains undrawn. No extra hand, wallet, force,
|
||
clock, promise, answer or event is installed. Controlled helper/view cases are
|
||
not represented as historical acquisition evidence.
|
||
|
||
Earlier phases, other cross-action families, unknown-fact correlations, native
|
||
optional-module/expansion/owned-preparation compositions and full rules/recovery/
|
||
privacy/custody/browser/mobile/deployed acceptance remain required. No complete
|
||
mode is certified. No database, saved-game, server, reset, restart or deployment
|
||
operation belongs to this prototype batch.
|