Veit F. 422fa5b3ab feat: implement bot intelligence system with 8 archetypes and coaching
Add personality-driven bots with 8 archetypes (Nit, TAG, LAG, Maniac, Calling Station, Loose Fish, Old Man, Monster TAG) across 5 skill levels.

Includes:

- Three-layer decision pipeline (base strategy → personality filter → skill noise)

- Decision timer system with archetype-specific timeout defaults

- Observation tracking engine (VPIP, PFR, Fold-to-CBet, WTSD, bet sizing, timing tells)

- Player classification engine with weighted scoring and confidence scaling

- Table setup UI with visual seat editor and quick presets

- Info display system with 4 visibility levels

- Teaching coach with post-hand analysis and real-time suggestions

Archives bot-intelligence change and syncs all 8 delta specs to main specs.
2026-05-17 22:41:09 +02:00

2.7 KiB

ADDED Requirements

Requirement: Visual seat editor for table configuration

The system SHALL provide a visual table layout showing all seats. The player SHALL be able to click any bot seat and select an archetype and skill level from dropdown controls. The human player's seat SHALL be fixed and non-configurable.

Scenario: Player assigns bot type to a seat

  • WHEN the player clicks a bot seat and selects "LAG" at "Hard" difficulty
  • THEN that seat displays the LAG archetype label and Hard skill indicator

Scenario: Human seat cannot be reassigned

  • WHEN the player attempts to change the human player's seat configuration
  • THEN the system prevents the change or grays out the controls

Requirement: Quick presets for common table compositions

The system SHALL provide at least 4 predefined table presets: Fish Table (all Calling Stations, Novice-Beginner), Regular Grind (mix of TAGs and LAGs, Medium-Hard), High Stakes (Ultra/Hard TAGs and LAGs), and Training Mix (one of each type across skill levels). Selecting a preset SHALL populate all bot seats automatically.

Scenario: Fish Table preset configures easy opponents

  • WHEN the player selects "Fish Table" preset
  • THEN all bot seats are assigned Calling Station or Loose Fish archetypes at Novice-Beginner skill

Scenario: Training Mix preset provides variety

  • WHEN the player selects "Training Mix" preset
  • THEN each bot seat receives a different archetype at varying skill levels

Requirement: Global table settings

The system SHALL allow configuring global table parameters: blind structure (small/big blind values), starting stack size, number of players (heads-up through 9-max), timer duration, and timer enable/disable. Settings SHALL apply to all seats uniformly.

Scenario: Player sets custom blinds

  • WHEN the player enters 50/100 for blinds
  • THEN all hands at the table use 50/100 blind structure

Scenario: Player adjusts player count

  • WHEN the player changes from 6-max to 9-max
  • THEN the table layout updates to show additional seats with unassigned bot slots

Requirement: Timer configuration per table setup

The system SHALL allow the player to configure timer behavior: enable/disable timer, set duration (5-30 seconds), and choose human timer mode (same as bots, no limit, or custom duration). Timer settings SHALL be saved with the table configuration.

Scenario: Player disables timer

  • WHEN the player sets timer to "Off"
  • THEN bot decisions execute instantly without countdown display

Scenario: Player sets custom human timer

  • WHEN the player sets human timer to "Custom: 30s" while bot timer is "10s"
  • THEN bots have 10 seconds per decision and the human has 30 seconds per decision