Add current-lot Truthtrance bid commitments

This commit is contained in:
Quintine committed 2026-10-26 12:44:00 +11:00
1 parent 4ab20a2838
commit bd6e5bbf7f
18 files changed
+1346 -27

No files matched your search

+30
View File
@@ -16,6 +16,36 @@ open mode gates.
## Current checkpoint and work
**Truthtrance / ordinary bid commitments — 26 October. Prototyped / Partial.**
Registered bare native Basic/Advanced ordinary lots now support a structured
future minimum bid. Actual declarations fulfill Yes; No persists to exact lot
close. Original funding, payment, native turn order and earlier commitments
remain. Current-lot/next-owned-opportunity timing is explicitly provisional;
no game-start gate opens and optional/native-special compositions remain due.
Root shared integration with disjoint model-regression/control/native lanes
passes **14 files,175/175**, types/lint/build and **four native runtime paths**,
17 GameTable SSR renders and two actual guide callbacks. Native Basic/Advanced
H/A/E active sources use22/25 actions plus8 each: H really holds both original
Truthtrances, E answers, bids4 before cash changes, then pays its original4.
Four minimal profiles each submit a legal native guide action per source.
Twenty-action waiting sources add12 No/expiry or9 opposing-release actions.
E may bid3 below No4, then bid4 in the next lot. A's real10 bid prices out E10,
releasing Yes8; A later pays10 and native E collects10. Other new cases retain
two-copy No6/Yes4, actual loss after fulfillment, Karama11/free purchase,
voluntary funding guards, exact event/ownership, and an earlier shipment Yes9
that rules out bid Yes4 but permits a paid1 card and actual9-force shipment.
All33 original cards remain; no played hand/purse/force/auction/promise is installed.
Persistent own controls expose no private lot identity and preserve original
winning-payment instructions. Frozen report/manifest:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-bid-proof-v1/`;
journeys/HTML: adjacent `20261026-truth-bid-runtime/`.
No saved-room/D1/server, reset/restart, deployment or assurance campaign.
SSR/callback proof leaves browser/mobile/deployed, broader promises/modules
and complete-mode acceptance open. [Source and contract](TRUTHTRANCE_BID_PROMISES.md).
**World occupation / live Sandtrout — 26 October. Prototyped / Partial.**
A real original Basic World/Tech draw reproduced an occupation-context rejection.
Clean World and World/all14 profiles now retain canonical pending Sandtrout as
+30
View File
@@ -1,5 +1,35 @@
# Dune implementation status
## 26 October 2026 — Truthtrance ordinary bid commitments
**Prototyped / Partial.** Registered bare native
Basic/Advanced ordinary lots now support a structured future minimum bid with
real Yes/No, exact lot expiry, joint constraints, original funding/payment and
forced-impossibility release. Prior bids and payment do not fulfill it; a real
declaration does, even when another bidder wins. Current-lot/next-opportunity
timing remains provisional under general current-turn authority. No start gate
changes; full module/native-special and broader commitment work remain.
Root model/shared integration and disjoint pure/control/native lanes pass
**14 files,175/175**, types/lint/build and **four native paths**,17 GameTable SSR
renders/two actual guide callbacks. Original H/A/E Basic22/Advanced25 sources
plus8 actions each bind Yes4, submit the exact guide bid before money changes,
then pay4. Four minimal profiles per source submit legal next actions. Original
waiting sources20+12/9 prove No4 permits3 and expires before next-lot4; A's10
prices out E10 and releases Yes8 before original A payment/native E income10.
Fourteen native cases also cover two original copies No6/Yes4, actual loss after
declaration, original Karama11/free purchase, own funding/stale-event guards,
and earlier shipment Yes9: bid Yes4 is unavailable, but an actual paid1 card
leaves9 for the actual nine-force shipment. Native card inventory remains33;
no played card/purse/force/auction/question/promise is installed. Controlled
UI supplements retain their staging labels. Frozen report/manifest:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-bid-proof-v1/`;
journeys/HTML: adjacent `20261026-truth-bid-runtime/`.
No saved-room/D1/server/reset/restart/deployment or assurance campaign.
Browser/mobile/deployed, broader promises/modules and complete-mode acceptance remain.
[Source and contract](TRUTHTRANCE_BID_PROMISES.md).
## 26 October 2026 — Live World Sandtrout
**Prototyped / Partial.** A real original Basic
+16
View File
@@ -1,5 +1,21 @@
# Rule decision index
## Truthtrance ordinary bid commitments — 26 October 2026
Apply the existing November2020 FAQ p8 current-turn commitment authority to one
future accepted minimum bid in the current ordinary lot. Under standing
choose-recommended priority, use the next owned available opportunity rather
than assuming a future rival raise; current-highest/passed/full-hand targets
have no fresh opportunity. Actual declaration fulfills Yes without promising a
win; No persists to lot close. Original winning payment remains binding.
This exact-lot/interval/owned-funding and accepted-order release model is a
provisional software composition, not a dedicated publisher bidding ruling.
Keep current cash/aid/Karama, earlier commitments and original quote/custody
rules. No new start permission; optional modules and native special auctions
remain outside the first registered native Basic/Advanced prototype.
[Source, controls and boundaries](TRUTHTRANCE_BID_PROMISES.md).
## Sapho in ordered Advanced Revival — 26 October 2026
The printed Sapho first/last alternative applies to the now-connected ordered
+109
View File
@@ -0,0 +1,109 @@
# Truthtrance ordinary bid commitments
## Current-lot prototype — 26 October 2026
**Prototyped / Partial.** The question binds one
future ordinary bid declaration of at least a chosen positive whole amount in
the current lot. Registered native Basic/Advanced tables use their selected
decks and ordinary auctions. Optional modules, independent cards, Semuta/Kull,
native special auctions, phase-wide/grouped bidding claims and force-revival
promises remain required work. This does not change game-start permissions.
## Authority and selected interpretation
The [GF9 November 2020 FAQ, printed p8](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf#page=8)
permits game-related yes/no questions and current-turn action commitments,
requires compliance while possible, and releases a later impossible answer.
Its worked example concerns shipment; it does not prescribe a bidding-specific
packet or online auction boundary. The official-domain indexed text was checked
for this slice. The previous [general source audit](TRUTHTRANCE_NONBATTLE_READINESS_20260907.md)
remains applicable.
Under the standing 14 October choose-recommended instruction, use a single
accepted bid in this exact ordinary lot. Only a still-eligible active or waiting
bidder can answer; current-highest, already-passed and full-hand players have no
new opportunity for this question. An earlier bid does not fulfill it. Yes
requires a qualifying declaration at the player's next available opportunity
while possible; a smaller bid or pass cannot rely on a future rival raise.
No forbids every later qualifying bid through the close of the lot. These are
explicit provisional software interpretations, not a dedicated publisher FAQ.
Fulfillment records the declaration, even if someone else wins. The original
winning invoice and Karama payment remain separate and binding. Legal native
Karama overbidding is retained; the question creates no spice, discount or free
purchase. Existing current cash, prepaid allied aid, capacity and normal quote
checks remain authoritative. Unknown purchases and future rival income are not
assumed. Earlier shipment/movement funding obligations constrain the bid quote.
## State, actions and continuation
`game/bid-promises.ts` validates positive safe-integer `turn`, one-based `lot`
and `minimum`. The new question is `{kind:'bid',target,turn,lot,minimum}`.
It uses the original card declaration, priority, Ask, public Yes/No, physical
discard and interrupted-auction continuation. It adds no automatic human reply.
The engine privately binds the original physical lot, turn, respondent and
asker with a distinct event. Public history contains the stated lot/minimum and
answer; the unrevealed card binding is never projected. Only the respondent
receives feasible answers and its own sanitized commitment/guide. The guide
waits for the real active seat and original pending windows, and its event
rejects stale guided callbacks. Ordinary manual bid packets retain their shape.
The native bid quote is shared with ordinary bidding. Yes requirements form a
lower bound; No requirements cap the permitted amount. Several original
Truthtrances must remain jointly satisfiable. A real accepted bid fulfills each
matching Yes; No persists. Native settlement, custody and income then continue
normally. A paid purchase is not another bid.
Own voluntary spending or closure cannot erase a remaining Yes. A completed
opposing raise can price out the respondent and release only impossible Yes
answers in accepted order; feasible answers and No constraints remain. Finished
lots fulfill No and release any forced impossible remainder. Records may stay
in history, but never bind another lot or turn. Recovery/privacy/custody
certification is deferred with the rest of the full-rules review.
## Connected controls and evidence
The original Truthtrance selector offers **Bind a bid in this ordinary lot**,
with fixed public lot/turn, editable validated minimum and an explicit preview.
Only feasible respondent answers are shown. `components/bid-promises.tsx`
keeps the owner's obligation and fulfilled/released status visible; its guarded
button submits the authoritative bid/pass packet without duplicating prices.
No transient notice is required. All four existing policies use the same legal
answer/next-action guidance; strategy and strength tuning remain deferred.
Pure cases: `tests/bid-promises.test.ts`. Native source and engine cases:
`tests/fixture-truth-bid.ts`, `tests/truth-bid-runtime.test.ts`. Controlled and
source-earned callbacks: `tests/truth-bid-controls.test.tsx`. Original H/A/E
starts genuinely deal Harkonnen both physical Truthtrances and the other native
hands. Only unopened deal/lot/Spice positions and scalar lotteries are selected;
no played card, purse, force, auction, question or promise is installed.
Frozen integration passes **14 files,175/175**, types/lint/build and four native
runtime paths with17 GameTable SSR renders and two actual guide callbacks.
Ten pure cases, fourteen native engine cases and six controlled/source-earned
UI cases cover the new contract. Related original auction, Banker/Bureaucrat,
funding and Truthtrance cases remain passing after the native quote extraction.
Public H/A/E Basic/Advanced active sources use22/25 actions plus8 each. Actual
declaration/priority/Ask/answer precede the authoritative bid callback; Yes4
fulfills before cash changes, then the original winner pays4. Four existing
minimal policies each submit a legal guide action per source. Waiting sources
use20+12 actions for No4/lower3/lot expiry/new-lot4, or20+9 for an actual A10
opposing bid, E10's released Yes8 and original A payment/native E income10.
Other native cases bind both original cards as No6 plus Yes4, lose after a
fulfilled declaration, spend an original Karama after the promised11 bid and
reject stale/foreign packets and voluntary loss of required funding. An earlier
shipment Yes9 disallows later bid Yes4; a paid1 card leaves the actual9 for a
native nine-force shipment. All33 original cards remain physical. SSR confirms
the original authoring option, respondent answers, persistent guide and final
statuses; actual hook-free callbacks execute the original native bid packet.
This is not DOM/hydration or browser evidence.
Report/source manifest:
`/home/quintine/.local/share/dune/checkpoints/20261026-truth-bid-proof-v1/`;
journeys/HTML: adjacent `20261026-truth-bid-runtime/`.
No saved-room/D1/server, reset/restart, deployment or separate assurance campaign.
Full Truthtrance, module/native-special composition, browser/mobile/deployed
acceptance and final assurance remain open.
@@ -1,5 +1,11 @@
# Truthtrance nonbattle readiness and first implementation slice
The [26 October ordinary-bid follow-up](TRUTHTRANCE_BID_PROMISES.md) adds a
structured current-lot bid commitment. The historical absence table below is
superseded for that slice, as well as the previously linked fact, shipment and
movement work. Native force-revival promises and broader action commitments
remain unfinished; do not reimplement existing recorded-knowledge predicates.
## Grouped battle-plan authoring — 26 October 2026
The existing battle-plan question now has a complete bounded expression form,