Files
ThordekkCore/.claude/EXTENSIVE_VERIFICATION_AUDIT_2025-11-28.md
T
2026-01-20 21:24:33 -03:00

9.1 KiB

Extensive Verification Audit Report

Date: 2025-11-28

This report documents ALL remaining TODOs, stubs, placeholders, and incomplete implementations in the Playerbot module after remediation efforts.


Summary Statistics

Category Count Notes
TODO comments in .cpp files 37 Across 20 files (excluding deps/)
TODO comments in .h files 75 Mostly in deps/ (tbb, phmap)
Placeholder patterns 34 Across 20 files
Stub patterns 28 Across 17 files
"For now" patterns 20+ Design decisions, not incomplete code

CRITICAL Priority (Blocking Functionality)

None Found

All CRITICAL issues from the previous audit have been resolved.


HIGH Priority (Functional Gaps)

1. EnhancedBotAI.cpp - Looting Logic Not Implemented

File: AI/EnhancedBotAI.cpp:756

// TODO: Implement looting logic
return false;

Impact: Bots cannot loot corpses Recommendation: Implement using TrinityCore's Loot APIs

2. BotLifecycleManager.cpp - BotAI Accessor Missing

File: Lifecycle/BotLifecycleManager.cpp:411

return nullptr; // TODO: Implement when BotAI accessor is available on Player

Impact: Cannot retrieve BotAI from Player pointer Recommendation: Add accessor method to Player or use session-based lookup

3. RaidOrchestrator.cpp - GroupCoordinator Redesign Needed

Files: AI/Coordination/RaidOrchestrator.cpp:68,75,102,264

// TODO: Redesign - GroupCoordinator is now per-bot, not per-group

Impact: Raid coordination may not function correctly Recommendation: Redesign to work with per-bot GroupCoordinator pattern

4. RoleCoordinator.cpp - BotSession Method Missing

File: AI/Coordination/RoleCoordinator.cpp:78

// TODO: BotSession::GetBotAI() method needs implementation

Impact: Role coordination cannot access bot AI Recommendation: Add GetBotAI() to BotSession class


MEDIUM Priority (Partial Implementations)

5. TargetManager.cpp - Multiple TODOs

File: AI/Combat/TargetManager.cpp

  • Line 215: // TODO: Detect tank role properly
  • Line 266: info.damageDealt = 0.0f; // TODO: Get from metrics
  • Line 267: info.timeSinceLastSwitch = 0; // TODO: Track switch history
  • Line 322: // TODO: Check spec for healer role
  • Line 330: // TODO: Implement NPC healer detection
  • Line 392: // TODO: Implement damage tracking from combat metrics Impact: Target prioritization may not be optimal Recommendation: Integrate with spec detection and combat metrics

6. DefensiveManager.cpp - Role-Based Thresholds

File: AI/Combat/DefensiveManager.cpp

  • Line 149: // TODO: Adjust based on role (tank = 80%, healer = 70%, DPS = 50%)
  • Line 288: // TODO: Implement comprehensive defensive aura detection
  • Line 304: // TODO: Implement damage tracking from combat metrics Impact: Defensive abilities may trigger incorrectly Recommendation: Add role-based defensive thresholds

7. UnifiedMovementCoordinator.cpp - Multiple PositionManager TODOs

File: Movement/UnifiedMovementCoordinator.cpp

  • Line 498: // TODO: Implement ResetStatistics in PathfindingAdapter
  • Line 1372: // TODO: Implement IsWalkable in PositionManager
  • Line 1394: // TODO: Fix parameter type mismatch - PositionManager expects ThreatRole
  • Line 1421: // TODO: Implement SetWeights in PositionManager
  • Line 1427: // TODO: Implement GetWeights in PositionManager
  • Line 1444: // TODO: Implement GetMetrics in PositionManager
  • Line 1451: // TODO: Implement ResetMetrics in PositionManager Impact: Advanced positioning features unavailable Recommendation: Implement PositionManager API methods

8. CrowdControlManager.cpp - CC Spell Detection

File: AI/Combat/CrowdControlManager.cpp

  • Line 206: // TODO: Check if member has CC available
  • Line 362: // TODO: Implement class-specific CC spell detection Impact: CC coordination may miss abilities Recommendation: Create CC spell database per class

9. AdaptiveBehaviorManager.cpp - DecisionFusionSystem Integration

File: AI/Combat/AdaptiveBehaviorManager.cpp:1199-1200

// TODO: DecisionVote and DecisionSource not fully defined (only forward-declared)
// TODO: Implement when DecisionFusionSystem.h provides full definitions

Impact: Advanced decision fusion unavailable Recommendation: Complete DecisionFusionSystem implementation

10. EnhancedBotAI.cpp - Snapshot Conversion

