Enforce Basic Truthtrance ground-movement promises
Add a structured future single-movement predicate and persistent authoring, feasible-answer and promise controls for bare native Basic active post-shipment turns. Yes requires one matching physical movement while possible; No survives every later Hajr/Ornithopter opportunity until actual turn closure. Matching physical commitment precedes disposal and arrival effects. Preserve compatible promises after opposing loss and reject voluntary destruction of the last owned completion. Reuse the actual movement declaration and physical commitment in a focused owned-action search rather than a strategic shortlist. Retain typed groups, original two-group cohorts, held Hajr, both Ornithopter modes, city access and current Kulon bonus. Deterministic preparation on private clones retains physical cost semantics without inventing response/discard events in reachability. Existing native/optional/Advanced movement retains its actual controls. Verify 17-file218/218, types/lint/build, seven original-action gameplay/control/table-rendering programmes and all four existing legal profiles. Original public classic, paid cache Ornithopter and native allowed-Kulon sources use only unopened positions and scalar lotteries; extra-card/force-loss edges are explicitly controlled. Repair nearby stale fixture continuations to acknowledge Semuta/battle outcomes and put pre-movement Hajr in Basic. Full modes, wider preparation/timing/module coverage, comprehensive assurance and deployed acceptance remain open. No strategic tuning or saved-room/reset/restart/deployment operation.
This commit is contained in:
1 parent
b4a556d5d3
commit
edbcbe28de
23 files changed
+1471
-218
No files matched your search
+26
-1
@@ -16,6 +16,31 @@ open mode gates.
|
||||
|
||||
|
||||
## Current checkpoint and work
|
||||
**Basic Truthtrance ground-movement promises — 24 October. Prototyped / Partial.**
|
||||
Structured future ground-movement answers now bind a clean active post-shipment
|
||||
Basic native turn. One qualifying physical move fulfills Yes before arrival or
|
||||
card disposal; No survives later Hajr/Ornithopter groups until actual closure.
|
||||
Shared movement declaration/piece validation supplies private owned witnesses,
|
||||
including held cards, typed cohorts, city access and current Kulon. Voluntary
|
||||
loss of the last route rejects; opposing loss retains compatible promises in
|
||||
accepted order. Other timing, preparations, optional/Advanced profiles and full
|
||||
arbitrary Truthtrance enforcement remain unfinished.
|
||||
|
||||
A pure-ledger lane, original public source lane, bounded review and owner
|
||||
integration pass **17 files218/218**, types/lint/build, seven original-action
|
||||
control/table-rendering programmes and four existing profiles with12 accepted
|
||||
answer/move/end actions. Sources20/58/26 use real classic setup/paid shipment,
|
||||
native cache Ornithopter purchase/entry and actual Kulon/city range4. Only
|
||||
unopened positions and native scalar/packet lotteries are selected. Additional
|
||||
second-card/force-loss edges disclose controlled conserved outcomes. Review
|
||||
repaired current Kulon pruning and selective release; multiple-promise feedback
|
||||
keeps detached ledger settlement and deterministic preparation coherent.
|
||||
Representative old fixture failures reproduced on the previous engine; native
|
||||
Semuta/battle acknowledgements and Basic pre-movement Hajr scope are corrected.
|
||||
A notice-label lint issue was repaired. [Source, exact proof and remaining scope](TRUTHTRANCE_MOVEMENT_PROMISES.md).
|
||||
Full modes, broader rules, final assurance and deployed acceptance remain open.
|
||||
No strategy calibration or saved-room/reset/restart/deployment operation.
|
||||
|
||||
**Fresh Basic Semuta and Ambassador discards — 24 October. Prototyped / Partial.**
|
||||
Fresh bare public Basic Richese previews initialize Semuta before genuine setup
|
||||
with selected native families. Optional/Advanced profiles and older games keep
|
||||
@@ -6204,7 +6229,7 @@ These links define bounded working behavior, not complete module certification.
|
||||
| Leader Skills | [Common lifecycle](LEADER_SKILLS_RUNTIME.md), [known skilled capture](LEADER_SKILLS_CAPTURE.md), [Mentat question preview](MENTAT_QUESTION.md), [Bureaucrat payments](BUREAUCRAT_PAYMENTS.md), five battle disciplines, [Planetologist](PLANETOLOGIST_RULES.md), [Suk Graduate](SUK_GRADUATE_RULES.md), [Rihani and other battle effects](LEADER_BATTLE_EFFECTS.md), [Smuggler shipment](SMUGGLER_SHIPMENT.md), [No-Field](SMUGGLER_NO_FIELD.md) and [battle collection](SMUGGLER_BATTLE.md), [Sandmaster routes](SANDMASTER_MOVEMENT.md) and [worm rides](SANDMASTER_WORM.md), [Banker spending](SPICE_BANKER_RUNTIME.md), [Diplomat defense](DIPLOMAT_DEFENSE.md) and [bounded retreat](LEADER_SKILLS_RULES.md#bounded-diplomat-retreat-interpretation). Remaining bands and combinations are explicit in those contracts. |
|
||||
| Discoveries | [Prototype](DISCOVERY_PROTOTYPE.md): genuine setup, Great Maker, seven cards/eight tokens, inspection and stash rewards, nested sites, signed later free entry, carried Ornithopter, sole Cistern, bounded Orgiz transfers, Jacurutu income, Testing Station and Shrine. Orgiz's per-deposit interpretation, contested/shared benefits and mixed physical allocation remain provisional or pending. The Orgiz path in current source is not yet deployed. |
|
||||
| Nexus/Homeworlds | [Decision index](RULE_DECISIONS.md) links each integrated faction family, native/borrowed effects, physical custody, private choices, payments and transport. [CHOAM Secret Ally trade and bounded after-victory inspection](NEXUS_CHOAM_SECRET_ALLY.md), [Moritani Secret Ally losing-card retention](NEXUS_MORITANI_RULES.md#secret-ally-losing-card-retention-prototype), [Ecaz private yes/no inquiry and bounded native Duke Cunning](NEXUS_ECAZ_RULES.md#bounded-native-cunning-duke-vidal), [Emperor extra revival and bounded bank-auction purchase](NEXUS_EMPEROR_SECRET_ALLY_RUNTIME.md) are connected. Uniform CHOAM winner/Moritani loser windows, Ecaz inquiry scope/audience and Ecaz Cunning's Battle-only window are product inferences, not publisher rulings. Source audits or helpers alone do not certify full module games. |
|
||||
| Truthtrance | [Spice facts](TRUTHTRANCE_SPICE_FACTS.md), [card counts](TRUTHTRANCE_CARD_COUNT.md), [hand inventory](TRUTHTRANCE_HAND_INVENTORY.md), [recorded knowledge](TRUTHTRANCE_KNOWLEDGE.md), and [base Basic/Advanced reserve-shipment promises, including Guild](TRUTHTRANCE_SHIPMENT_PROMISES.md) use authoritative private state. Earlier readiness audits do not supersede these follow-ups. |
|
||||
| Truthtrance | [Spice facts](TRUTHTRANCE_SPICE_FACTS.md), [card counts](TRUTHTRANCE_CARD_COUNT.md), [hand inventory](TRUTHTRANCE_HAND_INVENTORY.md), [recorded knowledge](TRUTHTRANCE_KNOWLEDGE.md), [base Basic/Advanced reserve-shipment promises, including Guild](TRUTHTRANCE_SHIPMENT_PROMISES.md), and [active Basic ground-movement promises](TRUTHTRANCE_MOVEMENT_PROMISES.md) use authoritative private state. Earlier readiness audits do not supersede these follow-ups. |
|
||||
| Other cards | [Sapho runtime](JUICE_OF_SAPHO_RUNTIME.md) includes first among remaining unstarted movement turns after Advanced Guild has finished. [Recruits](RECRUITS_RUNTIME.md) connects clean Revival play; [Harass & Withdraw](HARASS_WITHDRAW_RUNTIME.md) and [Reinforcements](REINFORCEMENTS_RUNTIME.md) connect bounded battle effects in the same independent three-card preview. Richese card contracts and the checklist identify other connected effects and explicit gaps. |
|
||||
| Multiplayer | [Public and private discussion](TABLE_DISCUSSION.md), saved rooms/seats, [recovery](../README.md#saved-seats-and-reconnecting), uncertain-request retry, [own-seat AI](AUTOPILOT.md), [named-player AI permission](SEAT_AI_PERMISSION.md) and [voluntary seat handover](SEAT_HANDOVER.md) have connected controls and recovery evidence. |
|
||||
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 24 October 2026 — Basic Truthtrance ground-movement commitments
|
||||
|
||||
Add the missing structured future single-movement predicate for clean active
|
||||
post-shipment Basic native turns. Matching physical commitment fulfills Yes
|
||||
before disposal/arrival; No remains binding through later Hajr/Ornithopter until
|
||||
actual closure. Private witnesses reuse actual declaration and piece commitment,
|
||||
including typed/cohort limits and current city/Kulon range. No strategic shortlist
|
||||
proves feasibility. Voluntary loss of the last route rejects; opposing loss
|
||||
retains compatible promises in accepted order. Persistent authoring, answers
|
||||
and owned continuation controls retain busy handling and minimum legal AI.
|
||||
|
||||
A pure-ledger/source/review wave and owner integration pass17 files218/218,
|
||||
types/lint/build, seven original-action gameplay/control/table-rendering
|
||||
programmes and four existing profiles with12 accepted actions. Sources20/58/26
|
||||
retain original33 or35+10 inventories, actual paid shipment/cache/placement and
|
||||
actual allowed Kulon. Only unopened positions and scalar/packet lotteries are
|
||||
selected; extra-card/force-loss edges explicitly stage conserved outcomes.
|
||||
Review corrected current Kulon pruning and selective release. Multiple-promise
|
||||
feedback synchronizes detached settlement and uses deterministic private
|
||||
preparation without creating extra cost events. Old fixture failures reproduced
|
||||
on the prior engine: Semuta/battle acknowledgements and Basic pre-movement Hajr
|
||||
scope now match current controls. Notice-label type lint was repaired.
|
||||
[Authority, exact source and limits](TRUTHTRANCE_MOVEMENT_PROMISES.md).
|
||||
Full modes, wider timing/preparations/modules, comprehensive assurance and
|
||||
deployed acceptance remain open. No tuning or saved-room/reset/restart/deploy.
|
||||
|
||||
## 24 October 2026 — Fresh Basic Semuta and Ambassador discards
|
||||
|
||||
Initialize the existing Semuta protocol before genuine fresh public bare Basic
|
||||
|
||||
@@ -907,6 +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. 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 owned preparations, 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
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
# 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](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.
|
||||
|
||||
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 and current native bonuses such as
|
||||
CHOAM Kulon. 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 Box recovery and native relocation
|
||||
preparation), earlier timing, optional/Advanced profiles and comprehensive
|
||||
combination/recovery/privacy/custody acceptance remain due.
|
||||
|
||||
## Source programmes and current verification
|
||||
|
||||
`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 seventeen-file affected union passes **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.
|
||||
Reference in new issue
Block a user