Add Charity and Revival resource practice
Expand the internal introduction to eleven lessons and nine independent Basic exercises. Charity shows the ordinary top-up to two spice and prevents duplicate claims. Revival lets Atreides, Emperor and Fremen return ordinary forces in batches and revive an eligible leader using the same spice balance. Reuse production charity and revival calculations; only narrow the leader-options TypeScript signature, with no live rules or AI strategy changes. Version 5 practice saves retain all earlier lesson identities and accepted choices. Replay a bounded, validated history to reconstruct spice, Tanks, reserves, leader custody and turn allowances. Cover first-cycle, surviving-leader and repeat-death rosters, cumulative free allowances, paid returns, the three-force cap, separate leader allowance and unaffordable choices. Seven new tests compare real engine actions, immutable inputs, migration and impossible-save rejection. Independent review found no material issues. Types, lint, 4941 offline tests and production build passed on stable final source. Browser checks confirm previous alliance migration, keyboard Charity, shared revival spending, refreshed force/leader outcomes, roster restrictions, faction free rates, cap rejection and leader inspection. At390px all observed new controls fit, with 44px or taller targets. Screenshot capture remains unavailable; DOM bounds are narrower evidence. The full curriculum, faction/expansion teaching and rules/publication gates remain incomplete. Reused the running server. A stale development import for the newly-created file cleared through import-graph invalidation and reload without restarting. All 1337 rooms, 2805 seats and existing recovery, entry, handover, delegation and migration rows remain unchanged. SQLite integrity and foreign keys pass. No database migration/reset, automation, usage check or AI calibration. HTTP/auth/persistence source is unchanged; the required offline suite includes recovery checks and no broad HTTP suite was rerun. Private evidence: 20260921-resource-practice. Verified source tree: 40e207a5d46f53501a9ec8f77a8b48a5e4f0b3d67278bf670b1e53050770a40b
This commit is contained in:
1 parent
c4ff75a56d
commit
67e429e32f
16 files changed
+848
-56
No files matched your search
+18
-13
@@ -6,22 +6,27 @@ gated.** Prototypes do not open completion or publication gates.
|
||||
|
||||
## Current checkpoint and work
|
||||
|
||||
Latest delivered checkpoint: `b7ec940`, [interactive bidding](INTERACTIVE_INTRODUCTION.md).
|
||||
Types, lint, **4,925 offline tests** and production build passed. All 1,337 rooms,
|
||||
Latest delivered checkpoint: `c4ff75a`, [interactive alliance practice](INTERACTIVE_INTRODUCTION.md).
|
||||
Types, lint, **4,934 offline tests** and production build passed. All 1,337 rooms,
|
||||
2,805 seats and existing recovery/entry/handover/delegation rows stayed unchanged.
|
||||
The preceding `b9718ac` connects [lobby AI configuration](LOBBY_AI_CONFIGURATION.md)
|
||||
and `b21b2bc` connects [one-use AI permission](SEAT_AI_PERMISSION.md).
|
||||
The `8f7a62c` policy checkpoint removed the usage cutoff and deferred AI refinement
|
||||
until feature completion, with three adjacent 75% win-rate targets. Earlier
|
||||
evidence remains in the [implementation history](IMPLEMENTATION_STATUS.md).
|
||||
The stopped server was started against existing state; an existing QA seat restored.
|
||||
The preceding `b7ec940` connects bidding practice, `b9718ac` connects
|
||||
[lobby AI configuration](LOBBY_AI_CONFIGURATION.md), and `b21b2bc` connects
|
||||
[one-use AI permission](SEAT_AI_PERMISSION.md). The `8f7a62c` policy checkpoint
|
||||
removed the usage cutoff and deferred AI refinement until feature completion,
|
||||
with three adjacent 75% targets. Earlier evidence remains in the
|
||||
[implementation history](IMPLEMENTATION_STATUS.md).
|
||||
|
||||
Current work: [interactive alliance practice](INTERACTIVE_INTRODUCTION.md) adds
|
||||
the ninth lesson, ordinary Nexus consent/break choices and later shared stronghold
|
||||
victory through production quotes. Versioned practice migrates all earlier lesson
|
||||
positions and choices. No AI strategy is changed. Final independent review,
|
||||
Current work: [Charity and Revival practice](INTERACTIVE_INTRODUCTION.md) adds two
|
||||
Basic phase lessons, cumulative free/paid returns, leader eligibility and shared
|
||||
spending through existing production calculations. Saved choices migrate every
|
||||
earlier lesson and commitment. No AI strategy changes. Final independent review,
|
||||
browser/check/build/preservation and Git evidence belong to its private report.
|
||||
Alliance powers, faction/Advanced/expansion teaching and broader disconnected-seat
|
||||
acceptance remain unfinished.
|
||||
A bounded current-state Duke review confirmed revival/loan paths still cross
|
||||
recorded custody, return and cycle questions; existing identity/price helpers and
|
||||
non-Ecaz guards are already present. No duplicate ruling or invented outcome.
|
||||
Storm/spice-blow, full faction/Advanced/expansion teaching and broader
|
||||
multiplayer acceptance remain unfinished.
|
||||
|
||||
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,18 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 21 September 2026 — Charity and Revival practice
|
||||
|
||||
The [introduction](INTERACTIVE_INTRODUCTION.md) expands to eleven lessons and nine
|
||||
Basic examples. Charity teaches the top-up to two spice; Revival teaches shared
|
||||
free allowances, paid force returns, the ordinary cap, leader eligibility and
|
||||
separate leader/force limits. Existing production calculations supply the costs
|
||||
and choices; a legal saved action history preserves cumulative spending and custody.
|
||||
All previous lesson identities and outcomes migrate to version 5. No live AI
|
||||
strategy or rules mode changes. Focused engine comparisons, independent review,
|
||||
browser controls and source-bound checks/preservation/Git evidence belong to the
|
||||
private checkpoint. Duke revival/loans retain their existing unresolved custody
|
||||
boundaries; the full curriculum and game remain unfinished.
|
||||
|
||||
## 21 September 2026 — Interactive Nexus alliance practice
|
||||
|
||||
The [introduction](INTERACTIVE_INTRODUCTION.md) now connects nine lessons and seven
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
from the lobby and rules reference. It adds the previously missing guided
|
||||
introduction alongside the reference's existing standalone practice wheel.
|
||||
|
||||
Nine navigable lessons cover public/private table information and the phase
|
||||
sequence, ordinary Nexus alliances, bidding, shipment budgets, movement, sealed battle plans, Traitor calls, spice
|
||||
collection and joining or recovering a saved table. Seven independent Basic practice positions let a player
|
||||
Eleven navigable lessons cover public/private table information and the phase
|
||||
sequence, ordinary Nexus alliances, charity, bidding, revival, shipment budgets, movement, sealed battle plans, Traitor calls, spice
|
||||
collection and joining or recovering a saved table. Nine independent Basic practice positions let a player
|
||||
change inputs, commit, inspect results and retry. These positions are deliberately
|
||||
separate examples rather than a complete game or an authoritative live room.
|
||||
|
||||
@@ -59,7 +59,7 @@ The base rulebook's Alliances (Nexus) and Mentat Pause sections remain the rule
|
||||
authority; fresh publisher-indexed rulebook/quick-start results confirm the
|
||||
ordinary two-member/four-stronghold contract. No new ambiguous ruling is inferred.
|
||||
|
||||
The version 4 save whitelists alliance choices and validates the bounded
|
||||
The saved state whitelists alliance choices and validates the bounded
|
||||
opening/offer/withdraw/break sequence and phase order. Prior lesson identities,
|
||||
auction history and every other accepted practice choice remain intact.
|
||||
`tests/introduction-alliance.test.ts` compares all 24 offered scenario/holding/
|
||||
@@ -70,6 +70,35 @@ existing Nexus Card forfeiture tests cover the retained expansion side effects.
|
||||
Final independent review, browser, source-bound checks and saved-game preservation
|
||||
are recorded in the private checkpoint and Git message.
|
||||
|
||||
The Charity and Revival lessons connect two further missing Basic phase exercises.
|
||||
Charity compares starting balances zero through three, pays the ordinary bank
|
||||
amount once and distinguishes a top-up to two from a flat two-spice payment.
|
||||
Revival uses Atreides, Emperor or Fremen, with five ordinary forces in the Tanks
|
||||
and fifteen in reserves. Separate batches share the per-turn free allowance and
|
||||
three-force cap. Eligible leader returns use the same spice balance but a separate
|
||||
one-leader allowance. Full first-death, one-survivor and repeat-death rosters show
|
||||
why a selected leader may be unavailable; the existing portrait and inspector
|
||||
remain readable without exposing any live private information.
|
||||
|
||||
The exercises reuse `charityQuote`, the force revival rate/remaining/price helpers
|
||||
and `leaderRevivalOptions`. Only the latter's TypeScript input types are narrowed;
|
||||
its live rule behavior is unchanged. A bounded legal action history recomputes
|
||||
balances, Tanks, reserves, leader custody and usage counters after refresh rather
|
||||
than trusting saved totals. Changing starting conditions resets this independent
|
||||
position. No Tleilaxu, elites, cards, allies, capture or expansion interactions are
|
||||
simulated, and no AI strategy changes. Source authority is the same classic
|
||||
GF9 base rulebook, Charity and Revival (printed pp.7 and 9). The official indexed
|
||||
Revival text and [GF9 Quick Start Guide, Charity, p.6](https://www.gf9games.com/dunegame/wp-content/uploads/Quick-start-Guide.pdf#page=6)
|
||||
were freshly retrieved on 21 September. The similarly named 2021
|
||||
movie game returned by search is a different ruleset and was not used.
|
||||
|
||||
Resource regressions compare ordinary claims/returns against actual engine
|
||||
actions, preserve inputs, check cumulative spending and allowances, reject
|
||||
impossible saves and retain all nine v4 lesson identities and prior commitments.
|
||||
Final source-bound browser/check/build/preservation and review evidence belongs
|
||||
to this checkpoint's private report and Git delivery. Storm/spice-blow hazards,
|
||||
full faction/Advanced/expansion teaching and the complete curriculum remain open.
|
||||
|
||||
The movement position starts with five ordinary forces in Red Chasm. It compares
|
||||
range one with range three from a separate Arrakeen occupant, exact sectors,
|
||||
storm exclusion and a stronghold already occupied by two other factions. Accepted
|
||||
@@ -81,9 +110,10 @@ actual authoritative `applyAction` transitions; no live movement rule changed.
|
||||
The existing wheel, keyboard controls and card inspectors remain available.
|
||||
Lesson changes focus the heading; responsive columns stack on small screens.
|
||||
Browser storage contains only a versioned, validated set of lesson choices under
|
||||
`dune-introduction-v1`. Version 4 payloads explicitly migrate all five version 1,
|
||||
seven version 2 and eight version 3 lesson positions to the same lesson after insertion,
|
||||
preserving prior choices and committed outcomes. New alliance fields start at their defaults for every older version.
|
||||
`dune-introduction-v1`. Version 5 payloads explicitly migrate all five version 1,
|
||||
seven version 2, eight version 3 and nine version 4 lesson positions to the same lesson after insertion,
|
||||
preserving prior choices and committed outcomes. New resource fields start at defaults for every older version. Versions 1–3
|
||||
receive alliance defaults.
|
||||
Versions 1 and 2 receive bidding defaults; version 1 also receives movement/Traitor defaults. Hot updates
|
||||
remount the lesson state to apply this migration. Only the player's bid/pass
|
||||
history is saved; deterministic replay validates the complete auction and rejects
|
||||
|
||||
Reference in new issue
Block a user