File: AI/EnhancedBotAI.cpp:470,511

// TODO: Implement safe conversion from snapshot to Player*

Impact: Group member iteration may miss some logic Recommendation: Add safe conversion with validation


LOW Priority (Enhancements)

11. BotAI.cpp - Social Interactions

File: AI/BotAI.cpp:921

// TODO: Add social interactions (chat, emotes) when implemented

12. ThreatAssistant.cpp - Enhancements

File: AI/Services/ThreatAssistant.cpp:347,377

  • Add more sophisticated danger assessment
  • Integrate with proper role detection system

13. UtilityContextBuilder.h - Manager Integrations

File: AI/Utility/UtilityContextBuilder.h:103,203

  • Integrate with ThreatManager when available
  • Integrate with CombatStateManager to track combat start time

14. CombatEvaluators.h - Debuff Detection

File: AI/Utility/Evaluators/CombatEvaluators.h:233

// TODO: Implement debuff detection via blackboard

15. ClassAI.cpp - CooldownManager API

File: AI/ClassAI/ClassAI.cpp:916

// TODO: CooldownManager::StartCooldown doesn't exist, use Trigger() if cooldown is pre-registered

16. DruidAI.cpp - Spec-Specific Buffs

File: AI/ClassAI/Druids/DruidAI.cpp:1262

// TODO: Add spec-specific buff logic here if needed

17. PaladinAI.cpp - Tank Detection

File: AI/ClassAI/Paladins/PaladinAI.cpp:1049

// TODO: Check if member is tank

PHASE 6 Deferred Items (By Design)

18. PlayerbotEventScripts.cpp - AuctionHouse Scripts

File: scripts/PlayerbotEventScripts.cpp:54,986,1070

// TODO Phase 6: Re-enable when AuctionHouseScript hooks are available in TrinityCore

Status: Waiting on TrinityCore upstream support

19. PlayerbotEventScripts.cpp - PvP/Creature Kill Tracking

File: scripts/PlayerbotEventScripts.cpp:148,156

// TODO Phase 6: Implement PvP kill tracking
// TODO Phase 6: Implement creature kill tracking

Status: Deferred to Phase 6 development


Dependencies (Third-Party Libraries)

The following TODOs/FIXMEs are in third-party dependencies and should NOT be modified:

Library Files Count
TBB (Threading Building Blocks) deps/tbb/* ~50+
PHMAP (Parallel Hashmap) deps/phmap/* ~20+

These are upstream library issues and will be resolved by library updates.


Test Files (Acceptable)

The following TODOs in test files are acceptable as they track test improvements:

  • Tests/ComprehensiveIntegrationTest.cpp - GroupCoordinator test updates
  • Tests/Phase3/Unit/Specializations/*Test.cpp - Mock improvements

Placeholder Patterns (Design Decisions)

Many "placeholder" patterns are actually intentional design patterns:

  1. Base class virtual methods - Return default values by design
  2. Template specializations - Provide base implementations
  3. Configuration defaults - Use placeholder values until configured
  4. Timestamp placeholders - Use current time when actual time unknown

These are NOT incomplete implementations.


"For Now" Patterns (Acceptable)

Many "For now" comments are design decisions, not incomplete code:

  1. BotAccountMgr.cpp - Uses legacyAccountId (acceptable approach)
  2. GroupCoordinator.cpp - Each bot creates own instance (by design)
  3. TacticalCoordinator.cpp - Keep targets on combat end (intentional)
  4. BankingManager.cpp - Simpler creature iteration approach (functional)

Recommendations

Immediate Action Required (HIGH):

  1. Implement EnhancedBotAI::LootNearbyCorpses() - blocks looting
  2. Implement BotSession::GetBotAI() method - blocks role coordination
  3. Redesign RaidOrchestrator for per-bot GroupCoordinator pattern

Short-Term (MEDIUM):

  1. Complete TargetManager role detection integration
  2. Implement DefensiveManager role-based thresholds
  3. Complete PositionManager API methods in UnifiedMovementCoordinator
  4. Add class-specific CC spell detection

Long-Term (LOW):

  1. Add social interactions (chat, emotes)
  2. Enhance ThreatAssistant danger assessment
  3. Complete DecisionFusionSystem

Deferred (PHASE 6):

  1. AuctionHouse script integration (pending TrinityCore support)
  2. PvP/Creature kill tracking

Conclusion

The codebase is in good shape after the remediation efforts. The remaining TODOs fall into these categories:

  1. ~5 HIGH priority items that affect core functionality
  2. ~15 MEDIUM priority items that are partial implementations
  3. ~10 LOW priority items that are enhancements
  4. ~5 PHASE 6 items intentionally deferred
  5. ~70+ items in deps/ that are third-party library issues

The HIGH priority items should be addressed in the next development cycle.