Files
igny8/AI_FILES_ANALYSIS.md
2025-11-11 18:35:40 +05:00

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
  • 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.pyregistry.pyengine.pybase.py (function classes)
  • engine.pyai_core.pyconstants.py
  • engine.pytracker.pyconstants.py
  • engine.pysettings.pyconstants.py
  • engine.pymodels.py (AITaskLog)
  • function classesprompts.py, validators.py
  • apps.pyadmin.pymodels.py