152 lines
9.5 KiB
Markdown
152 lines
9.5 KiB
Markdown
# Truthtrance whole and mixed final-alliance questions
|
|
|
|
## Current-Nexus prototype — 26 October 2026
|
|
|
|
**Prototyped / Partial.** Pure questions use
|
|
`{kind:'allianceExpression',target,turn,claim}` with partner leaves
|
|
`{kind:'partner',partner}` and full AND/OR groups. Mixed questions use
|
|
`{kind:'mixedAlliance',target,turn,mixed}` with generic fact/action/AND/OR
|
|
clauses and action leaves `{partner}`. Both concern final actual membership
|
|
when this current ordinary Nexus closes, within existing bare native Basic/
|
|
Advanced scope. Start/mode gates stay unchanged.
|
|
|
|
## Authority and meaning
|
|
|
|
Reuse the [scalar alliance contract](TRUTHTRANCE_ALLIANCE_PROMISES.md), recorded
|
|
publisher November2020 FAQp8 AND/OR/current-turn authority and supplied Advanced
|
|
physical39/printed37 compliance/release/unknown. Supplied physical15 ALLIANCES
|
|
retains reciprocal formation, at most one alliance and each participant's right
|
|
to leave. The online current-Nexus interval, owned witness and accepted-order
|
|
release remain provisional under standing14October priority; no dedicated
|
|
publisher solver or complete diplomacy certification is claimed.
|
|
|
|
A pure expression evaluates one final native partner or None. OR retains any
|
|
compatible partner; AND requires every condition. Two distinct final partners
|
|
cannot both be true in the native pair model. No negates the whole tree. A
|
|
proposal alone is not membership. Neither formation nor one false leaf settles
|
|
a binding whole answer early; Yes and No settle at the actual Nexus close.
|
|
A temporary pair may be ended before readiness if whole No remains reachable.
|
|
|
|
Mixed facts all freeze at the actual answer. A current-spice fact at10 stays
|
|
that answer-time fact after an actual native bribe3 leaves7. Individual frozen
|
|
values and compiled branches remain private. Unknown takes false for definite
|
|
Yes and true for No, then the remaining owned obligation must guarantee the
|
|
aggregate. Correlated unknowns are not inferred. True fact OR partnership can
|
|
settle Yes immediately; false fact AND partnership can settle No immediately.
|
|
Constants need no future alliance binding. Every definite answer uniformly
|
|
reopens only its respondent's readiness, including constants.
|
|
|
|
## One native consent and financial system
|
|
|
|
`game/alliance-expression-promises.ts` strictly validates full trees under the
|
|
existing16-leaf/depth4 software budget. Every raw partner must be another current
|
|
participant, including beneath decisive mixed facts. Public frozen constants,
|
|
private source or binding metadata are not accepted. Mixed action parsing reuses
|
|
the scalar partner decoder and shared generic fact grammar.
|
|
|
|
`allianceExpressionOutcomes` enumerates final partner/None states matching all
|
|
live scalar and whole answers. `findAllianceExpressionPlans` reuses the original
|
|
`findAlliancePromisePlan` for each exact outcome; local synthetic requirements
|
|
are never persisted or projected. No second reciprocal-consent implementation
|
|
exists. Already matching membership/no-op stays preferred; every owned route is
|
|
retained. Another participant's future acceptance, departure or renewed offer is
|
|
not invented. Missing foreign consent can leave No or unknown/save/reask available.
|
|
Known financial impossibility is not relabelled unknown consent.
|
|
|
|
The engine tries each native route against original financial/preparation
|
|
quotes. A blocked first route cannot pin OR or hide another legal route.
|
|
Earlier owed bribes retain native payment controls before accepting their
|
|
recipient when needed. Shipment, movement, Revival, payments and owned funds
|
|
remain constrained by original rules. Keeping an already matching membership
|
|
adds no prospective foreign cost, preserving the scalar contract.
|
|
|
|
One `alliancePromiseSequence` spans scalar and whole records; unstamped older
|
|
scalar records retain original priority. Mixed residuals enter the same whole
|
|
ledger. Reconciliation keeps earlier possible commitments, rejects voluntary
|
|
evasion, and preserves opposing withdrawal/departure rights. Removing one OR
|
|
invitation keeps another owned route; removing the last can release Yes. A
|
|
reoffer never reactivates history. Native Ready checks both ledgers and actual
|
|
Nexus closure settles them together. No prior question is rebound to a new Nexus.
|
|
|
|
## Controls and projection
|
|
|
|
Pure and mixed editors support full add/wrap/nest/switch/remove/collapse,
|
|
repairable partner drafts, unique IDs, nested facts and the complete raw Ask
|
|
preview. Choices depend only on the public current roster, not private hands,
|
|
funding or future consent. Current consent affects server completion, not which
|
|
questions the author can write.
|
|
|
|
Pure own rows omit physical Nexus source. Own mixed rows retain original tree,
|
|
aggregate answer and terminal flags while hiding binding metadata, frozen facts
|
|
and the residual; pure projection excludes mixed events. No progress count is
|
|
needed: actual membership is visible, and binding outcomes settle at close.
|
|
A shared exact event/turn/context native guide serves scalar, pure or mixed
|
|
records once. Historical rows stay passive. The client checks visible scalar/
|
|
pure membership and canonical own quotes; it never reconstructs a mixed branch.
|
|
Existing bribe guides handle prior payments. Four minimal profiles answer and
|
|
execute legal acceptance/break/Ready; full strategy/calibration remain deferred.
|
|
New question discard signatures include native/mixed metadata without changing
|
|
older signatures. No saved game or prior answer is rewritten.
|
|
|
|
## Evidence and remaining gates
|
|
|
|
Pure: `tests/alliance-expression-promises.test.ts`,
|
|
`tests/mixed-alliance-question.test.ts`. Original native source/journeys:
|
|
`tests/fixture-truth-alliance-expression.ts`,
|
|
`tests/truth-alliance-expression-runtime.test.ts`,
|
|
`tests/truth-mixed-alliance-runtime.test.ts`,
|
|
`tests/truth-alliance-expression-funding.test.ts`.
|
|
Controlled: `tests/truth-alliance-expression-controls.test.tsx`,
|
|
`tests/truth-mixed-alliance-controls.test.tsx`.
|
|
Twelve pure expression and four mixed helper cases,14 pure native,10 mixed native,
|
|
four original accepted-order/funding and15 controlled cases supplement the
|
|
existing scalar/Nexus/financial coverage. The frozen **24-file,226/226** union,
|
|
types/lint, production build and12 native paths pass on the same unchanged
|
|
repository source. Actual GameTable SSR renders42 times;17 exact native guide
|
|
callbacks and one editor callback submit real packets. Four minimal profiles
|
|
actually answer, accept and Ready through the original closure. A bounded
|
|
read-only review of the new planner/accepted-order/release integration finds no
|
|
concrete issue; comprehensive review remains deferred.
|
|
|
|
| Original source | Prefix actions | Further actions | Actual result |
|
|
| --- | ---: | ---: | --- |
|
|
| Basic whole OR | 48 | 9 | Two actual invitations, canonical acceptance/Ready, settlement only at close |
|
|
| Advanced whole OR | 49 | 9 | Same native final interval and consent rights |
|
|
| Basic manual OR alternative | 48 | 9 | Other real invitation accepted without following the suggested partner |
|
|
| Basic whole OR No | 48 | 9 | Actual existing pair breaks; No stays pending until close |
|
|
| Basic mixed frozen spice | 48 | 10 | Actual bribe3 leaves E7; original E10 fact binds through acceptance/close |
|
|
| Advanced mixed frozen spice | 49 | 10 | Same snapshot and real native payment/membership |
|
|
| Basic edited constant OR | 48 | 11 | Actual AND→OR editor/Ask; only respondent Ready reopens; later pair legal |
|
|
| Basic false AND | 47 | 9 | Immediate No, no binding, real later acceptance remains legal |
|
|
| Basic unknown OR Yes | 47 | 9 | Unknown forecast requires actual partnership and close |
|
|
| Basic unknown AND No | 47 | 10 | Temporary pair allowed, actual break/Ready required, no early settlement |
|
|
| Basic two withdrawals | 48 | 11 | First leaves OR possible; last releases; reoffer does not reactivate |
|
|
| Basic earlier owed bribe | 48 | 12 | Actual promised3 payment, manual other OR partner, whole close at E7 |
|
|
|
|
Other native cases preserve unknown/save/reask after real consent, exact
|
|
owner/turn/context/event/JSON packets, private source/raw aggregate boundaries,
|
|
No to distinct-partner AND and actual opposing departure. Two original Truths
|
|
keep prior scalar No with the other whole-OR route, share one scalar/mixed Yes
|
|
at close, retain the earlier bribe snapshot, and reject a later scalar No
|
|
contradicting an earlier whole Yes. All33 original cards remain physical.
|
|
|
|
V1 typecheck identifies two test action fields needing explicit TruthAnswer
|
|
narrowing. No rule expectations change; the complete v2 batch passes. Verified
|
|
source tree: `1c2a3a627ebf95e40f7b603b112416cb74a0cf89d0aa338aeddd0e05cb640009`
|
|
(3194 files). Final evidence prose is a separate three-document overlay.
|
|
Proof/report/manifest: `/home/quintine/.local/share/dune/checkpoints/20261026-truth-alliance-expression-proof-v2/`;
|
|
journeys/HTML: `/home/quintine/.local/share/dune/checkpoints/20261026-truth-alliance-expression-runtime/`.
|
|
SSR/editor/guide callbacks are local engine/control evidence, not DOM,
|
|
hydration, browser/mobile or deployed acceptance.
|
|
|
|
The inherited H/A/E base33 source earns its original Worm Nexus and consent;
|
|
one optional second invitation is an actual H action. Only raw questions change;
|
|
no played purse/hand/clock/offer/pair/answer/promise is installed. Controlled
|
|
views retain their labels rather than claiming acquisition histories.
|
|
|
|
Earlier-phase/whole-turn diplomacy, other action families, correlated unknowns,
|
|
future preparations, optional modules and broader faction/card/funding
|
|
composition remain required, followed by final rules/recovery/privacy/custody/
|
|
browser/mobile/deployed acceptance. No complete mode is certified. No saved-game/
|
|
database/server/reset/restart/deployment operation is performed by this batch.
|