Combine current facts with native bribe payments
This commit is contained in:
1 parent
b63a60da64
commit
6b2dfb84a2
23 files changed
+1445
-170
No files matched your search
@@ -0,0 +1,126 @@
|
||||
# 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](TRUTHTRANCE_BRIBE_EXPRESSIONS.md) scope and all mode gates.
|
||||
|
||||
## Authority and snapshot meaning
|
||||
|
||||
Reuse the [mixed-movement composition](TRUTHTRANCE_MIXED_MOVEMENT.md), recorded
|
||||
[publisher November2020 FAQp8](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf)
|
||||
current-turn/AND/OR authority and supplied Advanced physical39/printed37 public
|
||||
answer/compliance/release/unknown text. Existing [Mentat timing](MENTAT_BRIBES.md)
|
||||
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.
|
||||
Reference in new issue
Block a user