| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 25 | 9 | 0% |
| Commands | 0 | 7 | 0 | 0% |
| Section tags | 3 | 5 | 1 | 33% |
What each file covers
Sections
0 shared · 25 only in A · 9 only in B- − CLAUDE.md
- − Project Overview
- − Development Commands
- − Bot Compilation
- − Testing Commands
- − or for C++ bots:
- − Tournament System
- − Architecture Overview
- − Directory Structure
- − Bot Architecture
- − Bot Implementations
- − Platform Constraints (Botzone)
- − Time Limits
- − Resource Limits
- − I/O Protocol
- − Development Workflow
- − Cline Memory Bank System
- − Development Rules (`.clinerules/`)
- − Key Development Patterns
- − Common Tasks
- − Creating a New Bot
- − Debugging TLE (Time Limit Exceeded) Issues
- − Testing Botzone Compatibility
- − Important Notes
- − Getting Started
- + Cline's Memory Bank
- + Memory Bank Structure
- + Core Files (Required)
- + Additional Context
- + Core Workflows
- + Plan Mode
- + Act Mode
- + Documentation Updates
- + MANDATORY Update Workflow
Commands
0 shared · 7 only in A · 0 only in B- − python -c "from scripts.tournament.utils import compile_bot; compile_bot('bot003')"
- − python scripts/test_bot_simple.py
- − python scripts/botzone_simulator.py
- − python -c "from scripts.tournament.cli import run_match; run_match('bot001', 'bot003')"
- − python scripts/run_competitions.py
- − python scripts/check_legal_moves.py
- − python scripts/debug_board.py
Section tags
3 shared · 5 only in A · 1 only in B- − setup
- − test
- − lint-format
- − code-style
- − do-not
- + docs
- architecture
- performance
- agent-behaviour
Line diff
RizzoHou/amazing-amazons · CLAUDE.md
@@ −1 @@
1# CLAUDE.md
2
3This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
5## Project Overview
6
7This is a competitive AI bot development project for the Game of Amazons, designed to run on the Botzone platform. The project focuses on creating high-performance bots using Monte Carlo Tree Search (MCTS) with various optimization techniques.
8
9**Key Technologies**: Python 3.6+, C++11, NumPy
10**Platform**: Botzone (Ubuntu 16.04 x86-64)
11**Game**: Amazons (8×8 board, 4 amazons per player, queen movement + arrow shooting)
12
13## Development Commands
14
15### Bot Compilation
16C++ bots are compiled manually with:
17```bash
18g++ -O3 -std=c++11 -o bots/botXXX bots/botXXX.cpp
19```
20
21The tournament system provides a helper function:
22```bash
23python -c "from scripts.tournament.utils import compile_bot; compile_bot('bot003')"
24```
25
26### Testing Commands
27**Quick functionality test** (first move as BLACK):
28```bash
29echo "1
30-1 -1 -1 -1 -1 -1" | python bots/bot001.py
31# or for C++ bots:
32echo "1
33-1 -1 -1 -1 -1 -1" | ./bots/bot001_cpp
34```
35
36**Run simple bot tests**:
37```bash
38python scripts/test_bot_simple.py
39```
40
41**Run Botzone protocol simulation**:
42```bash
43python scripts/botzone_simulator.py
44```
45
46### Tournament System
47The tournament framework (`scripts/tournament/`) provides comprehensive testing:
48
49**Single match**:
50```bash
51python -c "from scripts.tournament.cli import run_match; run_match('bot001', 'bot003')"
52```
53
54**Competition automation** (10-game series):
55```bash
56python scripts/run_competitions.py
57```
58
59**Check legal moves** (debugging tool):
60```bash
61python scripts/check_legal_moves.py
62```
63
64**Debug board visualization**:
65```bash
66python scripts/debug_board.py
67```
68
69## Architecture Overview
70
71### Directory Structure
72- `core/` - Shared game logic (board representation, move generation)
73- `bots/` - Bot implementations (Python and C++ versions)
74- `scripts/` - Testing and utility scripts
75- `docs/` - Comprehensive documentation
76- `memorybank/` - Project context and technical decisions (Cline system)
77- `results/` - Tournament results (JSON format)
78- `logs/` - Match logs and output
79
80### Bot Architecture
81The primary algorithm is **Multi-Component MCTS** with these key features:
82
831. **Multi-Component Evaluation**: Five strategic factors combined:
84 - Queen Territory (BFS-based territory control)
85 - King Territory (weighted close-range control)
86 - Queen Position (exponential decay scoring)
87 - King Position (distance-weighted positioning)
88 - Mobility (available moves count)
89
902. **Phase-Aware Weighting**: Different strategies for early/mid/late game phases
91
923. **Dynamic UCB Constant**: Exploration decreases as game progresses
93
944. **Long-Running Mode**: Maintains MCTS tree state between turns for efficiency
95
96### Bot Implementations
97- `bot001.py` / `bot001.cpp` - Primary MCTS implementation (Python and C++ versions)
98- `bot002.cpp` - Optimized version with bitboard representation (has TLE issues)
99- `bot003.cpp` - Baseline MCTS bot for comparison
100- `bot004-bot008.cpp` - Optimization bots with different techniques
101- `opponent.cpp` - Latest implementation with AVX2 SIMD optimizations
102
103## Platform Constraints (Botzone)
104
105### Time Limits
106- **Python long-running bots**: 12s (first turn), 4s (subsequent turns)
107- **C++ long-running bots**: 2s (first turn), 1s (subsequent turns)
108
109### Resource Limits
110- Memory: 256 MB default
111- CPU: Single core (no multi-threading benefit)
112
113### I/O Protocol
114- Simplified interaction: Line-based stdin/stdout
115- Long-running mode: Must flush stdout after each turn
116- Move format: 6 integers `x0 y0 x1 y1 x2 y2`
117
118## Development Workflow
119
120### Cline Memory Bank System
121The project uses a Cline memory bank (`memorybank/`) for context:
122- `projectbrief.md` - Project overview and objectives
123- `systemPatterns.md` - Architecture and design decisions
124- `techContext.md` - Technologies and constraints
125- `activeContext.md` - Current state and next steps
126- `progress.md` - Development progress and milestones
127
128### Development Rules (`.clinerules/`)
129- `development_workflow.md` - Development processes
130- `task_completion.md` - Mandatory sequential workflow for task completion
131- `memory_bank_update.md` - How to update memory bank files
132- `readme_update.md` - README update procedures
133
134### Key Development Patterns
1351. **Always test sequentially** - Run tests in order: simple test → protocol simulation → tournament
1362. **Update memory bank first** - Review and update memory bank files before making changes
1373. **Check Botzone compatibility** - Ensure bots work within platform constraints
1384. **Use tournament framework** - For comprehensive testing and performance comparison
139
140## Common Tasks
141
142### Creating a New Bot
1431. Copy an existing bot (e.g., `bot003.cpp`) as a starting point
1442. Implement optimization technique
1453. Compile: `g++ -O3 -std=c++11 -o bots/botXXX bots/botXXX.cpp`
1464. Test with simple test script
1475. Run competition against baseline (`bot003`)
1486. Analyze results in `results/competitions/`
149
150### Debugging TLE (Time Limit Exceeded) Issues
1511. Check time limits in bot code (conservative buffers required)
1522. Use tournament system to measure actual execution times
1533. Profile with `scripts/check_legal_moves.py` for move generation issues
1544. Review Botzone logs for specific timing patterns
155
156### Testing Botzone Compatibility
1571. Use `botzone_simulator.py` to simulate platform I/O
1582. Verify long-running mode works correctly
1593. Check memory usage stays under 256 MB
1604. Ensure move format matches Botzone expectations
161
162## Important Notes
163
164- **No automated build system** - Bots are compiled manually
165- **NumPy dependency** - Required for Python bots, not for C++ bots
166- **Tree reuse** - MCTS trees are preserved between turns in long-running mode
167- **Bitboard representation** - Used in optimized bots for faster operations
168- **AVX2 optimizations** - Latest addition in `opponent.cpp` for SIMD parallelism
169
170## Getting Started
1711. Read `README.md` for comprehensive project overview
1722. Check `memorybank/` for current project context
1733. Use tournament framework for testing: `scripts/tournament/`
1744. Follow Cline workflows in `.clinerules/` for development tasks
RizzoHou/amazing-amazons · .clinerules/memorybank.md
@@ +1 @@
1# Cline's Memory Bank
2
3I am Cline, an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional.
4
5## Memory Bank Structure
6
7The Memory Bank consists of core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy:
8
9flowchart TD
10 PB[projectbrief.md] --> PC[productContext.md]
11 PB --> SP[systemPatterns.md]
12 PB --> TC[techContext.md]
13
14 PC --> AC[activeContext.md]
15 SP --> AC
16 TC --> AC
17
18 AC --> P[progress.md]
19
20### Core Files (Required)
211. `projectbrief.md`
22 - Foundation document that shapes all other files
23 - Created at project start if it doesn't exist
24 - Defines core requirements and goals
25 - Source of truth for project scope
26
272. `productContext.md`
28 - Why this project exists
29 - Problems it solves
30 - How it should work
31 - User experience goals
32
333. `activeContext.md`
34 - Current work focus
35 - Recent changes
36 - Next steps
37 - Active decisions and considerations
38 - Important patterns and preferences
39 - Learnings and project insights
40
414. `systemPatterns.md`
42 - System architecture
43 - Key technical decisions
44 - Design patterns in use
45 - Component relationships
46 - Critical implementation paths
47
485. `techContext.md`
49 - Technologies used
50 - Development setup
51 - Technical constraints
52 - Dependencies
53 - Tool usage patterns
54
556. `progress.md`
56 - What works
57 - What's left to build
58 - Current status
59 - Known issues
60 - Evolution of project decisions
61
62### Additional Context
63Create additional files/folders within memory-bank/ when they help organize:
64- Complex feature documentation
65- Integration specifications
66- API documentation
67- Testing strategies
68- Deployment procedures
69
70## Core Workflows
71
72### Plan Mode
73flowchart TD
74 Start[Start] --> ReadFiles[Read Memory Bank]
75 ReadFiles --> CheckFiles{Files Complete?}
76
77 CheckFiles -->|No| Plan[Create Plan]
78 Plan --> Document[Document in Chat]
79
80 CheckFiles -->|Yes| Verify[Verify Context]
81 Verify --> Strategy[Develop Strategy]
82 Strategy --> Present[Present Approach]
83
84### Act Mode
85flowchart TD
86 Start[Start] --> Context[Check Memory Bank]
87 Context --> Update[Update Documentation]
88 Update --> Execute[Execute Task]
89 Execute --> Document[Document Changes]
90
91## Documentation Updates
92
93Memory Bank updates occur when:
941. Discovering new project patterns
952. After implementing significant changes
963. When user requests with **update memory bank** (MUST review ALL files)
974. When context needs clarification
98
99### MANDATORY Update Workflow
100
101When updating the Memory Bank, I MUST follow this exact sequence:
102
103flowchart TD
104 Start[Update Process]
105
106 subgraph "Step 1: READ ALL FILES (MANDATORY)"
107 R1[Read projectbrief.md]
108 R2[Read productContext.md]
109 R3[Read systemPatterns.md]
110 R4[Read techContext.md]
111 R5[Read activeContext.md]
112 R6[Read progress.md]
113 R7[Read any additional context files]
114
115 R1 --> R2 --> R3 --> R4 --> R5 --> R6 --> R7
116 end
117
118 subgraph "Step 2: UPDATE AS NEEDED"
119 U1[Update files requiring changes]
120 U2[Document rationale for updates]
121 end
122
123 Start --> R1
124 R7 --> U1
125 U1 --> U2
126
127**CRITICAL RULES:**
1281. **I MUST read EVERY core memory bank file** - No exceptions, no skipping
1292. **Read first, update second** - I cannot determine what needs updating without reading everything first
1303. **Explicit file review** - I must use `read_file` on each core file individually to ensure thorough review
1314. **Complete before updating** - All 6 core files must be read before any updates are made
132
133**Required Reading Checklist (Use this EVERY time):**
134- [ ] projectbrief.md - Foundation and scope
135- [ ] productContext.md - Product goals and user experience
136- [ ] systemPatterns.md - Architecture and design patterns
137- [ ] techContext.md - Technologies and setup
138- [ ] activeContext.md - Current work and recent changes
139- [ ] progress.md - Status and what's next
140
141**Why All Files Matter:**
142- `projectbrief.md` - Ensures updates align with core project goals
143- `productContext.md` - Maintains focus on user needs and product vision
144- `systemPatterns.md` - Prevents architectural drift and maintains consistency
145- `techContext.md` - Keeps technical decisions and constraints visible
146- `activeContext.md` - Tracks immediate context and decisions
147- `progress.md` - Records what works, what's left, and current status
148
149**REMEMBER:** After every memory reset, I begin completely fresh. The Memory Bank is my only link to previous work. I cannot know what needs updating without reading ALL files first. Skipping files means losing context and making uninformed updates.
150
@@ −1 +1 @@
1−# CLAUDE.md
1+# Cline's Memory Bank
22
3−This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
3+I am Cline, an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional.
44
5−## Project Overview
5+## Memory Bank Structure
66
7−This is a competitive AI bot development project for the Game of Amazons, designed to run on the Botzone platform. The project focuses on creating high-performance bots using Monte Carlo Tree Search (MCTS) with various optimization techniques.
7+The Memory Bank consists of core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy:
88
9−**Key Technologies**: Python 3.6+, C++11, NumPy
10−**Platform**: Botzone (Ubuntu 16.04 x86-64)
11−**Game**: Amazons (8×8 board, 4 amazons per player, queen movement + arrow shooting)
9+flowchart TD
10+ PB[projectbrief.md] --> PC[productContext.md]
11+ PB --> SP[systemPatterns.md]
12+ PB --> TC[techContext.md]
1213
13−## Development Commands
14+ PC --> AC[activeContext.md]
15+ SP --> AC
16+ TC --> AC
1417
15−### Bot Compilation
16−C++ bots are compiled manually with:
17−```bash
18−g++ -O3 -std=c++11 -o bots/botXXX bots/botXXX.cpp
19−```
18+ AC --> P[progress.md]
2019
21−The tournament system provides a helper function:
22−```bash
23−python -c "from scripts.tournament.utils import compile_bot; compile_bot('bot003')"
24−```
20+### Core Files (Required)
21+1. `projectbrief.md`
22+ - Foundation document that shapes all other files
23+ - Created at project start if it doesn't exist
24+ - Defines core requirements and goals
25+ - Source of truth for project scope
2526
26−### Testing Commands
27−**Quick functionality test** (first move as BLACK):
28−```bash
29−echo "1
30−-1 -1 -1 -1 -1 -1" | python bots/bot001.py
31−# or for C++ bots:
32−echo "1
33−-1 -1 -1 -1 -1 -1" | ./bots/bot001_cpp
34−```
27+2. `productContext.md`
28+ - Why this project exists
29+ - Problems it solves
30+ - How it should work
31+ - User experience goals
3532
36−**Run simple bot tests**:
37−```bash
38−python scripts/test_bot_simple.py
39−```
33+3. `activeContext.md`
34+ - Current work focus
35+ - Recent changes
36+ - Next steps
37+ - Active decisions and considerations
38+ - Important patterns and preferences
39+ - Learnings and project insights
4040
41−**Run Botzone protocol simulation**:
42−```bash
43−python scripts/botzone_simulator.py
44−```
41+4. `systemPatterns.md`
42+ - System architecture
43+ - Key technical decisions
44+ - Design patterns in use
45+ - Component relationships
46+ - Critical implementation paths
4547
46−### Tournament System
47−The tournament framework (`scripts/tournament/`) provides comprehensive testing:
48+5. `techContext.md`
49+ - Technologies used
50+ - Development setup
51+ - Technical constraints
52+ - Dependencies
53+ - Tool usage patterns
4854
49−**Single match**:
50−```bash
51−python -c "from scripts.tournament.cli import run_match; run_match('bot001', 'bot003')"
52−```
55+6. `progress.md`
56+ - What works
57+ - What's left to build
58+ - Current status
59+ - Known issues
60+ - Evolution of project decisions
5361
54−**Competition automation** (10-game series):
55−```bash
56−python scripts/run_competitions.py
57−```
62+### Additional Context
63+Create additional files/folders within memory-bank/ when they help organize:
64+- Complex feature documentation
65+- Integration specifications
66+- API documentation
67+- Testing strategies
68+- Deployment procedures
5869
59−**Check legal moves** (debugging tool):
60−```bash
61−python scripts/check_legal_moves.py
62−```
70+## Core Workflows
6371
64−**Debug board visualization**:
65−```bash
66−python scripts/debug_board.py
67−```
72+### Plan Mode
73+flowchart TD
74+ Start[Start] --> ReadFiles[Read Memory Bank]
75+ ReadFiles --> CheckFiles{Files Complete?}
6876
69−## Architecture Overview
77+ CheckFiles -->|No| Plan[Create Plan]
78+ Plan --> Document[Document in Chat]
7079
71−### Directory Structure
72−- `core/` - Shared game logic (board representation, move generation)
73−- `bots/` - Bot implementations (Python and C++ versions)
74−- `scripts/` - Testing and utility scripts
75−- `docs/` - Comprehensive documentation
76−- `memorybank/` - Project context and technical decisions (Cline system)
77−- `results/` - Tournament results (JSON format)
78−- `logs/` - Match logs and output
80+ CheckFiles -->|Yes| Verify[Verify Context]
81+ Verify --> Strategy[Develop Strategy]
82+ Strategy --> Present[Present Approach]
7983
80−### Bot Architecture
81−The primary algorithm is **Multi-Component MCTS** with these key features:
84+### Act Mode
85+flowchart TD
86+ Start[Start] --> Context[Check Memory Bank]
87+ Context --> Update[Update Documentation]
88+ Update --> Execute[Execute Task]
89+ Execute --> Document[Document Changes]
8290
83−1. **Multi-Component Evaluation**: Five strategic factors combined:
84− - Queen Territory (BFS-based territory control)
85− - King Territory (weighted close-range control)
86− - Queen Position (exponential decay scoring)
87− - King Position (distance-weighted positioning)
88− - Mobility (available moves count)
91+## Documentation Updates
8992
90−2. **Phase-Aware Weighting**: Different strategies for early/mid/late game phases
93+Memory Bank updates occur when:
94+1. Discovering new project patterns
95+2. After implementing significant changes
96+3. When user requests with **update memory bank** (MUST review ALL files)
97+4. When context needs clarification
9198
92−3. **Dynamic UCB Constant**: Exploration decreases as game progresses
99+### MANDATORY Update Workflow
93100
94−4. **Long-Running Mode**: Maintains MCTS tree state between turns for efficiency
101+When updating the Memory Bank, I MUST follow this exact sequence:
95102
96−### Bot Implementations
97−- `bot001.py` / `bot001.cpp` - Primary MCTS implementation (Python and C++ versions)
98−- `bot002.cpp` - Optimized version with bitboard representation (has TLE issues)
99−- `bot003.cpp` - Baseline MCTS bot for comparison
100−- `bot004-bot008.cpp` - Optimization bots with different techniques
101−- `opponent.cpp` - Latest implementation with AVX2 SIMD optimizations
103+flowchart TD
104+ Start[Update Process]
102105
103−## Platform Constraints (Botzone)
106+ subgraph "Step 1: READ ALL FILES (MANDATORY)"
107+ R1[Read projectbrief.md]
108+ R2[Read productContext.md]
109+ R3[Read systemPatterns.md]
110+ R4[Read techContext.md]
111+ R5[Read activeContext.md]
112+ R6[Read progress.md]
113+ R7[Read any additional context files]
104114
105−### Time Limits
106−- **Python long-running bots**: 12s (first turn), 4s (subsequent turns)
107−- **C++ long-running bots**: 2s (first turn), 1s (subsequent turns)
115+ R1 --> R2 --> R3 --> R4 --> R5 --> R6 --> R7
116+ end
108117
109−### Resource Limits
110−- Memory: 256 MB default
111−- CPU: Single core (no multi-threading benefit)
118+ subgraph "Step 2: UPDATE AS NEEDED"
119+ U1[Update files requiring changes]
120+ U2[Document rationale for updates]
121+ end
112122
113−### I/O Protocol
114−- Simplified interaction: Line-based stdin/stdout
115−- Long-running mode: Must flush stdout after each turn
116−- Move format: 6 integers `x0 y0 x1 y1 x2 y2`
123+ Start --> R1
124+ R7 --> U1
125+ U1 --> U2
117126
118−## Development Workflow
127+**CRITICAL RULES:**
128+1. **I MUST read EVERY core memory bank file** - No exceptions, no skipping
129+2. **Read first, update second** - I cannot determine what needs updating without reading everything first
130+3. **Explicit file review** - I must use `read_file` on each core file individually to ensure thorough review
131+4. **Complete before updating** - All 6 core files must be read before any updates are made
119132
120−### Cline Memory Bank System
121−The project uses a Cline memory bank (`memorybank/`) for context:
122−- `projectbrief.md` - Project overview and objectives
123−- `systemPatterns.md` - Architecture and design decisions
124−- `techContext.md` - Technologies and constraints
125−- `activeContext.md` - Current state and next steps
126−- `progress.md` - Development progress and milestones
133+**Required Reading Checklist (Use this EVERY time):**
134+- [ ] projectbrief.md - Foundation and scope
135+- [ ] productContext.md - Product goals and user experience
136+- [ ] systemPatterns.md - Architecture and design patterns
137+- [ ] techContext.md - Technologies and setup
138+- [ ] activeContext.md - Current work and recent changes
139+- [ ] progress.md - Status and what's next
127140
128−### Development Rules (`.clinerules/`)
129−- `development_workflow.md` - Development processes
130−- `task_completion.md` - Mandatory sequential workflow for task completion
131−- `memory_bank_update.md` - How to update memory bank files
132−- `readme_update.md` - README update procedures
141+**Why All Files Matter:**
142+- `projectbrief.md` - Ensures updates align with core project goals
143+- `productContext.md` - Maintains focus on user needs and product vision
144+- `systemPatterns.md` - Prevents architectural drift and maintains consistency
145+- `techContext.md` - Keeps technical decisions and constraints visible
146+- `activeContext.md` - Tracks immediate context and decisions
147+- `progress.md` - Records what works, what's left, and current status
133148
134−### Key Development Patterns
135−1. **Always test sequentially** - Run tests in order: simple test → protocol simulation → tournament
136−2. **Update memory bank first** - Review and update memory bank files before making changes
137−3. **Check Botzone compatibility** - Ensure bots work within platform constraints
138−4. **Use tournament framework** - For comprehensive testing and performance comparison
149+**REMEMBER:** After every memory reset, I begin completely fresh. The Memory Bank is my only link to previous work. I cannot know what needs updating without reading ALL files first. Skipping files means losing context and making uninformed updates.
139150
140−## Common Tasks
141−
142−### Creating a New Bot
143−1. Copy an existing bot (e.g., `bot003.cpp`) as a starting point
144−2. Implement optimization technique
145−3. Compile: `g++ -O3 -std=c++11 -o bots/botXXX bots/botXXX.cpp`
146−4. Test with simple test script
147−5. Run competition against baseline (`bot003`)
148−6. Analyze results in `results/competitions/`
149−
150−### Debugging TLE (Time Limit Exceeded) Issues
151−1. Check time limits in bot code (conservative buffers required)
152−2. Use tournament system to measure actual execution times
153−3. Profile with `scripts/check_legal_moves.py` for move generation issues
154−4. Review Botzone logs for specific timing patterns
155−
156−### Testing Botzone Compatibility
157−1. Use `botzone_simulator.py` to simulate platform I/O
158−2. Verify long-running mode works correctly
159−3. Check memory usage stays under 256 MB
160−4. Ensure move format matches Botzone expectations
161−
162−## Important Notes
163−
164−- **No automated build system** - Bots are compiled manually
165−- **NumPy dependency** - Required for Python bots, not for C++ bots
166−- **Tree reuse** - MCTS trees are preserved between turns in long-running mode
167−- **Bitboard representation** - Used in optimized bots for faster operations
168−- **AVX2 optimizations** - Latest addition in `opponent.cpp` for SIMD parallelism
169−
170−## Getting Started
171−1. Read `README.md` for comprehensive project overview
172−2. Check `memorybank/` for current project context
173−3. Use tournament framework for testing: `scripts/tournament/`
174−4. Follow Cline workflows in `.clinerules/` for development tasks
