feat: live mental-game rituals in Cash mode

Brian's own rituals (mined from his logs) become first-class, live tools instead
of post-hoc recap sections:

- Scar Note — instructive mistakes with the punt/cooler/standard distinction.
- Confidence Bank — good process, banked regardless of result.
- Alligator Blood — invokable adversity state; she suggests it when he's
  card-dead/short/stuck, and her coaching register shifts while it's on (live
  state injected into context per-turn via chat._mode_state_note).
- Reset — tilt circuit-breaker; mental marker only, stats stay continuous.

poker_rituals table + log_ritual/list_rituals/set_alligator/alligator_active;
4 tools added to the Cash toolset and taught in the mode card; HUD gains a 🐊
banner + Confidence Bank + Scar Notes panels; recap grounded via _rituals_block.
tests/test_modes.py +5 ritual tests; 41 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-19 06:24:28 +00:00
parent dfb6425395
commit 974ee33f71
8 changed files with 340 additions and 2 deletions
+10
View File
@@ -19,6 +19,16 @@ register based on what she's actually doing at the table.
- Mode persists per chat session (new `mode` column); Cash mode forces the cloud
backend, since tools only fire there.
### Mental-game rituals
- Brian's own rituals are now first-class, live tools (not just post-hoc recap
sections): **Scar Notes** (with the punt / cooler / standard distinction),
**Confidence Bank** (good process, banked regardless of result), **Alligator
Blood** mode (an invokable adversity state — she'll suggest it when he's
card-dead/short/stuck, and her coaching register shifts while it's on), and
**Reset** (a tilt circuit-breaker; mental marker, stats stay continuous).
- Rituals show on the HUD (🐊 banner, Confidence Bank + Scar Notes panels) and feed
the recap's Scar Notes / Confidence Bank sections with what actually happened.
### Session HUD
- **Live HUD** at `/session` (bottom-nav tab on mobile, header link on desktop) —
polls every 5s: header (venue/stakes/elapsed/live net), stack with