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

95 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.