# NO SIMULATION CODE POLICY ## CRITICAL RULE: NEVER CREATE SIMULATION CODE **Date:** 2025-10-23 **Status:** PERMANENT POLICY ## What Was Removed We deleted `ANNOTATE/core/training_simulator.py` which contained simulation/mock training code. ## Why This Is Critical 1. **Real Training Only**: We have REAL training implementations in: - `NN/training/enhanced_realtime_training.py` - Real-time training system - `NN/training/model_manager.py` - Model checkpoint management - `core/unified_training_manager.py` - Unified training orchestration - `core/orchestrator.py` - Core model training methods 2. **No Shortcuts**: Simulation code creates technical debt and masks real issues 3. **Production Quality**: All code must be production-ready, not simulated ## What To Use Instead ### For Model Training Use the real training implementations: ```python # Use EnhancedRealtimeTrainingSystem for real-time training from NN.training.enhanced_realtime_training import EnhancedRealtimeTrainingSystem # Use UnifiedTrainingManager for coordinated training from core.unified_training_manager import UnifiedTrainingManager # Use orchestrator's built-in training methods orchestrator.train_models() ``` ### For Model Management ```python # Use ModelManager for checkpoint management from NN.training.model_manager import ModelManager # Use CheckpointManager for saving/loading from utils.checkpoint_manager import get_checkpoint_manager ``` ## If You Need Training Features 1. **Extend existing real implementations** - Don't create new simulation code 2. **Add to orchestrator** - Put training logic in the orchestrator 3. **Use UnifiedTrainingManager** - For coordinated multi-model training 4. **Integrate with EnhancedRealtimeTrainingSystem** - For online learning ## NEVER DO THIS Create files with "simulator", "simulation", "mock", "fake" in the name Use placeholder/dummy training loops Return fake metrics or results Skip actual model training ## ALWAYS DO THIS Use real model training methods Integrate with existing training systems Save real checkpoints Track real metrics Handle real data --- **Remember**: If data is unavailable, return None/empty/error - NEVER simulate it!