feat: Supersonic evaluator, Cactus Kev hash, repo split cleanup

Evaluator overhaul:
- Add Supersonic LUT trie evaluator (32M-entry, O(n) hand evaluation)
- Add Cactus Kev perfect-hash 5-card evaluator (prime-product hashing)
- 3-tier evaluation priority: Supersonic → Cactus Kev → Algorithmic
- DashMap-cached 7-card evaluation for lock-free concurrent access
- Rewrite JumpTable around CactusKevEvaluator + DashMap cache

Bot framework:
- Add StrategyBot adapter (Strategy trait → HoldemPlayer)
- Add register_bot_type() for plugin-style bot registration
- Add strategy module with modular composable strategies

Repository split:
- Remove holdem_bots from workspace (moved to private super_marvin repo)
- Remove holdem_bots dependency from holdem_sim
- Update cash_game.toml to use built-in bots only
- Clean up .gitignore (remove stale holdem_bots exclusion)
- Delete plans/ directory (internal planning artifacts)

Documentation:
- Add ARCHITECTURE_SUPERSONIC_EVALUATOR.md
- Add REFERENCES.md
- Update ROADMAP.md and VISION.md
- Remove outdated docs (ACHIEVEMENTS, RAKE, TOURNAMENT_RAKE, meerkat-alignment)
This commit is contained in:
Jan-Peter von Hunnius 2026-05-25 11:10:52 +02:00
parent f81f0579d1
commit 09a0777f96
36 changed files with 6565 additions and 4934 deletions

View file

@ -1,26 +1,23 @@
# Cash Game — 10-max NL Hold'em
#
# Deep-stack ring game with 10 seats using built-in bots.
# Advanced bot strategies (big_stack_bot, short_stack_bot) are available
# in the super_marvin repository.
#
# Run with:
# cargo run -p holdem_sim -- holdem_core/examples/configs/cash_game.toml
[game]
game_type = "Cash"
num_seats = 10
num_hands = 1000
starting_chips = 1500
small_blind = 10
big_blind = 20
ante = 0
starting_chips = 1500
num_hands = 10000
# Rake configuration (optional, defaults to no rake).
# rake_percentage = 0.05 # 5% rake
# rake_cap = 50 # Max 50 chips rake per pot
# Bankroll management (optional, defaults to disabled).
# reset_bankroll_each_hand = false
# bankroll_refill_threshold = 1000 # Refill when stack <= 1000
# Auto-rebuy: when enabled, players whose stack drops below 25% of the
# starting_chips are automatically topped back up to starting_chips.
# Configure the threshold via rebuy_threshold_percentage (default: 25).
# max_rebuys limits how many times a player can rebuy (0 = unlimited).
auto_rebuy = true
max_rebuys = 0 # 0 = unlimited rebuys
rebuy_threshold_percentage = 25
max_rebuys = 0 # 0 = unlimited
# Randomize seat assignments before each hand (optional, defaults to false).
randomize_seats = true
@ -29,14 +26,14 @@ randomize_seats = true
type = "no_limit"
min_raise = 20
[[game.bots]]
bot_type = "flock_bot"
name = "FlockBot-1"
[[game.bots]]
bot_type = "chump_bot"
name = "ChumpBot-1"
[[game.bots]]
bot_type = "flock_bot"
name = "FlockBot-1"
[[game.bots]]
bot_type = "call_bot"
name = "CallBot-1"