Expose grouped Truthtrance current-fact questions

This commit is contained in:
Quintine committed 2026-10-26 08:50:28 +11:00
1 parent 2ea3c58f68
commit 8e2f2c6a95
14 files changed
+1187 -54

No files matched your search

+35 -7
View File
@@ -16,6 +16,41 @@ open mode gates.
## Current checkpoint and work
**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
sixteen-node/depth-four input limits govern parser and editor. Invalid leaves
beyond the former second row also block submission. Current target-only
aggregate answers, the original action/queue, one discard and continuation stay
unchanged; no future retention promise or new saved field is added.
Two disjoint native/control lanes and root integration pass **11 files,80/80**,
types/lint/build and **eight native engine/GameTable SSR/actual edit-and-Ask
callback paths** on unchanged source. A genuine public Basic A/E/H/G eleven-
action setup/Storm prefix earns the original Truthtrance and Emperor Baliset,
then keeps the real nonempty Ready list. Three/eight-term, mixed nested,
sixteen-node and depth-four questions publish the truthful aggregate, discard
once and resume the same Storm controls; each runtime takes seven continuation
actions. All33 physical cards remain. Eight engine cases include24 flat paths,
four nested paths, boundaries/rejections and four minimal profiles. Thirteen
controlled form cases cover edits, whole-leaf validation and live ownership.
Frozen v2 report/logs:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-fact-expression-proof-v2/`;
journeys/HTML: adjacent `20261026-truth-fact-expression-runtime/`.
No saved-room/D1/server, reset/restart, deployment or recovery operation occurs.
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
@@ -44,13 +79,6 @@ deployment or recovery operation occurs. SSR/callbacks do not prove DOM/hydratio
browser/mobile/deployed acceptance. Complete rules/combinations and final
assurance remain open. [Source and policy](RICHESE_DISTRANS_ENGINE_AUDIT.md#untouched-ordinary-lot--26-october-2026).
Next concrete Basic function gap: Truthtrance's structured-question engine
accepts two through eight facts, but the authoring panel only exposes two.
Connect add/remove fact controls to the existing AND/OR action with actual
aggregate-answer/resumption evidence. See `components/truthtrance.tsx`,
`game/truthtrance.ts`, `tests/fixture-truth-movement-early.ts` and
[the source contract](TRUTHTRANCE_CARD_COUNT.md).
**Shared Ecaz Ambassador Duke — 26 October. Prototyped / Partial.**
The triggered token can now grant its living Duke to Ecaz's current reciprocal
ally. Per-recipient controls and all four minimal profiles use the server's
+31
View File
@@ -1,5 +1,36 @@
# Dune implementation status
## 26 October 2026 — Full structured current-fact question authoring
**Prototyped / Partial.** Replace the two-flat-fact form cap with controlled
AND/OR trees: add up to eight siblings, nest/wrap groups, switch their meaning
and remove/collapse without losing other predicates. The whole preview and
public action retain all terms. Existing parser limits (sixteen total nodes,
depth four) move to a focused shared helper without changing accepted engine
input. All leaf validation, including later rows, applies before Ask publicly;
busy/stage/owner/target guards also apply to actual callbacks. The stateful parent
keeps its draft, while battle-plan/shipment controls remain separate. No action,
saved schema, timing, card-custody or mode permission is added.
Frozen **11-file80/80**, types/lint/build and **eight native engine/GameTable
SSR/actual edit-and-Ask callback paths** pass. A genuine public Basic A/E/H/G
eleven-action setup/Storm prefix earns the original cards and nonempty Ready.
Three/eight-term AND/OR, mixed nesting, sixteen nodes and depth four use actual
authoring callbacks, truthful target aggregate, one discard and the same Storm
Ready resumption, seven continuation actions each. All33 original cards remain.
Eight engine cases include24 flat and four nested native variants, accepted and
rejected bounds, dishonest/foreign/unknown/repeated denials and all four minimal
profiles. Thirteen controlled cases and four structure cases supplement the
existing Truthtrance/reference regressions. Feedback corrected only two test
typing issues: the malformed No-Field input cast and optional assertion regex.
Proof: `/home/quintine/.local/share/dune/checkpoints/20261026-truth-fact-expression-proof-v2/`;
journeys/HTML: adjacent `20261026-truth-fact-expression-runtime/`.
No saved-room/D1/server, reset/restart, deployment or recovery operation. Native
source is Basic; SSR/callbacks do not certify DOM/hydration or browser/mobile/
deployed acceptance. Full Truthtrance, combinations and final assurance remain
open. [Source and authoring contract](TRUTHTRANCE_CARD_COUNT.md#compound-current-fact-authoring--26-october-2026).
## 26 October 2026 — Distrans before the first ordinary bid/pass
**Prototyped / Partial.** Select a provisional first-bid/pass span under the
+9
View File
@@ -1,5 +1,14 @@
# Rule decision index
## Truthtrance compound current-fact controls — 26 October 2026
Expose existing AND/OR current-fact expressions without the old two-fact form
cap. The November 2020 FAQ p8 authority already permits combined questions.
Eight children per group, sixteen total nodes and depth four remain unchanged
software input limits; sharing them with the editor does not establish printed
rules or expand answer/custody permissions. Current aggregate facts create no
future retention promise. [Source and controls](TRUTHTRANCE_CARD_COUNT.md#compound-current-fact-authoring--26-october-2026).
## Distrans before the first ordinary bid/pass — 26 October 2026
The printed card permits use except during a bid (publisher E2 p5). Under
+46
View File
@@ -2,6 +2,52 @@
Implemented 7 September 2026 local date. This closes a bounded base-game question gap: a player can now ask whether another player currently holds exactly, at least, or at most a specified number of cards with one canonical printed name. Previously the structured hand fact checked existence only; asking an AI the knowable equivalent in freeform produced unknown.
## Compound current-fact authoring — 26 October 2026
Current-fact questions now expose the existing structured AND/OR expression
envelope instead of limiting the form to two facts. A player can add up to
eight terms to a group, nest AND/OR groups, switch each group's meaning and
remove individual facts or groups. Removing one of two siblings leaves the
remaining fact directly; other conditions and their values are preserved.
The preview and submitted action retain the whole tree without truncation.
The existing parser accepts at most sixteen total nodes, counting groups, and
depth four. Those software input limits are now shared by the parser and
editor through `game/truth-fact-expression.ts`; they are not newly asserted
printed restrictions. Candidate edits that exceed them are unavailable.
Every leaf uses the existing entitled fields and validation, including invalid
values beyond the old second fact. Invalid structure or any invalid leaf blocks
Ask publicly. Busy/wrong-owner/absent-target controls cannot submit a question.
The original `truthAsk` fact action, queue, card custody and answer projection
are unchanged. All current facts are evaluated when the target answers. AND
requires every branch; OR requires at least one. The player publishes one
aggregate Yes/No/unknown result, without a separate answer per condition or a
future promise to retain current cards, spice or forces. Existing minimal AI
answers use their entitled result; no strategy or calibration is added.
`components/truth-fact-expression-fields.tsx` and `truth-fact-question.tsx`
provide controlled edit/submit handlers; the stateful original Truthtrance
panel owns the draft. Battle-plan and shipment/mixed-shipment authoring keep
their separate existing controls. No saved field, action kind or mode gate is
added. This closes the current-fact form cap, not full Truthtrance acceptance.
Frozen proof passes **11 files,80/80**, types/lint/build and eight native
engine/GameTable SSR/actual edit-and-Ask callback journeys. The original Basic
A/E/H/G setup/Storm source uses11 public actions, including the native two
dials and Emperor Ready. Actual callbacks author three/eight-term AND/OR,
mixed nesting, sixteen nodes and depth four; truthful target aggregate, one
discard and original Storm Ready resumption take seven more actions each.
All33 original cards remain. Eight engine cases cover24 flat variants, four
nested variants, size/depth bounds, refusals and four-profile legal answers;
thirteen controlled form and four structure cases add edit/validation evidence.
Private report/logs:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-fact-expression-proof-v2/`;
journeys/HTML: adjacent `20261026-truth-fact-expression-runtime/`.
No saved-room/D1/server or recovery operation occurs. This native source is
Basic; DOM/hydration, browser/mobile/deployed and broader combination acceptance
remain due. Historical named-count evidence below is separately dated.
## Source and interpretation
The [official November 2020 GF9 FAQ, printed p.8](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf) permits game-related yes/no questions and combinations with AND/OR. Its separate future-action discussion limits commitments to the current turn. The official PDF's indexed page text was retrieved again during this implementation; a newly downloaded local PDF is not claimed. The [earlier nonbattle audit](TRUTHTRANCE_NONBATTLE_READINESS_20260907.md) records the same authority and remaining promise work.