Files
ThordekkCore/PHASE_2_7_CLEANUP_PLAN.md
T

338 lines
9.5 KiB
Markdown
Raw Normal View History

2026-01-20 21:33:16 -03:00
# PHASE 2.7: CLEANUP & CONSOLIDATION PLAN
## Project Context
**Project**: TrinityCore PlayerBot Module - Phase 2 Refactoring
**Branch**: playerbot-dev
**Date**: 2025-10-06
**Status**: Phase 2.1-2.6 Complete, Phase 2.7 In Progress
## Completion Status
- Phase 2.1: BehaviorManager (COMPLETE)
- Phase 2.4: 4 Managers Refactored (COMPLETE)
- Phase 2.5: IdleStrategy Observer Pattern (COMPLETE)
- Phase 2.6: 53 Integration Tests (COMPLETE)
## Objective
Remove all temporary debug logging, debug counters, and temporary documentation files to prepare the codebase for production deployment following CLAUDE.md quality requirements.
## CLAUDE.md Compliance
- ✅ NO SHORTCUTS - Review every file completely
- ✅ COMPLETE CLEANUP - Remove all debug artifacts
- ✅ MAINTAIN QUALITY - Preserve important operational logging
- ✅ MODULE-ONLY - Only touch src/modules/Playerbot/ files
- ✅ TEST AFTER CLEANUP - Verify compilation
## Codebase Analysis
### Total Files: 614 C++ files in src/modules/Playerbot/
### Total TODO Comments: 309 occurrences across 46 files
### Comment Lines: 26,021 occurrences (includes copyright headers)
---
## CATEGORY 1: Excessive Debug Logging
### Files with TC_LOG_ERROR Debug Abuse
#### 1.1 HIGH PRIORITY - Remove Debug Logging
**File**: `src/modules/Playerbot/AI/Strategy/IdleStrategy.cpp`
- **Lines**: 74-79, 94-98
- **Issue**: Using TC_LOG_ERROR for normal debug tracing with static counter
- **Action**: Remove debug counter and convert to TC_LOG_DEBUG
- **Before**:
```cpp
static uint32 debugCounter = 0;
if (++debugCounter % 50 == 0)
{
TC_LOG_ERROR("module.playerbot", "🔎 IdleStrategy::IsActive() for bot {} - _active={}, hasGroup={}, result={}",
ai->GetBot()->GetName(), active, hasGroup, result);
}
```
- **After**:
```cpp
// Remove entirely - normal operation, not an error
```
**File**: `src/modules/Playerbot/scripts/PlayerbotWorldScript.cpp`
- **Lines**: 24-27, 34-60, 63, 66
- **Issue**: "=== DEBUG:" logging throughout with TC_LOG_ERROR
- **Action**: Remove all "=== DEBUG:" logging and debugCounter
- **Count**: ~20 debug log statements to remove
**File**: `src/modules/Playerbot/Account/BotAccountMgr.cpp`
- **Lines**: 231, 727, 736, 748, 798, 825-826, 832
- **Issue**: "=== CLAUDE DEBUG:" logging for email generation
- **Action**: Remove all CLAUDE DEBUG logging
- **Count**: 8 debug log statements to remove
**File**: `src/modules/Playerbot/Group/GroupInvitationHandler.cpp`
- **Lines**: 795, 798, 802, 806, 814-817
- **Issue**: "FOLLOW FIX DEBUG PATH2:" logging
- **Action**: Remove debug path logging, keep normal operational logs
- **Count**: 7 debug log statements to remove
**File**: `src/modules/Playerbot/Movement/LeaderFollowBehavior.cpp`
- **Lines**: 179-180, 239-243, 313-318
- **Issue**: Emoji-heavy debug logging with TC_LOG_ERROR
- **Action**: Convert to TC_LOG_DEBUG, remove emojis, reduce frequency
- **Count**: ~10 debug log statements to clean
**File**: `src/modules/Playerbot/PlayerbotModule.cpp`
- **Lines**: 33, 152, 156, 159, 247-252
- **Issue**: "=== CLAUDE DEBUG:" logging
- **Action**: Remove CLAUDE DEBUG logs, keep important initialization logs
- **Count**: 6 debug log statements to remove
#### 1.2 Logging Guidelines
**KEEP**:
- TC_LOG_INFO for important operational events (startup, shutdown, major state changes)
- TC_LOG_DEBUG for actual debugging (controlled by log level)
- TC_LOG_WARN for recoverable issues
- TC_LOG_ERROR for actual errors that require attention
**REMOVE**:
- TC_LOG_ERROR used for normal debug tracing
- Emoji-heavy logging (🔎, ===, 🎬, etc.)
- "DEBUG:", "CLAUDE DEBUG:", "EXECUTION MARKER:", etc.
- Static counter variables used only for debug frequency control
---
## CATEGORY 2: Debug Counter Variables
### Files with Debug Counters to Remove
| File | Variable | Lines | Purpose |
|------|----------|-------|---------|
| BotAI.cpp | entryCounter | Various | Debug trace counter |
| BotAI.cpp | activeStrategiesDebugCounter | Various | Strategy debug counter |
| BotAI.cpp | debugStrategyCounter | Various | Strategy debug counter |
| IdleStrategy.cpp | debugCounter | 75, 94 | IsActive() frequency control |
| BotSpawner.cpp | updateCounter | Various | Update frequency logging |
| LeaderFollowBehavior.cpp | behaviorCounter | 313 | UpdateFollowBehavior frequency |
| PlayerbotWorldScript.cpp | debugCounter | 34 | OnUpdate debug counter |
| PlayerbotWorldScript.cpp | logCounter | 74 | Periodic logging counter |
| BotSession.cpp | debugUpdateCounter | Various | Session update counter |
| PlayerbotModuleAdapter.cpp | logCounter | Various | Module log counter |
**Total Debug Counters**: ~10 variables across 7 files
**Action**: Remove all static debug counter variables and their associated logging
---
## CATEGORY 3: Temporary Documentation Files
### Files to DELETE
```
AI_UPDATE_DEBUG_PATCH.txt
AI_UPDATE_ROOT_CAUSE_FOUND.md
CONFIG_FIX_VERIFICATION.md
HANDOVER.md (if temporary - verify first)
nul (empty file artifact)
```
**Total**: 4-5 temporary files
### Files to KEEP
```
PHASE_2_1_COMPLETE.md
PHASE_2_2_COMPLETE.md
PHASE_2_3_COMPLETE.md
PHASE_2_4_COMPLETE.md
PHASE_2_5_COMPLETE.md
PHASE_2_6_INTEGRATION_TESTS_COMPLETE.md
PHASE_2_7_CLEANUP.md (planning docs)
PHASE_2_8_DOCUMENTATION.md
PLAYERBOT_REFACTORING_MASTER_PLAN.md
PLAYERBOT_ARCHITECTURE.md
PLAYERBOT_USER_GUIDE.md
... (all substantive documentation)
```
---
## CATEGORY 4: TODO Comments Analysis
### TODO Distribution (309 occurrences across 46 files)
**High Priority TODOs** (Legitimate future work):
- DemonHunter Specialization files: 53 TODOs each (106 total)
- InteractionManager files: 26 TODOs each (78 total)
- Various game systems: ~125 remaining
**Action Strategy**:
1. **KEEP** all legitimate TODOs for future features
2. **REMOVE** Phase 2 placeholder TODOs like:
- "TODO: Implement proper wandering" (if already done)
- "TODO: Add idle actions" (if already added)
- "TODO: Fix this debug code" (cleanup artifacts)
**No mass TODO removal** - Each TODO should be evaluated individually in future cleanup passes
---
## CATEGORY 5: Commented Code
### Commented Code Strategy
**DO NOT** perform automated commented code removal in this phase.
**Future Manual Review Needed**:
- Large blocks of commented implementation code
- Old algorithm alternatives
- Debug code sections
**KEEP**:
- Copyright headers (standard practice)
- Explanatory comments (documentation)
- Intentionally disabled features with explanation
---
## CLEANUP EXECUTION PLAN
### Phase 1: High-Priority Debug Log Removal (This Phase)
**Files**:
1. `src/modules/Playerbot/AI/Strategy/IdleStrategy.cpp`
2. `src/modules/Playerbot/scripts/PlayerbotWorldScript.cpp`
3. `src/modules/Playerbot/Account/BotAccountMgr.cpp`
4. `src/modules/Playerbot/Group/GroupInvitationHandler.cpp`
5. `src/modules/Playerbot/Movement/LeaderFollowBehavior.cpp`
6. `src/modules/Playerbot/PlayerbotModule.cpp`
**Expected Impact**:
- ~60 debug log statements removed
- ~10 debug counter variables removed
- ~200 lines of code removed
- Cleaner logs in production
### Phase 2: Temporary Documentation Deletion
**Files**:
- Delete: AI_UPDATE_DEBUG_PATCH.txt
- Delete: AI_UPDATE_ROOT_CAUSE_FOUND.md
- Delete: CONFIG_FIX_VERIFICATION.md
- Delete: nul
- Verify HANDOVER.md (delete if temporary)
### Phase 3: Compilation Verification
**Steps**:
1. Build with CMake
2. Verify no compilation errors
3. Run integration tests from Phase 2.6
4. Verify runtime behavior unchanged
---
## SUCCESS CRITERIA
### Quantitative Metrics
- [ ] Debug log statements removed: 60+
- [ ] Debug counter variables removed: 10
- [ ] Temporary files deleted: 4-5
- [ ] Lines of code removed: 200+
- [ ] Compilation: SUCCESS
- [ ] Tests passing: 53/53 integration tests
### Qualitative Metrics
- [ ] No TC_LOG_ERROR for normal operations
- [ ] All remaining logs have clear purpose
- [ ] No debug counter variables
- [ ] Clean log output in production
- [ ] Documentation is substantive only
---
## RISK ASSESSMENT
### Low Risk Changes
- Removing debug log statements (no functional impact)
- Removing debug counter variables (only used for logging)
- Deleting temporary documentation files
### Testing Required
- Compile verification
- Integration test pass
- Runtime log verification
### Rollback Plan
- Git commit before cleanup
- Can revert if issues found
---
## NEXT STEPS
### Immediate (This Phase)
1. Clean up 6 high-priority files
2. Remove debug logging
3. Delete temporary documentation
4. Verify compilation
5. Create PHASE_2_7_COMPLETE.md
### Future Cleanup Phases
1. Review remaining TODO comments (309 occurrences)
2. Remove commented code blocks (manual review)
3. Consolidate remaining debug counters
4. Final production-ready polish
---
## IMPLEMENTATION NOTES
### Logging Conversion Examples
**Before** (Debug abuse):
```cpp
TC_LOG_ERROR("module.playerbot", "=== DEBUG: Some trace message ===");
```
**After** (Proper level):
```cpp
TC_LOG_DEBUG("module.playerbot", "Some trace message");
```
**Before** (Emoji abuse):
```cpp
TC_LOG_ERROR("module.playerbot", "🔎🎬✅ Bot {} state={}", name, state);
```
**After** (Professional):
```cpp
TC_LOG_DEBUG("module.playerbot", "Bot {} state={}", name, state);
```
### Counter Removal Example
**Before**:
```cpp
static uint32 debugCounter = 0;
if (++debugCounter % 100 == 0)
{
TC_LOG_ERROR("module.playerbot", "Debug trace #{}", debugCounter);
}
```
**After**:
```cpp
// Remove entirely, or convert to proper debug logging if needed
TC_LOG_TRACE("module.playerbot", "Trace information");
```
---
## DOCUMENT STATUS
- **Version**: 1.0
- **Status**: Planning Complete
- **Next**: Execute Phase 1 cleanup
- **Author**: Claude (Code Review AI)
- **Date**: 2025-10-06