Remove the entire strategy module (StrategyBot, ModularStrategy,
StrategyContext, ActionRecorder, HandAnalyzer, HandHelper) from
holdem_core. Strategy implementations will live in external crates
(e.g., super_marvin) and register via bot_factory::register_bot_type.
- Delete holdem_core/src/game/strategy/ (6 files, ~1900 lines)
- Delete holdem_core/src/game/bots/strategy_bot.rs
- Remove strategy_bot from bots/mod.rs module declarations and re-exports
- Update bot_factory.rs doc example to show generic custom bot pattern
- Add tournament_rake_percentage field to GameConfig (house share of entry fees)
- Convert prize structure from absolute amounts to percentages of prize pool
- Fix finish position calculation for tournament eliminations (was inverted)
- Add batch bustout processing for multi-table tournaments (shared positions)
- Add max_rebuys field and rebuy_count tracking on Seat
- Add PrizeStructure::with_rake() and rake_amount field
- Accumulate stats across tournament series (hands, rake, profit)
- Add best_finish and prize_won fields to PlayerStats
- Replace floating-point prize math with integer arithmetic (chip conservation)
- Add comprehensive tests for prize distribution and finish positions
- Update config examples to use percentage-based prizes with rake
- Add ARCHITECTURE_TOURNAMENT_RAKE.md documentation
- Add RakeConfig with percentage-based rake and per-pot cap
- Add bankroll tracking (reset per hand or auto-refill threshold)
- Add seat randomization with seeded RNG for reproducibility
- Add FlockBot (tight-aggressive) and ChumpBot (loose-passive) bots
- Refactor HandRunner: extract finalize_result, compute_chip_movements, credit_winnings
- Add num_raises to GameInfo for authoritative raise counting
- Record SB/BB as Raise actions (Meerkat convention)
- Update all existing bot tests for new GameInfo fields
- Add ARCHITECTURE_RAKE_BANKROLL_SEATS.md documentation
- Add AlgorithmicEvaluator wrapper for direct hand evaluation without
lookup tables, with proper Result-based error handling
- Replace all println! and #[cfg(debug_assertions)] debug output with
log crate macros (log::info!, log::debug!, log::warn!)
- Fix calculate_flush_value to use base-13 encoding for unique flush
hand values instead of simple linear sum
- Fix is_straight to use cleaner control flow for regular and wheel
straight detection
- Remove jump table HighCard/value=0 guard in evaluate_5_card to
simplify evaluation path
- Add evaluate_n_card_hand_public as pub(crate) for AlgorithmicEvaluator
- Add .gitignore to exclude target/ and .idea/ from version control
- Add comprehensive tests for AlgorithmicEvaluator (14 test cases)
- Update README with new API usage examples
- Add log dependency to Cargo.toml
- Add placeholder modules for future implementations (tables_new,
benchmark_utils, integration_utils, test_utils)