Expose full Truthtrance battle-plan and shipment editors

This commit is contained in:
Quintine committed 2026-10-26 09:02:16 +11:00
1 parent 8e2f2c6a95
commit 4ee51917bc
21 files changed
+1958 -92

No files matched your search

+48 -2
View File
@@ -4,6 +4,52 @@
with shipment-only AND/OR questions. Public mode and publication gates remain
unchanged.
## Full pure-shipment authoring — 26 October 2026
The pure shipment form now exposes the parser's full shipment-only tree instead
of two flat conditions. Add siblings, wrap/nest AND/OR groups, switch their
meaning and remove/collapse without losing other conditions. It can use all
sixteen shipment leaves and depth four, without spending a leaf on a current
fact. The separate Mixed builder keeps its own requirement for both kinds.
Each leaf still describes the same eventual reserve shipment, never an extra
shipment or permission to ship early.
The existing shipment parser supplies the unchanged shape/bounds and whole-
input validation. Internal frozen fact constants cannot be authored, including
under a decisive OR. Numeric-invalid minima remain editable; the whole question
must be valid before Ask publicly. Legacy single-leaf questions remain accepted,
while the full form uses the existing `claim` expression envelope. No saved
field, migration or new action kind is added.
Current ask ownership, busy and seated-target checks apply to actual callbacks;
`truthShipmentTargets` remains the authoritative opportunity boundary. The
form uses public destinations and physical minima, without reading private
holdings or recreating feasibility. The existing server supplies feasible
answers, prevents voluntary evasion, fulfills the same physical delivery/skip
and retains the original continuation. AND requires every condition; OR any;
No makes the whole statement false. All four minimal profiles keep their
existing legal path, with strategic refinement deferred.
Controls: `components/shipment-expression-fields.tsx` and
`components/truth-shipment-question.tsx`, integrated in the original panel;
`game/shipment-expression-input.ts` reuses the existing parser for editing
bounds. This form extension does not certify broader timing/module combinations,
full Truthtrance or deployed acceptance.
Combined battle/shipment proof passes **14 files,123/123**, types/lint/build and
twelve native engine/GameTable SSR/actual edit-and-Ask callback paths. Six pure
shipment routes use a genuine two-seat Basic20-action prefix, bind whole Yes/No,
deliver the original one-force Arrakeen shipment at its one-spice cost and end
the original turn, six post-source actions each. Nine new engine cases cover24
flat and four nested variants, sixteen distinct destinations/depth four,
skip/nonmatching alternatives, invalid constants/limits, original continuation
and four minimal profiles; eleven controlled cases cover the complete form.
All33 original cards remain. Private proof:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-remaining-authoring-proof-v2/`;
journeys/HTML: adjacent `20261026-truth-remaining-authoring-runtime/`.
No saved-room/D1/server or recovery operation. Native evidence is Basic;
SSR/callbacks do not prove DOM/hydration or browser/mobile/deployed acceptance.
## Mixed current facts and future shipment — 3 October 2026
The structured builder now supports bounded nested AND/OR trees containing
@@ -87,8 +133,8 @@ destinations cannot be fulfilled by a single shipment, so Yes is unavailable.
## Connected prototype
The question form adds a second destination/count condition and an AND/OR choice.
The shared engine expression supports grouping within software limits of sixteen leaves and four nested groups; the first visual builder exposes two conditions. Existing flat questions
The original question form added a second destination/count condition and an AND/OR choice.
The shared engine expression supports grouping within software limits of sixteen leaves and four nested groups; the 26 October form above now exposes that full pure expression. Existing flat questions
and saved promises retain their meaning. Public question/history text preserves
grouping, while answer feasibility and suggested preparations stay private to
the respondent.
+39 -8
View File
@@ -16,6 +16,45 @@ open mode gates.
## Current checkpoint and work
**Remaining structured Truthtrance authoring — 26 October. Prototyped / Partial.**
Battle-plan and pure-shipment forms now expose their full existing grouped
inputs. Add/wrap/nest, switch AND/OR, remove/collapse and whole-field validation
retain the entire claim. Battle uses the unchanged eight-child/sixteen-node/
depth-four envelope; pure shipment uses all sixteen shipment leaves/depth four,
without inserting a current fact. Existing actions, target-private feasibility,
binding, one discard and legal plan/shipment continuation remain authoritative.
Invalid battle-number drafts render empty beside their validation feedback.
Two disjoint battle/shipment lanes and root integration pass **14 files,123/123**,
types/lint/build and **twelve native engine/GameTable SSR/actual edit-and-Ask
callback paths** on unchanged source. Genuine two-seat Basic Atreides/Emperor
prefixes use24 actions before plans and20 before shipment, retaining the original
cards/forces/wallets. Six battle routes bind whole Yes/No, reject a contradictory
original plan and seal the valid plans. Six shipment routes bind the full claim,
deliver one actual Arrakeen force for1 spice and end the original turn. Each
runtime uses six continuation actions; all33 physical cards remain. Seventeen
new engine cases cover48 flat and eight nested variants, accepted/rejected
bounds, actual continuation and four minimal profiles. Twenty-two controlled
cases cover edits, validation, ownership and the actual submit contract.
Frozen v2 report/logs:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-remaining-authoring-proof-v2/`;
journeys/HTML: adjacent `20261026-truth-remaining-authoring-runtime/`.
No saved-room/D1/server, reset/restart, deployment or recovery operation occurs.
Sources are Basic; SSR/callbacks do not prove DOM/hydration or browser/mobile/
deployed acceptance. Full Truthtrance, modes/combinations and final assurance
remain open. [Battle controls](TRUTHTRANCE_NONBATTLE_READINESS_20260907.md#grouped-battle-plan-authoring--26-october-2026);
[shipment controls](COMPOUND_SHIPMENT_PROMISES.md#full-pure-shipment-authoring--26-october-2026).
Next concrete independent rule gap: Advanced/Homeworld Face Dance blocks an
Emperor winner's army return. Scope exact typed normal→Kaitain and Sardaukar→
Salusa return through the existing native reserve helpers, separately from
revival/payment/income. The live guard and both Arrakis/Homeworld return paths
need integration; removing its message alone misroutes elites. See
`faceDanceReturnBlock`, `addNativeReserves`, `game/homeworld-native-reserves.ts`
and [the replacement contract](HOMEWORLD_REPLACEMENT_RULES.md). This next scope
does not establish Basic completion or authorize a custody/recovery campaign.
**Truthtrance compound current-fact authoring — 26 October. Prototyped / Partial.**
The form now exposes two-through-eight-term AND/OR groups and nesting, with
add/wrap/remove/collapse controls and a whole-question preview. Shared existing
@@ -43,14 +82,6 @@ SSR/callbacks do not prove DOM/hydration or browser/mobile/deployed acceptance;
the native source is Basic. Complete Truthtrance/rules/combinations and final
assurance remain open. [Source and controls](TRUTHTRANCE_CARD_COUNT.md#compound-current-fact-authoring--26-october-2026).
Next concrete Basic function gap: battle-plan Truthtrance authoring still caps
the existing AND/OR parser at two flat conditions. Connect its full grouped
input controls to the existing legal-plan feasibility and sealing path. See
`game/battle-promises.ts`, `components/battle-promises.tsx`, the battle-plan
branch of `components/truthtrance.tsx` and the genuine `beforePlans` source in
`tests/fixture-truth-traitor-decision.ts`. Pure shipment's maximum sixteen-leaf
form is also pending; ordinary nested shipment already has its Mixed equivalent.
**Distrans before the first bid/pass — 26 October. Prototyped / Partial.**
An untouched ordinary lot now allows the private card transfer before its first
bid or pass, with the same dealt pool/index/opener/order/active seat. The span is
+34
View File
@@ -1,5 +1,39 @@
# Dune implementation status
## 26 October 2026 — Grouped battle-plan and full pure shipment authoring
**Prototyped / Partial.** Deliver the remaining structured Truthtrance form
caps together. Battle-plan authoring now exposes all existing AND/OR groups,
eight children, sixteen total nodes and depth four; pure shipment exposes all
sixteen shipment leaves/depth four without a current-fact term. Add/wrap/nest,
group meaning and remove/collapse preserve the whole tree. Shared unchanged
limits and complete parsers block invalid later fields or internal shipment
constants. Actual callbacks enforce ask ownership, target/battle/opportunity
and busy state. Existing answer feasibility, commitments, card disposal and
plan/shipment permissions remain. No saved field, action kind or mode opens.
Frozen **14-file123/123**, types/lint/build and **twelve native engine/GameTable
SSR/actual edit-and-Ask callback paths** pass. Original two-seat Basic A/E sources
use24 pre-plan or20 pre-shipment actions; original held projectile, Truthtrance,
paid shipment and actual battle preparation earn the boundaries. Six plan paths
bind Yes/No, reject the actual contradictory plan, then seal both legal plans.
Six shipment paths bind Yes/No and deliver one paid Arrakeen force before ending
the original turn. Each uses six continuation actions; all33 original cards
remain. Seventeen native engine cases cover48 flat and eight nested variants,
accepted/rejected limits, one discard, battle/turn continuation and four minimal
profiles. Twenty-two controlled cases cover edit/validation/guard/payload paths.
Feedback repaired the fixture's known Emperor leader indexing and empty rendering
of an invalid NaN battle-number draft; a first narrow-name filter was corrected
before the two intended source cases passed.
Proof: `/home/quintine/.local/share/dune/checkpoints/20261026-truth-remaining-authoring-proof-v2/`;
journeys/HTML: adjacent `20261026-truth-remaining-authoring-runtime/`.
No saved-room/D1/server, reset/restart, deployment or recovery operation. Native
sources are Basic; DOM/hydration, browser/mobile/deployed and broader combination
acceptance remain due. Full rules and final assurance stay open.
[Battle contract](TRUTHTRANCE_NONBATTLE_READINESS_20260907.md#grouped-battle-plan-authoring--26-october-2026);
[pure shipment contract](COMPOUND_SHIPMENT_PROMISES.md#full-pure-shipment-authoring--26-october-2026).
## 26 October 2026 — Full structured current-fact question authoring
**Prototyped / Partial.** Replace the two-flat-fact form cap with controlled
+10
View File
@@ -1,5 +1,15 @@
# Rule decision index
## Remaining structured Truthtrance authoring — 26 October 2026
Expose the existing full grouped battle-plan and pure-shipment inputs rather
than two-condition forms. Existing FAQ AND/OR authority and engine feasibility,
obligation, timing and custody contracts remain. Plan's eight children/sixteen
nodes/depth four and shipment's sixteen leaves/depth four are software input
limits, unchanged by the controls. Pure shipment does not require a current fact
or accept internal frozen constants. [Battle authoring](TRUTHTRANCE_NONBATTLE_READINESS_20260907.md#grouped-battle-plan-authoring--26-october-2026);
[shipment authoring](COMPOUND_SHIPMENT_PROMISES.md#full-pure-shipment-authoring--26-october-2026).
## Truthtrance compound current-fact controls — 26 October 2026
Expose existing AND/OR current-fact expressions without the old two-fact form
@@ -1,5 +1,51 @@
# Truthtrance nonbattle readiness and first implementation slice
## Grouped battle-plan authoring — 26 October 2026
The existing battle-plan question now has a complete bounded expression form,
replacing the original two-flat-condition controls. Add or wrap AND/OR groups,
switch their meaning, add siblings/nesting and remove conditions or groups.
Singleton groups collapse to their remaining condition without dropping siblings.
The preview and `truthAsk` action retain the whole claim.
`game/battle-claim-expression.ts` shares the parser's existing limits of eight
children per group, sixteen total nodes and depth four with the editor. These
are unchanged software input limits, not printed restrictions on questions.
The existing `parsePlanClaim` validates every leaf, including later rows;
invalid numeric, card-name or leader inputs cannot be submitted. Public printed
identities support authoring; opponent hands, submitted plans and feasible
answers are not read to infer a question. The server still determines available
answers and compliant plans.
The current ask owner chooses another combatant in the same live battle.
Busy, foreign-owner and invalid-target callbacks cannot submit. Sealed-plan,
reveal, Voice/prescience and preparation rights remain with the existing engine;
the form creates no new timing, answer, custody or mode permission. A definite
answer discards its original card once and preserves the whole Yes/No obligation
through actual plan sealing. No negates the entire claim, not each clause.
The existing minimal profiles retain their entitled legal-answer path; strategy
and calibration remain deferred.
Current controls: `components/battle-claim-expression-fields.tsx`,
`components/truth-battle-plan-question.tsx`, integrated through the original
Truthtrance panel. [Pure-shipment authoring](COMPOUND_SHIPMENT_PROMISES.md#full-pure-shipment-authoring--26-october-2026)
is delivered in the same batch. The older design/source audit below remains
historical; this follow-up does not certify full Truthtrance or modes.
Combined battle/shipment proof passes **14 files,123/123**, types/lint/build and
twelve native engine/GameTable SSR/actual edit-and-Ask callback paths. Six battle
paths use a genuine two-seat Basic24-action pre-plan source, bind the complete
Yes/No, reject the original contradictory projectile/empty plan and seal both
valid plans. Eight new battle engine cases cover24 flat and four nested variants,
limits, one discard, actual battle completion and four minimal profiles; eleven
controlled cases cover the form. The invalid numeric draft now renders empty
beside its existing error. All33 original cards remain. The runtime routes use
six post-source actions each; the original sealed battle event is retained.
Private proof: `/home/quintine/.local/share/dune/checkpoints/20261026-truth-remaining-authoring-proof-v2/`;
journeys/HTML: adjacent `20261026-truth-remaining-authoring-runtime/`.
No saved-room/D1/server or recovery operation. Native evidence is Basic;
SSR/callbacks do not prove DOM/hydration or browser/mobile/deployed acceptance.
**Later implementation:** the Basic active-opportunity reserve-shipment slice is now implemented and verified. See [TRUTHTRANCE_SHIPMENT_PROMISES.md](TRUTHTRANCE_SHIPMENT_PROMISES.md) for its exact scope, owned Ghola/Karama/escrow feasibility, Guild-allied Fremen reserve transport, persistence, controls and full-game evidence. The design below remains a historical audit; its statements that no nonbattle promise store exists are superseded by that follow-up. Broader future-action and expansion timing work remains unfinished.
Read-only design audit, 7 September 2026. Only this document is added. Runtime, controls, tests, calibration tools, live rooms and mode gates are unchanged. References identify the inspected implementation by symbol; line numbers can move during coordinator integration.