Add typed questions about the respondent's stored Bene Gesserit prediction faction/turn, active submitted storm dial and actually known native Advanced Fremen storm card. Use the same eligible private facts for authoritative validation and target-only answer projection. Preserve unknown/rephrase/save continuation, compound aggregate privacy and physical card custody. Future promises, freeform interpretation and strategic AI question selection remain incomplete; no mode or publication gate opens. Connect four question controls with all numeric comparisons, canonical faction choices and shared input guards. All four AI profiles answer the owner-only verified scalar. Independent source/privacy review and integration checks fixed missing comparisons, parent selector mapping and invalid submission guards. Thirteen new cases and the 44-case focused union cover normal/unknown/dishonest answers, private views, JSON and authenticated SQLite restoration, interrupted storm-peek continuation, stale/duplicate/competing requests and corrupt saved predicates without writes. Validation: types, lint, 4662 offline tests, production build and 43 HTTP tests passed with unchanged source. Two genuine-setup four-profile games completed without rejected actions: Basic 192 actions/five periodic JSON rounds and Advanced 518/fourteen. Exact Treachery/force/elite custody and all eight final restored seat views pass. Three explicitly scripted legal questions use naturally held cards, covering prediction faction, prediction turn and submitted storm dial. Forecast questioning is not exercised by these complete games; the samples do not measure autonomous AI asking strategy or strength. The separate Advanced browser exercise uses real prediction and forecast progression, staging only physical Truthtrance acquisition by relocation. Invalid dial input is blocked; an unknown answer can be rephrased; both compound prediction clauses and the forecast comparison work. Refresh after submission and final resolution restores history unknown/Yes/Yes and the remaining Shield. Both physical Truthtrances are discarded once, unrelated resources remain unchanged and private projection passes. SQLite tests establish pending-answer restoration; the browser observation does not claim a paused pending answer after reconnect. After the reported outage, all 767 opening games and original seat/recovery records were preserved (801 after HTTP checks). All 768 rooms and original records immediately before verification also remained unchanged. Database integrity and foreign keys passed. Reused the healthy server without restart, reset or recurring automation. Verified source tree: 09daaac288cb91ea407f4573f853a59d307e12ed30d2eccd39e671a47336f40d
5.9 KiB
Truthtrance: recorded predictions and storm knowledge
14 September 2026. Prototyped, with Partial coverage. This extends the existing question flow with four typed predicates; freeform interpretation, general future commitments and complete mode acceptance remain unfinished.
Authority and semantics
The GF9 November 2020 FAQ, p. 8 permits game-related Yes/No questions and AND/OR combinations. Its unknown-answer flow allows another question or retaining the card. Publisher-indexed text was retrieved again for this batch. These precise predicate definitions implement part of that broad permission; they are not additional printed restrictions.
- Prediction faction: compare the respondent's already-recorded native Bene Gesserit prediction with a named faction.
- Prediction turn: compare the turn in that stored prediction using exactly, at least or at most. This asks what was selected, not whether that future win will happen or whether the player promises to make it happen.
- Submitted storm dial: compare this respondent's locked value while the current Storm phase and its submission remain active. A not-yet-submitted or expired dial is unknown; zero is a real first-turn value, not missing data.
- Known forecast: compare the current storm card only for native Advanced Fremen when the existing knowledge flag is true. Canceled peeks, unknown cards and other factions receive unknown; no new deck lookup or borrowed knowledge is granted. The question concerns the known card, not a promise about eventual storm movement after other effects.
The shared parser accepts canonical faction identities, prediction turns 1–10, dials 0–20 and forecasts 1–6, and rejects malformed comparisons and values. Stored dial entitlement also checks the turn's actual legal dialing range. Missing knowledge yields unknown rather than inventing a choice or an answer.
Connected behavior and privacy
truthKnowledgeOf constructs only the target's eligible facts. Both server answer
validation and target-only answer projection use that same snapshot. AND/OR uses
the existing three-valued evaluation: a false AND term or true OR term can settle
the aggregate despite an unknown sibling. No matching-clause list is published.
The public question and response controls are independent of private values. The target sees the verified scalar, and its answer becomes public through the normal history flow. Neither prediction fields nor an unrevealed dial/forecast are added to rivals' views. Equality answers can naturally reveal the queried value, as the chosen question intends. A definite answer discards the actual Truthtrance once; unknown retains its retry/save continuation. The original storm, auction, battle or other interaction remains in place while the question is open.
The four UI choices share faction/value fields and numeric comparison controls. Both compound clauses support them, with invalid-input and busy submission guards. All four AI profiles answer the existing owner-only scalar. They do not receive opponent knowledge, and this does not claim new strategic question selection or freeform language understanding.
Verification boundary
Focused tests use real Basic/Advanced setup, a real locked prediction and ordinary storm/forecast progression. They stage only the asker's physical Truthtrance acquisition by relocation, without duplicating cards. They cover private Yes/No and unknown answers, changed/expired entitlement, invalid queries, dishonest and duplicate answers, compound indistinguishability, all profiles and JSON views. The isolated component tests check all numeric comparisons and ranges.
Thirteen new cases pass (six rules, two controls and five production SQLite recovery cases); the focused union with existing Truthtrance/spice coverage passes 44 cases. Authenticated saved-seat tests restore pending questions and the original storm-peek response, preserve all private views and physical custody, reject stale, dishonest and duplicate answers, and allow only one competing version write. Malformed saved predicates fail without a database write. Independent source and privacy review found missing numeric comparison controls; integration review also fixed the parent selector mapping and invalid-input submission guard.
Two genuine-setup, four-profile games finish without rejected actions: Basic in 192 actions with five periodic JSON rounds, Advanced in 518 with fourteen. Exact card/force custody holds and all eight final seat views restore. Explicitly scripted legal questions use naturally held cards: the Basic sample asks about a prediction faction and a submitted storm dial; Advanced asks about a prediction turn. Neither sample exercises a forecast question. These are bounded continuation checks, not evidence of autonomous AI question strategy or strength calibration.
The separate browser exercise uses real Advanced setup, a recorded prediction and ordinary forecast progression, relocating only two physical Truthtrances to the asker. It verifies invalid dial input, an unknown answer and rephrasing, a compound faction/turn question, a forecast comparison and refresh after submission and resolution. The final history is unknown/Yes/Yes, both physical cards are discarded, and unrelated resources and private projections remain unchanged. Pending-answer restoration is established by SQLite tests, not a paused browser observation.
All 767 opening games and original seat/recovery records match the backup after the reported outage. Integrity and foreign keys pass; the healthy server is reused. The new browser room brings the preservation baseline to 768 before broad checks. Required broad results, source fingerprint, final preservation totals and Git delivery are recorded in the checkpoint commit and private report. These results do not certify all Truthtrance questions, complete expansions or publication readiness.