Support mixed current-fact and shipment Truthtrance questions

This commit is contained in:
Quintine committed 2026-10-03 07:11:28 +10:00
1 parent 0ceb28bd31
commit cd985c7c34
20 files changed
+982 -326

No files matched your search

+57 -5
View File
@@ -4,13 +4,64 @@
with shipment-only AND/OR questions. Public mode and publication gates remain
unchanged.
## Mixed current facts and future shipment — 3 October 2026
The structured builder now supports bounded nested AND/OR trees containing
current named-card, card-count, inventory, traitor, personal-spice, physical-force
or knowledge facts alongside reserve-shipment conditions. Both kinds must be
present; the existing software limit is sixteen logical leaves and four grouped
levels, not a printed limit on game questions. Current fact legality comes from
the existing fact parser; reserve shipment uses the original destination/count
quote and the same active-unused-shipment/mode boundary.
Evaluate current facts when a definite answer is given and freeze their
three-valued results privately. Later legal card/force/spice changes cannot
rewrite the past statement. Future leaves still describe one eventual reserve
shipment or its absence, and the whole expression must match the public answer.
For example:
- **Yes** to “I currently hold at least10 spice OR I will ship4 to Arrakeen”
with20 spice permits later spending and no shipment.
- **No** to “I currently hold at most10 spice AND I will ship4 to Arrakeen”
with20 spice permits shipment even if its cost later reduces the wallet to5.
- **Yes AND** with a true current clause still requires the future shipment.
**No OR** with a true current clause is impossible.
Unknown current information stays unknown: it is not converted to false for a
No promise. A definite answer is available only when an actually legal future
outcome makes the whole statement definite. Multiple ordinary and mixed
promises constrain that same event together. Voluntary spending cannot remove
the last legal completion, but need not preserve a current holding that was not
itself a future promise.
Only the respondent receives a mixed promise's compiled fixed answers and
private feasible choices. Public question/history text keeps the original
grouping and whole answer, never which current clause matched. Shared shipment,
skip, preparation, release, controls and minimal legal policies use the same
frozen expression. Default public parsers reject caller-supplied constants.
The existing FAQ whole-question semantics and historical/current distinction
support this composition; it is not a new expansion or timing ruling. Earlier
phases, other future actions, expansion shipment modes and arbitrary prose
enforcement remain outside the bounded implementation.
Twelve actual programs cover mixed truth/skip/shipment/changed-spice, all four
legal policies and a second joint pure+mixed promise. The affected
truth/ship/discard rule batch passes88/88; mixed/reference23/23, types/lint and
build pass. Human390px **4PVKRRWB v10** authored and answered the actual OR
claim, then spent all20 spice as a bribe, skipped shipment and fulfilled the
promise while the public answer stayed Yes. This is bounded local evidence, not
complete Truthtrance, module or deployed acceptance.
## Meaning and authority
The [GF9 November 2020 FAQ, printed page 8](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf)
permits AND/OR questions and binds definite answers while compliance remains
possible. Each condition here describes the same eventual reserve shipment in
the active opportunity, using a destination and minimum physical force count.
This does not promise two shipments or combine present facts with future actions.
The original shipment-only form does not promise two shipments; the later
mixed form above adds current facts without turning them into future holdings.
AND is true only if every condition matches. OR is true if any condition matches.
A No answer negates the whole expression: No to AND requires at least one false
@@ -59,10 +110,11 @@ views, card/force custody and the original seat row were preserved. This is a
targeted browser scenario, not a complete human game.
The existing active-unused-shipment scope remains: base Basic, and supported
base Advanced games without Guild or optional modules. Earlier timing, mixed
fact/future predicates, expansion shipment combinations and arbitrary prose
remain unfinished. This prototype does not settle pending material rulings or
certify complete Truthtrance.
base Advanced games without Guild or optional modules. Mixed current-fact/
shipment trees now use that same opportunity. Earlier timing, other future
actions, expansion shipment combinations and arbitrary prose remain unfinished.
This prototype does not settle pending material rulings or certify complete
Truthtrance.
The opening backup preserves 1,004 local rooms and their seat/recovery records.
Reuse the healthy server and keep all subsequent games.
+19 -1
View File
@@ -1,6 +1,6 @@
# Current development status
Updated 2 October 2026. **The full twelve-faction goal is unfinished. Basic
Updated 3 October 2026. **The full twelve-faction goal is unfinished. Basic
is playable and the six classic factions have a user-authorized Advanced preview.
Expansion starts and full rules/publication acceptance remain gated.**
@@ -16,6 +16,24 @@ open mode gates.
## Current checkpoint and work
**Mixed current-fact/shipment Truthtrance — bounded Development Verified:**
structured questions now combine supported current facts with this-turn reserve
shipments in bounded nested AND/OR trees. Current facts freeze privately at a
definite answer; later legal card/force/spice changes cannot rewrite them, and
unknown is never treated as false. One eventual shipment or skip honors every
separate promise. Default public parsers reject caller-supplied frozen answers;
only the respondent receives the compiled fixed answers.
Two bounded owners supplied the pure expression logic and nested authoring
controls; one integration owner wired the question, private projection,
promise receipt, public redaction, policies and existing continuation.
Types/lint, affected88/88, mixed/reference23/23 and build pass. Twelve actual
program cases cover truth/skip/shipment/changed-spice, all four policies and a
second joint promise. Human390px **4PVKRRWB v10** authored and answered the
actual OR question, then spent all20 spice as a bribe, skipped shipment and
fulfilled the promise while its public answer stayed Yes. Earlier phases, other
future actions and existing module gates remain unfinished. See
[mixed compounds](COMPOUND_SHIPMENT_PROMISES.md#mixed-current-facts-and-future-shipment--3-october-2026).
**Requested priority — 2 October 2026:** throughput improvements are verified
and rule content has resumed. Implement all remaining rules first; comprehensive
review and save/recovery/privacy/custody assurance follow afterward, not at each
+43
View File
@@ -1,5 +1,48 @@
# Dune implementation status
## 3 October 2026 — mixed current-fact/shipment Truthtrance
Two bounded owners supplied the public mixed tree/compiler/matcher (including
internal frozen-constant storage) and complete nested AND/OR authoring controls.
One integration owner owns game/truthtrance.ts, engine projection/promise
receipt, bots, the shared table guide and this checkpoint.
Current facts are evaluated once at the definite answer and stored privately as
three-valued constants; later legal changes cannot rewrite them, and unknown is
never collapsed to false. Future leaves still describe one eventual reserve
shipment or its absence under the existing FAQ whole-question truth. Multiple
ordinary and mixed promises constrain that same event together. Public
projection filters mixed promises to their respondent and keeps only the
original grouped question and whole answer in history.
The first frozen run exposed three real integration defects, each fixed before
verification: the discard-continuation receipt still required a legacy shipment
shape; the pre-existing `promise.answer` shipment shortcut treated a satisfied
mixed promise as if it must ship; and two workspace type errors
(target-shipment projection and test literal narrowing). Ordinary
shipment-only promises retain their original behavior.
Types/lint, the affected truth/ship/discard batch88/88, mixed/reference23/23 and
build pass. Twelve actual programs cover OR-true-skip, AND-false-ship,
AND-true-required, OR-false-ship, a nested branch after spending, all four legal
policies and a second joint pure+mixed promise. Fixtures use genuine base setup
and conserved rule-unit movement positions; no staged phase or promise was
fabricated.
Human390px **4PVKRRWB v10** authored the actual "hold at least10 spice OR ship4
to Arrakeen" question, answered Yes, spent all20 spice as a public bribe,
skipped shipment and fulfilled the promise while the public answer stayed Yes;
refresh retained it. Earlier phases, Advanced Guild/other modules, expansion
shipment modes, other future actions and arbitrary prose enforcement remain
unfinished. No new assurance campaign, public start or old-game retrofit.
The full offline suite still reports one pre-existing failure unrelated to this
wave: the `combined` Advanced CLI sample stalls at phase6 when a bot offers an
Advanced combined-Occupy battle against a Richese/No-Field seat that the engine
correctly rejects. The same 2353-action failure reproduces at the prior pushed
checkpoint 0ceb28b, so this wave neither introduced nor hid it. It remains an
open sample/bot-offer defect for a later combined-Occupy slice.
## 2 October 2026 — native Banker income and Ixian Nexus replacement
Two independent bounded owners supplied native original setup/payment fixtures
+7 -5
View File
@@ -192,11 +192,13 @@ See [the cutover and Advanced sequence](MORITANI_ASSASSINATE_LEADERS.md#authorit
| 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) |
Shipment-only AND/OR now follows the FAQ's whole-question truth: Yes to AND
requires all conditions, Yes to OR requires one, and No negates the whole
expression. One eventual shipment or skip is evaluated against every separate
promise. See [compound shipment promises](COMPOUND_SHIPMENT_PROMISES.md); mixed
present/future predicates and existing timing/module gates remain unfinished.
Shipment and mixed current-fact/shipment AND/OR follow the FAQ's whole-question
truth: Yes to AND requires all, Yes to OR requires one, and No negates the whole.
Current facts freeze privately at definite answer; later legal holdings changes
do not rewrite them or add a retention obligation. One eventual shipment or
skip must honor all separate promises. Unknown is not false. See
[mixed compounds](COMPOUND_SHIPMENT_PROMISES.md#mixed-current-facts-and-future-shipment--3-october-2026);
earlier timing, other future actions and existing module gates remain unfinished.
Current Truthtrance force facts count physical counters in reserves, the Tanks
or one exact live board location. Totals include elites; normal counts subtract