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

32 lines
1.9 KiB
Markdown

## ADDED Requirements
### Requirement: Four info levels control opponent visibility
The system SHALL provide 4 info levels: None, Hints, Stats, and Full Reveal. The chosen level SHALL determine what information about opponents is displayed during gameplay. The info level SHALL be configurable in table setup and SHALL apply consistently throughout the session.
#### Scenario: None level hides all data
- **WHEN** info level is "None"
- **THEN** no statistics, type labels, or inferred classifications are shown for any opponent
#### Scenario: Hints level shows occasional contextual tips
- **WHEN** info level is "Hints" and a notable pattern has been detected for an opponent
- **THEN** a subtle hint appears (e.g., "Player 3 tends to play a lot of hands")
#### Scenario: Stats level shows raw numbers
- **WHEN** info level is "Stats"
- **THEN** VPIP, PFR, Fold-to-CBet, and WTSD are displayed for each opponent
#### Scenario: Full Reveal shows everything
- **WHEN** info level is "Full Reveal"
- **THEN** all statistics, inferred type with confidence, skill estimate, and detected patterns are shown
### Requirement: Info display updates as data accumulates
The system SHALL update the info display dynamically as new hand data becomes available. Statistics SHALL refresh after each completed hand. Classification results SHALL update when sufficient sample size is reached. At Hints level, new hints SHALL appear as new patterns are detected.
#### Scenario: Stats update after hand completion
- **WHEN** a hand completes and a new action history entry is recorded
- **THEN** all tracked statistics for involved players are recalculated and displayed values update
#### Scenario: Classification appears when threshold is met
- **WHEN** an opponent reaches 10 observed hands and the classification engine produces a result
- **THEN** the inferred type and confidence appear in the display (if info level permits)