Support whole AND/OR ordinary bribe commitments

This commit is contained in:
Quintine committed 2026-10-26 15:53:57 +11:00
1 parent c81e00e6dd
commit 0e3c155876
21 files changed
+1778 -111

No files matched your search

+32
View File
@@ -16,6 +16,38 @@ open mode gates.
## Current checkpoint and work
**Truthtrance / whole AND/OR ordinary payments — 26 October. Prototyped / Partial.**
Full grouped questions now combine named cumulative future ordinary payments.
Whole No uses De Morgan; legal routes remain dynamic after actual payments.
Scalar/whole answers share the real purse and accepted order, retain prior
bid/revival/shipment/movement/battle funding, and use original deferred receipts.
The full editor, private answers, own progress, one exact native guide and four
minimal policies are connected. Current-funded interval/release composition
remains provisional; optional modules and complete-mode gates remain open.
Root integration with disjoint pure/control/native lanes passes **19 files,
188/188**, types/lint/build and **eight native paths**,31 GameTable SSR renders/
12 actual guide callbacks plus one real editor callback followed by native Ask.
Original H/A/E base33 Basic20/Advanced23-action sources add22 actions: actual
H3 and A2 payments spend E10→5 and credit each exact share at the opening.
Edited OR permits the manual alternate route; No AND allows one qualifying
recipient and blocks both; No OR blocks either. A32-action real Mentat source
adds37: new Yes reopens only the payer and late receipts collect at the actual
next opening. Original H/A/T Ix47 102-action sources add16 in either answer
order: H1/A1 then native leader2 fulfills both promises at T0. Cards stay physical.
Fourteen pure,eight controlled,17 native and two native funding cases cover
whole-tree validation, dynamic branches, intervals/caps, scalar overlap, exact
ownership/events and four minimal profiles. Type feedback repairs editor leaf
narrowing; the wider union corrects one stale early-Advanced movement-profile
expectation to the already delivered canonical scope. Frozen v3 proof/manifest:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-bribe-expression-proof-v3/`;
journeys/HTML: adjacent `20261026-truth-bribe-expression-runtime/`.
No saved-game/database/server/reset/restart/deployment operation is performed.
Cross-family expressions, owned future preparation, broader compositions,
browser/mobile/deployed and final assurance remain required.
[Authority, provisional scope and evidence](TRUTHTRANCE_BRIBE_EXPRESSIONS.md).
**Ordinary Mentat bribes / turn-end commitments — 26 October. Prototyped / Partial.**
Quiet Mentat payments now debit the payer and wait for next turn's actual
Mentat opening. The original opening-only receipt mechanism stays. Bribe No
+45
View File
@@ -1,5 +1,50 @@
# Dune implementation status
## 26 October 2026 — Whole AND/OR ordinary-bribe commitments
**Prototyped / Partial.** A full grouped question binds actual cumulative future
ordinary payments to named non-allied recipients. Whole No negates the complete
expression, and signed lazy alternatives are rebuilt after real payer events.
Same-recipient thresholds share progress; separate questions retain their own
future intervals. Scalar and whole answers share actual funds and accepted
order while preserving other native commitments. Quotes record the payment
before costing the remaining purse, preventing duplicate reservation. Original
native debit, deferred receipt and actual turn-end deadlines remain.
Full16/depth4 authoring, guarded public preview/Ask, target-only answers,
persistent own progress and one exact native payment guide connect to all four
minimal policies. New Mentat Yes reopens only its payer; known automatic Double
retains the earlier Collection boundary. Own spending/alliance/Ready cannot erase
every completion; no OR branch is saved. General FAQ/Advanced authority and
provisional cumulative/funding/release composition remain explicit.
Root integration and disjoint pure/control/native lanes pass **19 files,
188/188**, types/lint/build and **eight native paths**,31 GameTable SSR renders/
12 actual guide callbacks plus one editor callback followed by native Ask.
Genuine H/A/E base33 Basic20/Advanced23 prefixes add22 actions: H3/A2 spends
E10→5, remains deferred and credits exact recipients at real opening collection.
Edited OR permits manual alternate payment; No AND permits one qualifying
recipient while No OR blocks either. A32-action original Mentat prefix adds37,
reopens only the ready payer and earns late receipts at the next actual opening.
H/A/T Ix47 102-action sources add16 in both accepted orders: real H1/A1 then
native leader2 completes both ledgers at T0. Original33/47 inventories remain.
Four minimal policies actually answer and pay on both Basic/Advanced sources.
Fourteen pure,eight controlled,17 native and two native funding cases retain
invalid decisive-subtree rejection, lazy branches, prior exclusion, overflow,
scalar caps/shared thresholds, exact events and later turn boundaries. Initial
type feedback fixes positive leaf narrowing in the editor. A focused case also
corrects the fixture expectation: an earlier H7 Yes makes H7 OR A4 necessarily
Yes. The wider union exposes a stale early-Advanced movement exclusion; its
existing canonical26October feature admits both modes, and the test now follows
that scope without changing movement runtime. Frozen v3 report/manifest:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-bribe-expression-proof-v3/`;
journeys/HTML: adjacent `20261026-truth-bribe-expression-runtime/`.
No saved-game/database/server/reset/restart/deployment operation is performed.
Optional compositions, future owned preparation, cross-family expressions,
browser/mobile/deployed and final rules/assurance acceptance remain required.
[Contract](TRUTHTRANCE_BRIBE_EXPRESSIONS.md).
## 26 October 2026 — Ordinary Mentat bribes and actual turn-end promises
**Prototyped / Partial.** Remove the inherited blanket phase8 payment ban.
+14
View File
@@ -1,5 +1,19 @@
# Rule decision index
## Whole AND/OR ordinary bribe payments — 26 October 2026
Apply publisher November2020 FAQp8 current-turn/AND/OR authority and supplied
Advanced physical39 general compliance/release authority to future ordinary
payer payments. Keep the existing cumulative after-answer interval and
opening-only receipt source; late Mentat payments wait for next turn's opening.
Whole No uses De Morgan, not one negative promise per leaf. Dynamic funded
alternatives share the purse with scalar bribes and existing obligations;
actual accepted order governs forced release. Current-funding, interval and
release composition remain explicit software interpretation under standing
14October priority, not a dedicated publisher payment-expression algorithm.
No mode, save, server or publication permission changes.
[Contract and evidence](TRUTHTRANCE_BRIBE_EXPRESSIONS.md).
## Late Mentat bribes and actual turn-end commitments — 26 October 2026
Remove the inherited whole-Mentat bribe ban. Publisher base printed12's
+117
View File
@@ -0,0 +1,117 @@
# Truthtrance combined ordinary bribe payments
## Whole AND/OR prototype — 26 October 2026
**Prototyped / Partial.** Questions combine cumulative future ordinary payment
minima to named non-allied recipients with full AND/OR groups. The packet is
`{kind:'bribeExpression',target,turn,claim}`. Quiet phases0–8 in registered bare
native Basic/Advanced use the same native payments, purse and actual turn end
as [scalar bribes](TRUTHTRANCE_BRIBE_PROMISES.md) and
[late Mentat bribes](MENTAT_BRIBES.md). Mode/publication gates remain.
## Authority and provisional composition
The official [November2020 FAQ, printed8](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf)
indexed passage was checked for this batch: current-turn action commitments
and AND/OR questions are allowed; compliance remains binding until impossible.
The supplied Advanced physical39/printed37 Truthtrance errata was read for
current-turn public answer, compliance, later impossibility and unknown/save.
Neither prescribes an online payment solver. The existing ordinary-payment
interval, current-funded witness, shared budgets and accepted-order release
remain explicit provisional composition under standing14October priority.
A leaf means cumulative matching ordinary spice paid by this respondent after
this answer. Smaller payments add together. Repeated same-recipient conditions
share actual progress; separate questions each retain their own future interval.
Prior payments, gifts, allied aid and later recipient collection do not count.
A positive safe whole minimum has no extra spice cap. Full-tree validation uses
sixteen leaves/depth4 as software limits, not printed question restrictions.
AND requires every child; OR at least one. **No negates the whole expression.**
No to A AND B can permit paying either recipient first while forbidding both
qualifying totals. No to A OR B forbids either qualifying total. Fulfilled Yes
stays terminal; No remains live until actual turn advance. No route is stored.
## Connected implementation and controls
`game/bribe-expression-promises.ts` parses every subtree before evaluation,
records immutable actual payer progress and lazily yields signed whole-answer
alternatives composed with existing scalar bribe requirements/caps. The engine
tries native-funded allocations and retains other battle, bid, revival,
shipment and movement obligations. Different recipients spend separate spice;
overlapping recipient thresholds share the same future payments.
The native debit/receipt producer records both ledgers before costing the
remaining purse. Detached quotes do the same, so fulfilling a payment is not
reserved for a second time. Voluntary spending, alliance offers or Ready cannot
erase every legal completion. An OR may retain another route after one recipient
becomes an ally. Opposing impossibility releases incompatible Yes in actual
accepted order across scalar/whole ledgers; unstamped old records precede new
answers. Future unknown income, card preparations and foreign consent are not
invented. Existing terminal historical answers remain terminal.
The full controlled editor adds/wraps/nests/removes/collapses groups, changes
AND/OR and public recipient/minimum fields, and preserves repairable invalid
drafts. The public preview and native Ask retain the entire validated tree.
Only the respondent receives feasible answers, own progress and the exact
native payment guide. Its event may belong to a scalar or whole live answer;
phase, ownership, options, room and busy guards remain. One shared guide is
rendered when both ledgers exist. Four minimal profiles answer and pay legally;
strategy and difficulty tuning remain deferred.
A new Yes reopens only its already-ready Mentat payer. Before a known automatic
Inflation Double closure the earlier Collection deadline/reopening still
applies. No spans opening collection until actual turn advance. Payer spice is
spent now; recipient shares collect only at the next actual Mentat opening,
including next turn for late Mentat payments. Collection never counts progress
again and incoming deferred spice cannot fund another payment.
## Evidence and remaining gates
Focused source evidence is in `tests/bribe-expression-promises.test.ts`,
`tests/truth-bribe-expression-controls.test.tsx`,
`tests/fixture-truth-bribe-expression.ts`,
`tests/truth-bribe-expression-runtime.test.ts` and
`tests/truth-bribe-expression-funding.test.ts`. Fourteen pure,eight controlled,
17 native and two native funding cases are included in the frozen **19-file,
188/188** union. `npm run check:quick`, production build and eight native paths
pass on the same unchanged tree. Thirty-one actual GameTable SSR renders and
12 actual guide callbacks connect the rule paths; one editor meaning callback
retains the full tree through native Ask. All four minimal policies actually
answer and pay on both Basic/Advanced original sources.
| Original source | Prefix actions | Further actions | Result |
| --- | ---: | ---: | --- |
| Basic H/A/E base33 AND | 20 | 22 | H3/A2 spends E10→5; both exact receipts collect once |
| Advanced H/A/E base33 AND | 23 | 22 | Same native payment/receipt under Advanced |
| Basic edited OR | 20 | 21 | Actual editor AND→OR then Ask; manual alternative fulfills |
| Basic No AND | 20 | 21 | One qualifying recipient allowed, completing both rejects |
| Basic No OR | 20 | 20 | Either qualifying payment rejects; actual turn closes No |
| Basic late-ready AND | 32 | 37 | Only payer reopens; H3/A2 wait through next Storm/Collection |
| Basic shared leader, bribe first | 102 | 16 | Real H1/A1, then native leader2 at T0; both fulfilled |
| Basic shared leader, revival first | 102 | 16 | Same funded actual payments in opposite accepted order |
The source adapters add no installed clock, purse, hand, payment or promise to
the inherited original setup/auction or projectile-death journeys. All33/47
original cards remain physical. Controlled UI projections are labelled as such;
SSR/editor/guide callbacks do not prove browser clicks, hydration or deployment.
Initial type feedback required explicit editor leaf narrowing. One focused
fixture assertion wrongly allowed No to H7 OR A4 after an earlier H7 Yes;
the corrected case rejects that contradiction and retains its shared budget.
The wider union also found a stale early-Advanced movement-profile exclusion;
its current canonical contract already admits native phases0–4, so the test
now follows that existing scope. No movement runtime is changed.
The passing source snapshot is
`cb79c3723ed995a214a883eb683d7bd8650882078addf77ca47db3dfd487b6ea`
(3137 files). Final evidence prose is a separate three-document overlay.
Frozen v3 proof/report/manifest:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-bribe-expression-proof-v3/`;
journeys/HTML: adjacent `20261026-truth-bribe-expression-runtime/`.
Wider optional-module/faction/skill timing, owned future preparation,
cross-family expressions, final rules/recovery/privacy/custody review and
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.