Files
Dune/docs/TRUTHTRANCE_MIXED_REVIVAL.md
T

123 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Truthtrance current facts and ordinary Revival
## Mixed aggregate prototype — 26 October 2026
**Prototyped / Partial.** The packet is
`{kind:'mixedRevival',target,turn,mixed}`. Fact/action/AND/OR clauses reuse
`MixedActionExpression<RevivalActionClaim>`; an action is one existing native
`{kind:'forces',counter,minimum}` or `{kind:'leader',leader}` leaf. Quiet native
Basic/Advanced phases0–4 retain [whole Revival](TRUTHTRANCE_REVIVAL_EXPRESSIONS.md)
opportunities, mode limits and original costs/eligibility/order.
## Authority and snapshot meaning
Reuse [mixed movement](TRUTHTRANCE_MIXED_MOVEMENT.md), the recorded publisher
November2020 FAQp8 current-turn/AND/OR authority and supplied Advanced physical39/
printed37 compliance/release/unknown text. [Named leaders](TRUTHTRANCE_LEADER_REVIVAL_PROMISES.md)
retain personal ordinary return scope. No source specifies a complete online
solver; owned witnesses, conservative unknown composition and accepted-order
release stay provisional under standing14October priority.
All facts freeze at the actual answer before native returns or payments.
A current-spice fact at4 stays that answer-time fact after force bank income1
and a personal leader cost2 leave3. Later spending/custody does not create a
new fact answer. No negates the complete expression. Unknown takes false for
Yes and true for No; the remaining native return obligation must guarantee the
selected aggregate. Correlations between unknown predicates are not inferred.
If neither definite completion is known, unknown/save/change remains available.
A true fact OR return settles Yes immediately; false fact AND return settles
No immediately. Constants create no native return binding. Otherwise the
existing whole Revival ledger owns the action residual. Smaller ordinary
force returns after the answer add by total/normal/elite physical counters.
An actual ordinary personal named leader return counts; requests alone, prior
returns, Ghola, foreign leaders and special card returns do not. Different
questions retain their own future intervals. Alternatives remain dynamic.
## Shared implementation and controls
`game/mixed-revival-question.ts` strictly decodes one native force/leader leaf;
outer groups use the shared mixed grammar. Every subtree is validated under
one16-leaf/depth4 budget including nested current facts. Engine identity checks
all raw leader leaves even below decisive facts. Fields use only the public
respondent faction/all-leader roster, including Advanced Atreides KH; they do
not inspect casualties, custody, hands or private affordability.
The shared compiler eagerly reads all facts, then folds constants/identities/
singletons. Only a remaining action tree enters `revivalExpressionPromises`;
raw internal `mixedRevivalQuestions` links its original question to the native
event. No second physical return, price, force-counter or funding solver exists.
Native cycles/slots/opportunity/order, owned Charity/auction/free-force income,
current accepted foreign price, earlier promises and release priority remain.
Basic No ends at the actual phase close; Advanced No ends at the owner's actual
ordered finish. Existing readiness behavior is inherited uniformly.
Own projection exposes original raw question, aggregate answer, actual typed
progress and fulfilled/released status. It hides binding metadata, frozen fact
values and the residual from the public pure-expression ledger. Shared exact
event/turn/phase/price guards accept either a live pure or mixed record; history
panels remain passive. One guide belongs to the live native group obligation.
New-record discard signatures bind metadata/residual; old signatures stay.
The full shared editor supports nested AND/OR, wrapping/switching/removal,
repairable numeric/leader drafts, unique IDs, raw preview and Ask. Private
answer choices and persistent own aggregate guidance are connected through the
table. Four minimal profiles answer and execute native guides; full strategy
and difficulty calibration remain deferred.
## Evidence and remaining gates
Native source: `tests/fixture-truth-mixed-revival.ts`,
`tests/truth-mixed-revival-runtime.test.ts` and
`tests/truth-mixed-revival-funding.test.ts`.
Controlled editing/guide evidence: `tests/truth-mixed-revival-controls.test.tsx`.
Twenty-three native, eight original-funding and nine controlled cases supplement
existing shared compiler/scalar/grouped/early Revival and payment coverage. The
frozen **21-file,202/202** union, types/lint, production build and nine native
paths pass on the same unchanged repository source. Actual GameTable SSR renders
25 times;12 exact guide callbacks and one editor callback submit native packets.
The four minimal profiles actually answer and complete returns on both original
Basic/Advanced sources.
| Original source | Prefix actions | Further actions | Actual result |
| --- | ---: | ---: | --- |
| Basic frozen spice | 102 | 13 | Native guide leader2 then force bank1 ends T3; answer-time fact stays |
| Advanced frozen spice | 108 | 12 | Same native guide/typed progress under actual order |
| Basic edited true OR | 102 | 11 | Actual AND→OR editor/Ask; immediate Yes, no native binding |
| Basic false AND | 102 | 12 | Immediate No permits actual free force; later fact change has no effect |
| Basic unknown OR Yes | 102 | 12 | Unknown forecast requires an actual ordinary force return |
| Basic unknown AND No | 102 | 11 | Qualifying return stays forbidden through actual phase close |
| Advanced post-Storm | 83 | 37 | Real Spice/Charity/Bidding/preparations, then ordered native returns |
| Basic mixed before bribe | 102 | 16 | Bribe3, force bank1 and leader2 end T0 while preserving whole answer |
| Advanced priced personal leader | 108 | 9 | Actual request/price3, exact accepted quote, native payer/payee transfer |
The native unit journeys also manually return the free force first: T4→T5→T3.
No route is fixed by a guide. Original two-Truth cases retain scalar force/leader
No, shared invoice Yes, later contradiction, prior bribe4 and shipment budgets
in either accepted order. All47 original cards remain physical.
The first frozen v1 batch passes types/lint,202 cases and build. Its private
smoke harness incorrectly assumed force-first guidance; native guidance legally
chooses the leader first. Only that external assumption is repaired. V2 reuses
those passed checks on the identical snapshot and reruns the corrected runtime;
`verified-proof.json` records both reports explicitly. The verified source tree
is `7d66ab6af5056cd33c7f736fdcaf60cde4c62de7410b80a45346dd8a29889537`
(3170 files). Final evidence prose is a separate three-document overlay.
Proof/manifest: `/home/quintine/.local/share/dune/checkpoints/20261026-truth-mixed-revival-proof-v2/`;
journeys/HTML: `/home/quintine/.local/share/dune/checkpoints/20261026-truth-mixed-revival-runtime/`.
SSR/editor/guide callbacks are local engine/control evidence, not DOM,
hydration, browser/mobile or deployed acceptance.
The inherited original H/A/T Ix47 Basic102/Advanced108 sources earn T4, one
physical casualty and a real personal early cost2 leader after actual setup,
shipment and projectile battle. The adapter changes only the raw question;
it installs no played clock/purse/hand/leader death/answer/promise/progress.
Advanced83 post-Storm and original priced revival sources retain their labels.
Controlled fixtures remain controlled evidence.
Other action families, correlated unknowns, further owned preparations,
optional modules, wider faction/card/funding compositions and final rules/
recovery/privacy/custody/browser/mobile/deployed acceptance remain required.
No complete mode is certified. No saved-game/database/server/reset/restart/
deployment operation is performed by this batch.