Files
Dune/docs/TRUTHTRANCE_MIXED_BRIBES.md

7.7 KiB
Raw Permalink Blame History

Truthtrance current facts and ordinary payments

Mixed aggregate prototype — 26 October 2026

Prototyped / Partial. The packet is {kind:'mixedBribe',target,turn,mixed}. Raw fact/action/AND/OR clauses reuse MixedActionExpression<BribePaymentClaim>; a payment leaf contains only {recipient,minimum}. Quiet native Basic/Advanced phases0–8 retain the existing ordinary payment scope and all mode gates.

Authority and snapshot meaning

Reuse the mixed-movement composition, recorded publisher November2020 FAQp8 current-turn/AND/OR authority and supplied Advanced physical39/printed37 public answer/compliance/release/unknown text. Existing Mentat timing and cumulative native payer accounting remain. No source supplies a complete online solver; current-funded witnesses, snapshot/unknown and accepted-order release remain provisional under standing14October priority.

Facts freeze at the actual answer. A current-spice fact at10 stays that answer-time fact after promised payments reduce the same purse to5. Later spending/card changes create no new fact answer. No negates the entire mixed expression. Unknown takes false for a definite Yes and true for No, then the remaining owned payment completion must guarantee the aggregate. Correlations between unknown predicates are not inferred. When neither definite completion is known, unknown/save/change-question remains available.

A true held Shield OR payment can settle Yes immediately; false held Hajr AND payment can settle No immediately. Otherwise the action-only residual uses the existing cumulative native payment ledger. Smaller payments after the answer add together per named recipient. Prior payments, gifts, allied aid and later recipient collection do not count. Different questions keep their own future intervals; repeated recipient thresholds share actual payer progress.

Shared implementation and controls

game/mixed-bribe-question.ts rejects leaf metadata/extra keys and reuses scalar recipient/minimum decoding. The generic mixed parser validates every subtree and shares one16-leaf/depth4 budget with nested current facts. A positive safe whole minimum has no artificial extra cap. Server context validates every recipient as another current nonally, including below decisive fact branches. Public frozen constants or compiled fields are not accepted.

The existing compiler eagerly reads all current facts before folding known constants/identity children/singletons. A remaining payment tree binds the original bribe-expression ledger and accepted order; raw mixedBribeQuestions metadata links the original question to that event. A constant aggregate has no native payment binding. There is no second payment/debit/receipt implementation. Native quotes preserve earlier scalar, grouped, revival, bid, shipment, movement and battle budgets using the same current uncommitted purse.

Own raw question, aggregate status and recorded payer totals are projected. Compiled residuals are excluded from the public pure-expression ledger; raw internal metadata and frozen per-fact values remain unprojected. The common exact event/phase payment guide can belong to scalar, grouped or mixed answers. Uniform existing Yes readiness reopening applies even to decisive constants, so no immediate compiled-branch readiness flag is added. Required aggregate release and public actual payments retain their original information.

components/mixed-action-fields.tsx shares full add/wrap/nest/switch/remove/ collapse editing and current-fact controls. Movement retains its public API, IDs/data attributes and callback traversal through a thin adapter. Bribe fields supply public recipient choices and uniquely identified per-leaf numeric inputs; invalid numeric/empty-recipient drafts remain repairable. Preview/Ask keep the complete original tree. Scalar/grouped/mixed panels choose exactly one guide using live ownership rather than fulfilled historical rows. Four minimal policies answer and pay legally; strategy/calibration remain deferred.

Payer spice is spent now. Recipient shares remain deferred until the next actual Mentat opening; late Mentat payments wait for next turn's opening. Existing ally, pending-choice, Inflation Double and Bureaucrat guards remain. Yes cannot evade Mentat Ready; No remains binding through collection until actual turn advance. A known automatic Double closure retains the earlier Collection deadline. New mixed discard signatures bind metadata/residual without altering older record signatures. No historical answer is reactivated or database rewritten.

Evidence and remaining gates

Source cases: tests/fixture-truth-mixed-bribe.ts, tests/truth-mixed-bribe-runtime.test.ts, tests/truth-mixed-bribe-funding.test.ts. Controlled shared editing/guide cases: tests/truth-mixed-bribe-controls.test.tsx; existing mixed-movement controls retain their scope. Nineteen native,two native funding and nine controlled cases supplement existing generic/scalar/grouped/ movement coverage in the frozen 21-file,216/216 union. Types/lint, production build and ten native paths pass on the same unchanged source. Actual GameTable SSR renders33 times;13 guide callbacks submit native packets. Two editor meaning callbacks (payment and retained movement adapter) preserve their whole raw questions through native Ask. Four minimal profiles actually answer and pay on both Basic/Advanced original sources.

Original source Prefix actions Further actions Actual result
Basic frozen spice 20 22 H3/A2 reduces E10→5; both exact opening receipts
Advanced frozen spice 23 22 Same answer-time snapshot/native payment/receipt
Basic edited true OR 20 20 Real AND→OR editor/Ask; immediate Yes, no payment binding
Basic false AND 20 21 Immediate No permits an actual ordinary payment
Basic unknown OR Yes 20 21 Unknown forecast requires actual payment
Basic unknown AND No 20 21 Cumulative payments remain below the qualifying minimum
Basic late-ready mixed 32 37 Only payer reopens; receipts wait for next real opening
Basic shared leader, bribe first 102 16 H1/A1 then native leader2 at T0; both obligations fulfilled
Basic shared leader, revival first 102 16 Same real purse in opposite accepted order
Basic shared movement editor 20 5 Retained movement IDs/callbacks edit/Ask the same raw tree

The first frozen batch passes after updating one old assertion to live scalar ownership. The passing source snapshot is ae77b288d097191c4b1f1ecdea123d564184532a9e06b7555f4b2e3fe79a9d0d (3162 files). Final evidence prose is a separate three-document overlay. Frozen proof/report/manifest: /home/quintine/.local/share/dune/checkpoints/20261026-truth-mixed-bribe-proof-v1/; journeys/HTML: adjacent 20261026-truth-mixed-bribe-runtime/. SSR/editor/guide callbacks are local engine/control evidence, not DOM, hydration, browser/mobile or deployed acceptance.

Original H/A/E base33 Basic20/Advanced23 and late Mentat32/35 sources supply E10, its printed Shield and both original H Truths. H/A/T Ix47 sources supply actual T4/dead native leader2 for shared-funding orders. No played clock, purse, hand, payment, fact answer, promise or progress is installed. Controlled views keep those labels rather than claiming original acquisition histories.

Other action families, correlated unknowns, future owned income/preparations, optional modules, broader faction/card/funding composition 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.