Skip to content

Phase 7: Service facade migration — приведение сервисов к Protocol-контрактам #641

@ShaerWare

Description

@ShaerWare

Parent

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

Зависит от

Цель

Привести реальные сервисы к идеальным Protocol-контрактам, определённым в Phase 6. Каждый сервис получает единый фасад с типизированными возвратами (TypedDict).

Это последняя миграционная фаза плана #489 — после неё модульная декомпозиция завершена.

Sub-issues

Sub-issue Сервис Сложность Что нужно
#642 AuthService (Phase 7.1) Средняя Обернуть auth_manager.py в класс, обновить ~50 call sites
#643 KnowledgeService (Phase 7.2) Высокая Объединить wiki_rag_service + knowledge/service.py
#644 LLMService (Phase 7.3) Высокая Извлечь generate/stream из orchestrator.py (зависит от 7.2)
#645 ChatService (Phase 7.4) Высокая Объединить chat CRUD + LLM-генерацию (зависит от 7.3)

Порядок выполнения

Phase 7.1 (AuthService) ────── можно параллельно с 7.2 ──────┐
Phase 7.2 (KnowledgeService) ────────────────────────────────┤
         │                                                    │
Phase 7.3 (LLMService) ── зависит от 7.2 ───────────────────┤
         │                                                    │
Phase 7.4 (ChatService) ── зависит от 7.3 ───────────────────┘

Принципы

  • Каждый sub-issue — отдельный PR
  • Strangler Fig: новый фасад рядом со старым, постепенная миграция call sites
  • TypedDict в возвратах (обратно совместим с dict)
  • Старые синглтоны остаются как алиасы до полной миграции
  • Тесты + CI зелёный на каждом PR

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

Оценка: XL (4 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