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>
README was a pre-MVP stub (wrong, said set an Anthropic key). Now documents the
real system: two-layer architecture, role-based backends, memory tiers + dream
cycle, poker copilot (sessions/hands/villains/equity/recaps), web pages, ratings,
and how to run it as services. Added CHANGELOG with the 0.2.0 feature set. Legacy
v0.6.x design docs kept in docs/ as history.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Added `trillium.py` for searching and creating notes with Trillium's ETAPI.
- Implemented `search_notes` and `create_note` functions with appropriate error handling and validation.
feat: Add web search functionality using DuckDuckGo
- Introduced `web_search.py` for performing web searches without API keys.
- Implemented `search_web` function with result handling and validation.
feat: Create provider-agnostic function caller for iterative tool calling
- Developed `function_caller.py` to manage LLM interactions with tools.
- Implemented iterative calling logic with error handling and tool execution.
feat: Establish a tool registry for managing available tools
- Created `registry.py` to define and manage tool availability and execution.
- Integrated feature flags for enabling/disabling tools based on environment variables.
feat: Implement event streaming for tool calling processes
- Added `stream_events.py` to manage Server-Sent Events (SSE) for tool calling.
- Enabled real-time updates during tool execution for enhanced user experience.
test: Add tests for tool calling system components
- Created `test_tools.py` to validate functionality of code execution, web search, and tool registry.
- Implemented asynchronous tests to ensure proper execution and result handling.
chore: Add Dockerfile for sandbox environment setup
- Created `Dockerfile` to set up a Python environment with necessary dependencies for code execution.
chore: Add debug regex script for testing XML parsing
- Introduced `debug_regex.py` to validate regex patterns against XML tool calls.
chore: Add HTML template for displaying thinking stream events
- Created `test_thinking_stream.html` for visualizing tool calling events in a user-friendly format.
test: Add tests for OllamaAdapter XML parsing
- Developed `test_ollama_parser.py` to validate XML parsing with various test cases, including malformed XML.