Files
project-lyra/CHANGELOG.md
T
serversdown 974ee33f71 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>
2026-06-19 06:24:28 +00:00

5.2 KiB
Raw Blame History

Changelog

0.3.0 — session modes + live HUD

Lyra stopped being a wishy-washy companion during live poker. She now switches register based on what she's actually doing at the table.

Conversation modes

  • Two modes💬 Talk (the companion, default) and ♠ Cash (live cash copilot). A mode bundles a prompt card + a tool allow-list (lyra/modes.py).
  • Two-register Cash voice — quiet, act-first logging when Brian feeds facts (stack, hand, read → logged in one line, no narration); full warm companion voice when he asks for strategy or signals tilt/card-dead/steaming. Mental game and strategy never get clipped.
  • Tool gating by mode — Talk offers journaling + read-only poker lookups; Cash unlocks the full live toolset. tools.specs(allow=…) does the filtering.
  • Auto-switch — opening a session (start_session) flips the chat into Cash mode automatically; the UI badge/HUD follow. Manual switch overrides anytime.
  • 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 stack-over-time sparkline, hands this session (tap → replay), villains seen, her notes, and session stats.
  • Stack tracking — new log_stack tool + poker_stack_log table → current stack, live net while still sitting (stack buy-in), and the sparkline series.

Next

  • Strategy RAG (poker books/notes) plugs into Cash's coaching register.

0.2.0 — first working system

The leap from "chat + memory baseline" to a working, persistent companion with a real poker copilot. Highlights:

Self & inner life

  • Autonomy Core — evolving self-state (mood, valence/energy/confidence/curiosity, self-narrative, relationship), injected into every turn.
  • Dream cycle — unattended loop driven by four drives (continuity, coherence, curiosity, stability); consolidates memory and reflects on its own. Runs as a systemd service on the MI50 (free/local).
  • Two-step metacognitive reflection — draft → examine own draft for flattery / sycophantic drift / repetition → revise; what she catches is stored as metacognition.
  • Time awareness — perceives the current moment, time since Brian last spoke, and time since her own last reflection.
  • Permanent journal — every reflection + a deliberate "knowing" journal note kept forever (the capped lists are just a working window).
  • Accurate self-model — knows her own architecture (memory tiers, dream cycle); won't recite stale specs or confabulate how she works.
  • Anti-repetition — idle reflections draw varied grist (resurfaced memories / "wander" prompts) and are permitted non-Brian interiority.

Memory & consolidation

  • Tiered memory: exchanges → session gists → profile → monthly eras → narrative.
  • Map-reduce consolidation; gists dated by the real conversation, not the run.

Poker copilot

  • Structured session / hand / villain tracking + stats ($/hr by stake/venue/game).
  • Hand-history reconstruction from rough shorthand → replayable table viewer with live stacks, progressive board, step-through; x for unknown cards (never invented).
  • Auto-accumulating villain dossiers + player lookup; stats emerge with sample size.
  • Deterministic equity tool (analyze_spot, treys) — exact equity / made hands / outs; mandated over LLM eyeballing.
  • Session recap generation (.md, Brian's format) + export; /hands browser.
  • Backfill of historical sessions/villains from curated .md logs.

Tools & web

  • Tool-calling in chat (cloud): poker tools, journal_write, note.
  • Web UI: Markdown chat, cloud model selector, live /logs, /self (read her mind), /journal, /hands + /hand/{id} replayer, /recap/{id}.
  • 👍/👎 rating system — feedback on replies and thoughts stored as (context, content, rating); /ratings/export (JSONL) seeds future fine-tuning.
  • RTO black-and-orange theme across all pages.

Ops

  • Role-based backends (cloud / MI50 / local Ollama); MI50 OpenAI-compatible backend.
  • systemd user services for lyra-web and lyra-dream, with bounded stop timeouts.
  • SQLite WAL + busy-timeout so the dream process and web server coexist.

0.1.0 — scaffold

  • uv project, SQLite memory with cosine recall, LLM router (local/cloud), persona + chat loop, web UI baseline, ChatGPT history import.