Support Basic movement promises before shipment

Allow clean active Basic ground-movement questions before or after shipment. Enumerate ordinary reserve amounts, native physical allocations, destinations and pledged payment splits through the actual declaration and shared physical commit. Detached projection stops before income/arrival effects and never counts shipment as ground fulfillment. Joint movement No and shipment Yes retain a legal next action rather than invalid End guidance.

Preserve exact pending ordinary reserve and native Guild permission/rate declarations when checking the remaining route. Voluntary wrong destination, force splitting or fee loss cannot release Yes through an opponent response. Guard unsupported sources before full speculative continuation. Existing live payment, cancellation, income and entry paths remain. Persistent busy-safe controls display reinforcement and both obligations; all four existing profiles use the same legal witness without strategy refinement.

Verify 19 files165/165, types/lint/build, six original-action gameplay/control/table-rendering programmes and four profiles with16 accepted actions. Genuine sources19/37/24/19 retain classic Arrakeen10 reinforced to11, native zero-board Emperor/CHOAM starts and original Guild5/15/5 reserve/cross transport. Second-card/counter cases explicitly transfer conserved originals. Bounded review repaired source guarding, funding completeness and exact pending-frame behavior. Stop an observed expensive search, reorder complete candidates by useful proximity and conservatively prune dead-end final moves; twelve new engine cases pass in3.2s. Correct a display-template lint issue.

Earlier phases/waiting turns, native transport/relocation preparation, No-Field/module sources, broader interactions, full modes, comprehensive assurance and deployed acceptance remain open. No strategic tuning or saved-room/reset/restart/deployment operation.
This commit is contained in:
Quintine committed 2026-10-24 15:10:49 +11:00
1 parent b5a53da712
commit f0b2ac82d9
18 files changed
+637 -34

No files matched your search

