# AI Folder Files Analysis ## Which Files Are Actually Needed for 3 Active Functions ### ✅ **REQUIRED FILES** (All needed for active functions) #### 1. **tasks.py** - ✅ REQUIRED - **Purpose:** Unified Celery task entrypoint - **Used by:** All views (planner/views.py, writer/views.py) - **Dependencies:** engine.py, registry.py - **Status:** KEEP #### 2. **engine.py** - ✅ REQUIRED - **Purpose:** Central orchestrator for all AI functions - **Used by:** tasks.py - **Dependencies:** base.py, tracker.py, ai_core.py, settings.py, models.py - **Status:** KEEP #### 3. **base.py** - ✅ REQUIRED - **Purpose:** Abstract base class for all AI functions - **Used by:** All function classes (AutoClusterFunction, GenerateIdeasFunction, GenerateContentFunction) - **Dependencies:** None - **Status:** KEEP #### 4. **registry.py** - ✅ REQUIRED - **Purpose:** Function registry with lazy loading - **Used by:** tasks.py - **Dependencies:** base.py, function modules - **Status:** KEEP #### 5. **ai_core.py** - ✅ REQUIRED - **Purpose:** Centralized AI request handler - **Used by:** engine.py, all function classes - **Dependencies:** constants.py, tracker.py - **Status:** KEEP #### 6. **prompts.py** - ✅ REQUIRED - **Purpose:** Centralized prompt management - **Used by:** All function classes (build_prompt methods) - **Dependencies:** None - **Status:** KEEP #### 7. **settings.py** - ✅ REQUIRED - **Purpose:** Model configurations per function - **Used by:** engine.py - **Dependencies:** constants.py (via ai_processor import) - **Status:** KEEP #### 8. **validators.py** - ✅ REQUIRED - **Purpose:** Validation functions - **Used by:** All function classes (validate methods) - **Dependencies:** constants.py, models - **Status:** KEEP #### 9. **tracker.py** - ✅ REQUIRED - **Purpose:** Progress tracking utilities - **Used by:** engine.py, ai_core.py - **Dependencies:** types.py (imported but NOT USED), constants.py - **Status:** KEEP (but can remove types.py import) #### 10. **constants.py** - ✅ REQUIRED - **Purpose:** AI constants (model rates, valid models) - **Used by:** ai_core.py, settings.py, validators.py - **Dependencies:** None - **Status:** KEEP #### 11. **models.py** - ✅ REQUIRED - **Purpose:** AITaskLog database model - **Used by:** engine.py (for logging), admin.py - **Dependencies:** AccountBaseModel - **Status:** KEEP #### 12. **apps.py** - ✅ REQUIRED - **Purpose:** Django app configuration - **Used by:** Django (app registration) - **Dependencies:** admin.py - **Status:** KEEP #### 13. **admin.py** - ✅ REQUIRED (Optional but recommended) - **Purpose:** Django admin interface for AITaskLog - **Used by:** apps.py (auto-imported) - **Dependencies:** models.py - **Status:** KEEP (useful for debugging/admin) --- ### ❌ **UNUSED FILES** (Can be removed) #### 1. **types.py** - ❌ NOT USED - **Purpose:** Type definitions (StepLog, ProgressState, AITaskResult dataclasses) - **Used by:** tracker.py (imported but never instantiated) - **Actual usage:** None - tracker.py uses plain Dict types instead - **Status:** **SAFE TO REMOVE** - **Action:** Remove file and remove import from tracker.py --- ## Summary ### Files to KEEP (13 files): 1. ✅ tasks.py 2. ✅ engine.py 3. ✅ base.py 4. ✅ registry.py 5. ✅ ai_core.py 6. ✅ prompts.py 7. ✅ settings.py 8. ✅ validators.py 9. ✅ tracker.py 10. ✅ constants.py 11. ✅ models.py 12. ✅ apps.py 13. ✅ admin.py ### Files to REMOVE (1 file): 1. ❌ **types.py** - Imported but never used --- ## Action Items 1. **Remove types.py** - File is not used 2. **Remove import from tracker.py** - Remove `from igny8_core.ai.types import StepLog, ProgressState` (line 8) --- ## Verification All other files are actively used in the execution flow: - **tasks.py** → **registry.py** → **engine.py** → **base.py** (function classes) - **engine.py** → **ai_core.py** → **constants.py** - **engine.py** → **tracker.py** → **constants.py** - **engine.py** → **settings.py** → **constants.py** - **engine.py** → **models.py** (AITaskLog) - **function classes** → **prompts.py**, **validators.py** - **apps.py** → **admin.py** → **models.py** 1