137 lines
4.1 KiB
Markdown
137 lines
4.1 KiB
Markdown
# 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**
|
|
|