+21
View File
@@ -16,6 +16,27 @@ open mode gates.
## Current checkpoint and work
**Basic movement promises before shipment — 24 October. Prototyped / Partial.**
Clean active Basic turns now include ordinary reserve shipment preparation, with
actual tariffs, typed withdrawals and pledged payment splits. Shipment itself
never fulfills movement; a movement No cannot bypass a shipment Yes. Pending
ordinary reserve/Guild transport keeps its exact declaration, while unsupported
sources stay guarded. Persistent joint guidance keeps both obligations readable.
A disjoint original-source lane, bounded response review and owner integration
pass **19 files165/165**, types/lint/build, six actual-control/table-rendering
programmes and four existing profiles with16 accepted actions. Classic source19
reinforces original Arrakeen10 to11 for a later move, or ships under No. Native
Emperor37, CHOAM24 and Guild19 retain original cards/payments; Guild remains
5 board/15 reserve/5 spice. Second-card/counter edges disclose conserved staging.
Review repaired exact-source projection, pledged-share enumeration and joint
completion; observed search expansion prompted complete candidate reordering
and conservative dead-end pruning. Twelve new engine cases then pass in3.2s;
a display-label lint issue was corrected. [Current source/proof and remaining scope](TRUTHTRANCE_MOVEMENT_PROMISES.md#before-shipment-movement-promises--24-october-2026).
Earlier phases/waiting turns, native transport/relocation preparation,
No-Field/module sources and wider interactions remain unfinished. No strategy
tuning, comprehensive assurance or saved-room/reset/restart/deployment operation.
**Owned movement-card preparation — 24 October. Prototyped / Partial.**
Basic movement promises now include held native Kulon and owned paid Box
recovery. Before payment, only known current-discard identities supply a route;
+24
View File
@@ -1,5 +1,29 @@
# Dune implementation status
## 24 October 2026 — Basic movement promises before shipment
Extend active Basic questions to unused ordinary shipment. Shared declaration,
tariffs and physical commit supply typed reserve arrivals and all pledged splits,
without speculative income/entry effects. Actual response/arrival paths remain.
Shipment never fulfills ground movement, and joint No/positive-shipment guidance
cannot offer illegal End. Preserve exact pending ordinary/Guild frames so a
voluntary bad shipment cannot release Yes on an opponent pass. Guard unsupported
sources before any full speculative continuation. Persistent guidance serves
the joint route and remains busy-safe.
A disjoint original-source lane, bounded review and owner integration pass
19 files165/165, types/lint/build, six gameplay/control/table-rendering programmes
and four existing profiles with16 accepted actions. Sources19/37/24/19 retain
actual classic reinforcement10→11, native zero-board starts and original Guild
5/15/5. Controlled second-card/counter cases are separately labelled. Review
corrected exact-source and funding completeness; an observed expensive search
was stopped and candidate ordering/dead-end pruning repaired without deleting
legal candidates. Twelve new engine cases pass in3.2s; label lint was corrected.
[Authority, exact source and limits](TRUTHTRANCE_MOVEMENT_PROMISES.md#before-shipment-movement-promises--24-october-2026).
Earlier phases/waiting turns, other preparation families, No-Field/modules,
full modes, comprehensive assurance and deployed acceptance remain open.
No strategic tuning or saved-room/reset/restart/deployment operation.
## 24 October 2026 — Owned movement-card preparation
Extend bounded Basic movement promises with held native Kulon and owned paid
+1 -1
View File
@@ -907,7 +907,7 @@ dedicated retrieved worked FAQs. [Contract and remaining limits](HOMEWORLD_OCCUP
| Advanced Kull specific effect | Supplied physical29/logical27 restricts the attempted Karama for a specific effect, unlike publisher Basic phase-wide wording. New signed Advanced attempts bind semantic purpose; purchase/payment and native special variants normalize, as do enhanced Prescience/advisor conversion. CHOAM effects and special-force faction powers stay distinct. Retaining turn/phase expiry is explicit provisional composition under the 14 October policy, not supplied wording. Legacy unstamped pending/restriction frames retain broad scope. Prior distinct counter, BG-before-conversion and deferred overbid selections stay. | [Source cutover and keys](CHOAM_KULL_SOURCE_UPDATE.md#advanced-specific-effect-scope--18-october-2026), [connected implementation and limits](CHOAM_KULL_DESIGN.md#advanced-effect-scope--18-october-2026) |
| Kull Wahad preview timing | User selected a **distinct eligible counter** while the interrupted physical card stays reserved, and BG Worthless interception **before conversion/discard**. Pending declaration is not a ban; only success stamps turn/phase and retains original/special once-use. Decline or prevention resumes the original once. Old `kull` stays printed-only; fresh `nexus-kull` admits native CHOAM plus classic Basic/Advanced seats, CHOAM/Ix Treachery and Nexus alone, without physical Sandtrout. Nexus Use needs actual unallied CHOAM Nexus and canonical eligible own fuel: accepted declaration spends Nexus even if prevented, fuel stays held until success. Use requires source/event/card, with no old-source action shim or proactive Kull. Verified prior printed counter saves migrate only their selection binding; no new-choice retrofit. Reservations, promises and remaining winning-payment coverage constrain fuel/counters; ordinary retained Karama payment is not a canceled Cunning effect. Priority/custody/overbid are user policy; neutral timing/spend conventions are application policy. Bounded checks/CLI/runtime/phone cases pass; broader verification is Partial and no full/public/deployed gate opens. | [Selected preview policy](CHOAM_KULL_SOURCE_UPDATE.md#user-selected-preview-timing--30-september-2026), [source/cost boundary](NEXUS_CHOAM_RULES.md#kull-source-cost-and-action-boundary), [runtime and remaining limits](CHOAM_KULL_DESIGN.md), [new evidence](NEXUS_CHOAM_RUNTIME.md#five-part-status-for-the-new-interaction) |
| Semuta full-hand exchange | User selected **Allow exchange**: acquisition followed by Semuta disposal is an atomic net-zero hand exchange at the faction limit. Existing incoming reservations still consume capacity; this does not permit an already overfull hand or settle Box/Richese purchase timing. | [Selected capacity policy](SEMUTA_SOURCE_UPDATE_20260907.md#user-selected-full-hand-exchange--30-september-2026) |
| Truthtrance / Basic ground movement | Compose the general FAQ binding-while-possible rule with one future qualifying physical ground movement before the active post-shipment turn ends. Yes survives nonmatches while an owned completion remains; No forbids every later match through Hajr/Ornithopter until actual closure. Commit before arrival/disposal, preserve native controls, and retain compatible promises in accepted order after an opposing loss. Held native Kulon and owned paid Box recovery use actual legality; before payment, only known current-discard identities supply a Box witness. Retain original paid selection/event, the two-spice fee and existing provisional full-hand exchange; do not inspect unknown piles or erase historical memory. Shipment/HMS/Ambassador relocation and the No-Field marker itself do not count as ordinary physical ground movement. This bounded predicate and release priority are software compositions, not a movement-specific publisher FAQ. Earlier timing, wider preparations/counter mitigation, optional/Advanced and full acceptance remain unfinished. | [Authority, behavior and bounded evidence](TRUTHTRANCE_MOVEMENT_PROMISES.md) |
| Truthtrance / Basic ground movement | Compose the general FAQ binding-while-possible rule with one future qualifying physical ground movement before the active turn ends, now before or after shipment. Ordinary reserve preparation uses actual prices, typed physical withdrawals and pledged payment splits; shipment itself never fulfills movement. Joint answers govern completion, and pending ordinary/Guild declarations retain their exact frame. Yes survives nonmatches while an owned completion remains; No forbids every later match through Hajr/Ornithopter until actual closure. Commit before arrival/disposal, preserve native controls and compatible promises after opposing loss. Held native Kulon and paid Box use actual legality and known current-discard identities before payment; retain original paid event, fee and provisional full-hand exchange without unknown inspection or erased historical memory. Shipment/HMS/Ambassador relocation and the No-Field marker do not count as ordinary physical ground movement. This predicate/release policy is software composition, not a movement-specific publisher FAQ. Earlier phases/waiting turns, native transport preparation, wider/counter combinations, optional/Advanced and full acceptance remain unfinished. | [Authority, behavior and bounded evidence](TRUTHTRANCE_MOVEMENT_PROMISES.md) |
| Semuta / native Basic entries | Fresh bare public Basic Richese previews initialize the existing protocol before genuine setup with selected native E1/E2/E3 families; no optional/Advanced inheritance or old-game retrofit. Clean source-witnessed shipment/movement CHOAM and Ixian Ambassador private discards, including BG copies, park the original entry: keep CHOAM's committed credit and draw the Ixian replacement only after the reaction. This composes printed component rules, not a new timing FAQ. Existing Basic Terror overflow retains the neutral all-seat response, committed-only face access, original victim/draw, removed token, payment, forces and optional gift. Nested parents, completed movement-card provenance and wider module/full-game coverage remain unfinished implementation boundaries, not printed Semuta prohibitions. | [Fresh Basic and Ambassador scope](SEMUTA_SOURCE_UPDATE_20260907.md#fresh-basic-starts-and-ambassador-discards--24-october-2026), [native Terror suffix](TERROR_DISCARD_CONTINUATIONS.md) |
Shipment and mixed current-fact/shipment AND/OR follow the FAQ's whole-question
+65 -5
View File
@@ -17,8 +17,8 @@ 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
Fresh or existing Basic native tables can ask at a clean **active Shipment and
Movement turn**, before or after 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. Earlier
phase/waiting-turn movement questions, compound movement/fact questions and wider
@@ -55,9 +55,69 @@ reconfigured and absent promise fields remain absent until a real answer binds.
This is bounded reachability, not complete arbitrary Truthtrance enforcement.
Other owned preparation families (including native relocation preparation),
earlier timing, optional/Advanced profiles and comprehensive
earlier phases/waiting turns, optional/Advanced profiles and comprehensive
combination/recovery/privacy/custody acceptance remain due.
## 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/waiting turns, optional/Advanced and
comprehensive acceptance remain unfinished.
### Current 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
@@ -96,7 +156,7 @@ 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
### 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,
@@ -111,7 +171,7 @@ lotteries are selected; no dealt hand, wallet, force, clock or receipt is instal
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
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