v1.0.0-alpha.9
Pre-release
Pre-release
1.0.0-alpha.9 (2026-06-08)
Features
- app: add the practice lesson route (a673281)
- app: route practice lessons onto the table in practice mode (61d5757)
- app: wire onboarding and practice into the shell (d7cc567)
- cpu: separate casual difficulty tactics (6cc2458)
- game_table: completion note, missed overlay, practice claim affordances (e6e2f06)
- game_table: fly the claimed Fifty card from the pile to the hand (f95a671), closes #83
- game_table: make the thrown card itself a Fifty claim tap target (6dba707), closes #83
- game: expose the live fifty window stamp (015fe64)
- home: anchor guided practice as a full-width stack member (0a00161)
- home: move guided practice into the action stack (28257a0)
- l10n: add core turn pack lesson copy (bd23d8d)
- l10n: add finish and Fifty lesson copy (f658227)
- l10n: add onboarding and guided practice copy (370c661)
- l10n: add practice surface copy (5e444c0)
- l10n: add table mechanics lesson copy (ff5131c)
- l10n: rewrite the table mechanics lesson copy (9e7dde4)
- learning: add claim countdown, dead-end restart, and outcome notes (9ce1551)
- learning: add deterministic practice scenario harness (c64820a)
- learning: add first-run onboarding flow (5737101)
- learning: add Fundamentals pack with card-face reading panels (HT-55) (af146eb)
- learning: add guided practice lesson catalog (67bfb24)
- learning: add minimal practice lesson surface (788b62d)
- learning: add practice checklist hub (5685d82)
- learning: add Table strictness pack with consequence demos (9469d53)
- learning: add the core turn-state practice pack (3264487)
- learning: add the finish and Fifty practice pack (ff5026f)
- learning: add the practice step banner and completion overlay (de308cf)
- learning: add the strictness tier explainer (4300be2)
- learning: add the table mechanics practice pack (9fed578)
- learning: chain pack lessons from the completion overlay (23aa1ac)
- learning: dress practice piles with prior discards (cca7158)
- learning: gate the table's affordances by the practice step (66941ce)
- learning: grow the practice harness for watchable, forgiving lessons (588a646)
- learning: key checklist lesson tiles by lesson id (aea0477)
- learning: launch scripted lessons from the checklist (7928a82)
- learning: let a step teach its own take-back (7e062fd)
- learning: let steps offer explicit engine-valid alternatives (c22ffc3)
- learning: prove the Fifty by hand in the fifty lessons (5286454)
- learning: render table melds and identity-labeled joker buttons (d9800c1)
- learning: retract-aware steps, dead-end and clock-hold harness (f410b23)
- learning: rework the core turn pack into the approved curriculum (0cfa70e)
- learning: score-sheet reveal and a tighter completion row (e984a44)
- learning: script the finish and Fifty pack on the table harness (e5c7358)
- learning: script the table mechanics pack on the table harness (4c4db8e)
- learning: support Fifty windows and outcome notes in the harness (b535ab5)
- persistence: add local learning progress store (8b7675f)
- persistence: persist and resume a mid-proof Fifty claim (49af938), closes #83
- practice: executable filler audit + step model fields (1f55a63)
- rules: cover-aware finish planning for Fifty and stock-exhaustion checks (981a9ca), closes #83
- rules: Fifty prove-it claim flow with tier-gated unproven exits (8371f19), closes #83
- rules: relax the taken-discard rule to free in-turn ordering (c209e51), closes #83
- table: host guided practice lessons on the real table (3957309)
- table: play lesson intros and react to the player on the table (abc3d5b)
Bug Fixes
- align strictness copy with implemented behavior (HT-43) (4ab72e9)
- app: create the splash read timeout only at the hand-off await (9bb40b5)
- app: harden the splash hand-off (cf82bc1)
- audio: route table sounds as game audio (2fa7de0)
- cpu: harden audit argument handling (9df173e)
- cpu: honor fifty claim miss profile (81e1909)
- game_table: end the placed-meld frame at the last card (0446af5)
- game_table: keep lesson narration inside the step banner (d4feace)
- game-table: keep suggestion-rack fan order so card ranks stay readable (HT-55) (941ef26)
- game-table: keep the joker preview card readable in the suggestion rack (58f6ce8)
- game-table: score a windowed take-discard finish as a Fifty (HT-55) (3ba719e)
- game-table: stop CPU loop when persistence declines (9ef694e)
- l10n: describe core-turn lesson steps as table gestures (b0a507a)
- learning: apply CodeRabbit review tightening (ab09fb5)
- learning: apply review tightening to the lesson clock and board test (d31abfa)
- learning: fail fast on malformed practice boards (4c5247a)
- learning: log practice-completion persistence failures (1474bb0)
- learning: never offer the use-pending-discard sentinel as a button (b58fb32)
- learning: reject CPU seed cards aimed at the lesson seat (2f07f0c)
- learning: reject reverted actions instead of advancing the step (0ee4ecc)
- learning: return to the same practice hub after a replayed intro (e920cda)
- learning: stage the opening lesson strictly in narrated order (3ae85ce)
- learning: teach the relaxed taken-discard rule in pack-1 lessons (704d543), closes #83
- persistence: copy lesson statuses defensively (dd2b05c)
- review: apply valid CodeRabbit findings on PR #84 (452bc65), closes #83
- rules: align strictness copy with behavior (5c1b2e6)
- rules: apply HT-54 self-review findings (9214a7e), closes #83
- table: keep meld-rack separators between suggestion groups only (e7ae311)
- table: mirror the larger safe inset to both chrome corners (5a85795)
- table: pin the corner chrome flush to the screen edges (65ea31e)
- table: render meld suggestions in canonical card order (8b63c60)
- ui: serialize checklist saves and guard lesson launch (d86bb11)