Connect live Nexus offer withdrawal and named alliance history
An unallied sender can withdraw its unanswered offer during an ordinary Nexus. The table names the outgoing recipient and keeps this distinct from breaking a formed alliance. The chronicle now records named proposals, withdrawals and breaks. Existing authoritative quote, timing locks, readiness, physical custody, Nexus-card forfeiture and request/version handling remain unchanged. Full-table rendering checks cover owner/recipient/observer controls, replacement, withdrawal, incoming offers, break, blocked timing and JSON continuation. A production SQLite race permits exactly one acceptance or withdrawal at a version; a stale withdrawal cannot break an alliance formed by the accepted request. Private restored views and seat credentials remain intact. All four current AI profiles retain legal participation; no strategy or calibration changes. Independent review found no material issue. Types, lint, all 4973 offline tests, production build and 49 HTTP tests passed on stable source. Browser QA used a fresh three-human Basic lobby, genuine setup and a controlled later-Storm boundary with existing Spice Cards reordered; actual Storm/Worm resolution opened the Nexus. This is a focused position, not a full-game sample. Browser proposal, refresh, keyboard withdrawal, retained incoming invitation, acceptance, break and named chronicle entries passed. At390px the page375px and withdraw339px by46px fit, with16px text. Final refresh restored no offers or alliances. No screenshot was captured; full visual/assistive and all-configuration acceptance remain open. Browser lost-response injection was not performed. All 1459 original rooms, 3081 seats and auxiliary rows are unchanged. SQLite integrity and foreign keys pass. The healthy server was reused without restart, migration, reset or recurring maintenance. Full rules and expansion completion remain gated. The goal retains deferred full AI development, three adjacent approximate75% targets, no usage cutoff, selective subagents and verified Git pushes. Private evidence: 20260921-nexus-offer. Verified source tree: e44e61b651e66cad23326bcca3ba2eecd6bb5a779a16e0273db8d0039f453511
This commit is contained in:
1 parent
91dcca46fb
commit
2b071a44a2
11 files changed
+301
-17
No files matched your search
+15
-16
@@ -6,23 +6,22 @@ gated.** Prototypes do not open completion or publication gates.
|
||||
|
||||
## Current checkpoint and work
|
||||
|
||||
Latest delivered checkpoint: `7814f74`, [durable table discussion](TABLE_DISCUSSION.md).
|
||||
Types, lint, **4,963 offline tests**, production build and **48 HTTP tests** passed.
|
||||
All 1,373 opening rooms, 2,883 seats and existing auxiliary rows stayed unchanged;
|
||||
new isolated QA brought the local baseline to 1,418 rooms and 2,991 seats. The
|
||||
running server was reused. Earlier checkpoints include `b2fcef8` for Storm/Spice
|
||||
practice and `66c41b2` for Kwisatz Haderach inspection. The `8f7a62c` policy
|
||||
checkpoint removed the usage cutoff and deferred AI refinement until feature
|
||||
completion, with three adjacent 75% targets.
|
||||
Latest delivered checkpoint: `91dcca4`, [ordinary bribe controls](BRIBE_CONTROLS.md).
|
||||
Types, lint, **4,968 offline tests**, production build and **49 HTTP tests** passed.
|
||||
All 1,418 opening rooms, 2,991 seats and auxiliary rows stayed unchanged. Isolated
|
||||
QA brought the local baseline to 1,459 rooms and 3,081 seats. Browser payment,
|
||||
refresh, keyboard controls and a 390px layout passed; screenshot capture and full
|
||||
visual acceptance remain open. The healthy server was reused. Prior checkpoints
|
||||
include `7814f74` for table discussion and `b2fcef8` for Storm/Spice practice.
|
||||
|
||||
Current work: [ordinary bribe controls](BRIBE_CONTROLS.md) connect existing engine
|
||||
payments to named recipients, private deferred balances and authoritative
|
||||
spending limits. Binding Truthtrance answers, reserved costs and Bureaucrat
|
||||
continuations remain intact. Source-bound checks, independent review, browser
|
||||
and preservation/Git evidence belong to the private checkpoint. Strategic AI
|
||||
negotiation and complete rules/multiplayer acceptance remain open. The independent
|
||||
Bureaucrat/Emperor gift source review found an unresolved payment-classification
|
||||
and disclosure boundary; the existing user question remains pending.
|
||||
Current work: [live Nexus offer withdrawal](NEXUS_OFFERS.md) connects the existing
|
||||
unanswered-offer action, shows the recipient and records named proposal/withdrawal
|
||||
history. Current alliance rules, pending-window locks, readiness and version
|
||||
fences remain intact. Source-bound checks, independent review, browser and
|
||||
preservation/Git evidence belong to the private checkpoint. The broader game
|
||||
remains unfinished. The separate Bureaucrat/Emperor gift question is pending.
|
||||
The `8f7a62c` policy checkpoint removed usage checks/cutoffs and deferred AI
|
||||
refinement until feature completion, followed by three adjacent 75% targets.
|
||||
|
||||
A bounded remaining-effect audit found that the reviewed faction/Nexus candidates
|
||||
still cross recorded pending rulings. Continue independent features rather than
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 21 September 2026 — live Nexus offer withdrawal
|
||||
|
||||
An unallied sender can now see the recipient of its outgoing Nexus offer and
|
||||
withdraw it through the existing action. Public history distinguishes proposals,
|
||||
withdrawals and alliance breaks. [Nexus offer controls](NEXUS_OFFERS.md) retain
|
||||
the current quote, timing, readiness, card forfeiture and version fences.
|
||||
Focused full-table rendering, JSON continuation, legal AI participation and
|
||||
production SQLite race checks accompany the private source-bound browser,
|
||||
preservation, independent review and Git record. No strategy, mode or publication
|
||||
gate changes; the broader game remains unfinished.
|
||||
|
||||
## 21 September 2026 — ordinary bribe controls
|
||||
|
||||
Players can now initiate the existing out-of-turn bribe action, with server-derived
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Live Nexus alliance offers
|
||||
|
||||
21 September 2026. Ordinary Nexus negotiations now show the owner's named
|
||||
outgoing offer and let an unallied sender withdraw it. This connects an existing
|
||||
engine action that previously had controls only in the introduction.
|
||||
|
||||
Choose a partner to propose or reciprocate an invitation. Until both agree,
|
||||
each player remains unallied. The sender may replace the offer or use **Withdraw
|
||||
your alliance offer**. Withdrawal clears only that player's outgoing offer;
|
||||
another player's invitation can remain. Existing partners still use **Break
|
||||
alliance**, which ends their alliance during the Nexus.
|
||||
|
||||
The public chronicle distinguishes proposals, withdrawals, formation and breaks.
|
||||
The player view already exposes ordinary alliance offers; no additional private
|
||||
information is disclosed. Existing Nexus timing, Homeworld restrictions, Nexus
|
||||
card forfeiture, readiness reset and authoritative version handling are unchanged.
|
||||
The underlying [ordinary quote](../game/nexus-alliance.ts) retains the settled
|
||||
base [rulebook](https://www.gf9games.com/dunegame/wp-content/uploads/Dune-Rulebook.pdf)
|
||||
contract; this is a control and feedback change, not a new alliance ruling.
|
||||
|
||||
A saved unanswered offer remains withdrawable after refresh. If acceptance and
|
||||
withdrawal race, only one action can commit at that version. A stale withdrawal
|
||||
is rejected rather than breaking an alliance that formed in the meantime; the
|
||||
updated table provides the current choices. Unsaved partner selection is only
|
||||
a local draft. Pending Truthtrance and other response/decision controls preserve
|
||||
their existing locks.
|
||||
|
||||
Focused rendering and engine checks cover sender/recipient/observer views,
|
||||
replacement, withdrawal, break, incoming-offer preservation, named history,
|
||||
blocked timing and JSON continuation. A production SQLite case races acceptance
|
||||
and withdrawal through independent room-module instances, then restores each
|
||||
seat and verifies unchanged resources, private fields and credentials. Existing
|
||||
AI profiles retain legal participation; strategy has not been tuned.
|
||||
|
||||
The fixture completes genuine three-player Basic setup, then stages a later
|
||||
Storm boundary and reorders existing Spice Cards. Real storm and worm/blow
|
||||
actions open the test Nexus. This is a focused position, not a complete first-turn
|
||||
simulation. Final browser, source-bound checks, preservation, independent review
|
||||
and Git evidence remain in the private checkpoint. Full diplomacy, special
|
||||
alliance powers and all expansion/visual acceptance remain unfinished.
|
||||
Reference in new issue
Block a user