Skip to content

Phase 8.2: Декларативная модульная загрузка по DEPLOYMENT_MODE #669

@ShaerWare

Description

@ShaerWare

Parent

Часть плана модульной декомпозиции: #489

Контекст

Фаза 4e из оригинального плана #489 предполагала декларативную загрузку модулей:

MODULES = {
    "full":  [..., speech, telephony],
    "cloud": [...],  # speech и telephony не загружаются
}

Сейчас в orchestrator.py используется условная регистрация:

if DEPLOYMENT_MODE != "cloud":
    app.include_router(...)  # GPU/hardware роутеры

Аналогично в startup-функциях (init_tts_services, init_gsm_services и т.д.) проверяется DEPLOYMENT_MODE строкой.

Что нужно

  1. Создать декларативный реестр модулей с маппингом DEPLOYMENT_MODE → набор модулей
  2. Каждый домен экспортирует свою конфигурацию (роутеры + startup + shutdown)
  3. orchestrator.py итерирует по реестру, а не хардкодит include_router + условия
  4. Это должно ужать orchestrator.py (текущие 355 строк → ближе к цели 100-150)

Критерии готовности

  • Декларативный реестр модулей (dict или list)
  • orchestrator.py регистрирует роутеры через итерацию по реестру
  • cloud mode корректно исключает GPU/hardware модули
  • Все endpoints работают в обоих режимах
  • orchestrator.py ≤ 200 строк
  • CI зелёный

Зависимости

Нет.

Оценка: M (1-2 PR)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low priority / Backlogphase:5-techdebtPhase 5: Technical DebtrefactoringArchitectural refactoring

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions