118 lines
7.2 KiB
Markdown
118 lines
7.2 KiB
Markdown
# Truthtrance combined future ground moves
|
||
|
||
The [mixed current-fact follow-up](TRUTHTRANCE_MIXED_MOVEMENT.md) adds a raw
|
||
mixed question compiled privately into these same native movement obligations.
|
||
Its original tree/aggregate is projected separately; compiled facts are hidden.
|
||
|
||
## Whole AND/OR prototype — 26 October 2026
|
||
|
||
**Prototyped / Partial.** A structured question combines future ordinary
|
||
physical ground moves to printed Arrakis territories. The packet is
|
||
`{kind:'movementExpression',target,turn,claim}`. Native Basic/Advanced phases0–5
|
||
use the same quiet unused opportunity and owned preparations as
|
||
[scalar movement](TRUTHTRANCE_MOVEMENT_PROMISES.md). No start gate opens.
|
||
|
||
## Authority and provisional event meaning
|
||
|
||
The recorded [nonbattle source audit](TRUTHTRANCE_NONBATTLE_READINESS_20260907.md#source-basis)
|
||
identifies publisher [November2020 FAQp8](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf)
|
||
current-turn commitments and AND/OR authority. Supplied Advanced physical39/
|
||
printed37 Truthtrance errata records public answers, compliance, later
|
||
impossibility and unknown/save. Neither supplies an online solver. The existing
|
||
owned-action, ordinary-opportunity interval and accepted-order release remain
|
||
provisional composition under standing14October choose-recommended priority.
|
||
|
||
A leaf requires one actual matching physical ground group after this answer.
|
||
Repeated same-destination leaves share the largest qualifying future group.
|
||
Smaller separate moves never add together, even if the same tokens move twice.
|
||
Prior moves are excluded. AND requires all children; OR at least one. **No
|
||
negates the whole expression.** No to A AND B may permit either first group,
|
||
while No to A OR B forbids either qualifying group. No route is stored.
|
||
|
||
The native committed event owns the physical amount: each elite/advisor retains
|
||
its native physical counting, while a concealed No-Field marker contributes0.
|
||
Shipment may prepare but cannot fulfill a movement leaf. HMS relocation and
|
||
Ambassador relocation are separate producers. A pending Fremen/Ixian/CHOAM
|
||
range response records nothing until the real movement is committed; prevention
|
||
retains its native physical result and may release later impossibility.
|
||
Actual nonmatching destinations remain legal, including native HMS moves;
|
||
question leaves and recorded maxima remain printed Arrakis destinations.
|
||
|
||
## Search, funding and usable controls
|
||
|
||
`game/movement-expression-promises.ts` parses every subtree, evaluates the
|
||
whole answer and immutably records maximum-per-destination physical progress.
|
||
Sixteen leaves/depth4 are software input limits, not printed limits on questions.
|
||
`game/movement-promise-search.ts` jointly searches scalar and whole obligations,
|
||
including actual owned Hajr/Ornithopter/Ghola/Box/Kulon/native preparation paths.
|
||
It checks whole No before projected movement, includes whole progress in memo
|
||
state, and cannot finish while a positive whole answer remains incomplete.
|
||
Optimistic bounds never discard an OR because a different leaf is impossible,
|
||
or forget a leaf already fulfilled before later force losses.
|
||
|
||
The engine uses that same search for answers, own voluntary spending/card
|
||
preservation, current private guides and completed opposing impossibility.
|
||
Existing battle/bid/bribe/revival/shipment commitments keep their original
|
||
budgets. Accepted order is shared across new scalar and whole movement answers;
|
||
older unstamped scalar records precede new ones. No closes only at the actual
|
||
owner opportunity finish; Yes cannot evade by Finish. Earlier Charity/Revival
|
||
readiness reopens for original owned preparation. An answer moves nothing early
|
||
and grants no new movement entitlement. Advanced Hajr keeps its immediate
|
||
post-movement/required-arrival timing.
|
||
|
||
The full controlled editor adds/wraps/nests/removes/collapses groups and repairs
|
||
invalid numeric/destination drafts. Preview and native Ask keep the full tree.
|
||
Target-only answers, own maximum progress and one exact phase/event guide
|
||
connect to the real table and all four minimal policies. Nested force records
|
||
are compared by content across JSON transport; key order is immaterial. Stale,
|
||
modified or foreign guides reject. An alternative legal OR route may be moved
|
||
manually. The legacy scalar panel supplies the shared guide when both ledgers
|
||
exist, avoiding duplicate visible actions. AI strategy/calibration stay deferred.
|
||
|
||
## Evidence and remaining gates
|
||
|
||
Pure/search cases: `tests/movement-expression-promises.test.ts`.
|
||
Controlled editor/guide cases: `tests/truth-movement-expression-controls.test.tsx`.
|
||
Original native sources/cases: `tests/fixture-truth-movement-expression.ts` and
|
||
`tests/truth-movement-expression-runtime.test.ts`. Eleven pure,five search
|
||
adapter,eight controlled and13 native cases are included in the frozen
|
||
**22-file,177/177** union. Types/lint, production build and eight native paths
|
||
pass on the same unchanged source. Actual GameTable SSR renders33 times;
|
||
12 actual guide callbacks submit native packets. One actual editor meaning
|
||
callback retains the full tree through native Ask. Four minimal policies
|
||
actually answer and complete AND on both Basic/Advanced original sources.
|
||
|
||
| Original base33 source | Prefix actions | Further actions | Actual result |
|
||
| --- | ---: | ---: | --- |
|
||
| Basic AND | 20 | 8 | Real move/Hajr/move and owner finish; physical Hajr consumed once |
|
||
| Advanced AND | 23 | 8 | Same whole progress with original post-move Hajr timing |
|
||
| Basic edited OR | 20 | 6 | Actual AND→OR editor then Ask; manual alternate fulfills |
|
||
| Basic No AND | 20 | 7 | First qualifying move allowed; completing both rejects |
|
||
| Basic No OR | 20 | 5 | Either qualifying move rejects; actual owner finish closes No |
|
||
| Basic maximum versus sum | 20 | 8 | Two one-force groups place2 in Basin but record maximum1 |
|
||
| Basic early Charity | 13 | 14 | Real later phases/paid shipment and two physical ground moves |
|
||
| Advanced Fremen range | 27 | 8 | Pending response records nothing; actual elite commit fulfills |
|
||
|
||
A fixture-only template String conversion repairs initial lint feedback; the
|
||
passing v2 source snapshot is
|
||
`21af7718a11b4021df4b380d0d88613db71aa3ee47514bc9b95059da410cca9b`
|
||
(3145 files). Final evidence prose is a separate three-document overlay.
|
||
Frozen report/manifest:
|
||
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-movement-expression-proof-v2/`;
|
||
journeys/HTML: adjacent `20261026-truth-movement-expression-runtime/`.
|
||
SSR/editor/guide callbacks are local engine/control evidence, not DOM,
|
||
hydration, browser/mobile or deployed acceptance.
|
||
|
||
The source adapters inherit original Basic/Advanced base33 setup, printed
|
||
armies, dealt Hajr/Truthtrance and paid Polar shipment. A separate earlier
|
||
source replays the original selected unopened setup/Spice prefix to real Charity;
|
||
a Fremen source retains its actual Advanced range response and typed forces.
|
||
No played clock, purse, hand, army or promise is installed by these adapters.
|
||
Controlled UI/search adapters retain those labels, not original acquisition proof.
|
||
|
||
Current-fact/cross-family expressions, optional modules, wider native card/
|
||
faction/skill compositions, final rules/recovery/privacy/custody review and
|
||
browser/mobile/deployed acceptance remain required. No complete mode is
|
||
certified. No saved-game/database/server/reset/restart/deployment operation is
|
||
performed by this batch.
|