4.1 KiB
4.1 KiB
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):
- ✅ tasks.py
- ✅ engine.py
- ✅ base.py
- ✅ registry.py
- ✅ ai_core.py
- ✅ prompts.py
- ✅ settings.py
- ✅ validators.py
- ✅ tracker.py
- ✅ constants.py
- ✅ models.py
- ✅ apps.py
- ✅ admin.py
Files to REMOVE (1 file):
- ❌ types.py - Imported but never used
Action Items
- Remove types.py - File is not used
- 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