-
Notifications
You must be signed in to change notification settings - Fork 5
Open
0 / 40 of 4 issues completedOpen
0 / 40 of 4 issues completed
Copy link
Labels
P3Low priority / BacklogLow priority / Backlogphase:5-techdebtPhase 5: Technical DebtPhase 5: Technical DebtrefactoringArchitectural refactoringArchitectural refactoring
Description
Parent
Часть плана модульной декомпозиции: #489
Зависит от
- Фаза 6: Protocol interfaces — типизация контрактов между модулями #496 (Phase 6 — Protocol interfaces определены)
Цель
Привести реальные сервисы к идеальным 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
Критерии готовности
- AuthService (Phase 7.1: AuthService facade — обернуть auth_manager.py в класс #642) — auth_manager.py обёрнут в класс
- KnowledgeService (Phase 7.2: KnowledgeService facade — объединить wiki_rag_service + knowledge/service.py #643) — unified search + collections + FAQ
- LLMService (Phase 7.3: LLMService facade — извлечь generate/stream из оркестратора #644) — generate/stream извлечены из оркестратора
- ChatService (Phase 7.4: ChatService facade — объединить chat CRUD + LLM-генерацию #645) — CRUD + generation в одном фасаде
- Все 4 сервиса соответствуют своим Protocol-ам
- Возвраты типизированы через TypedDict
- CI зелёный
Оценка: XL (4 PR)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P3Low priority / BacklogLow priority / Backlogphase:5-techdebtPhase 5: Technical DebtPhase 5: Technical DebtrefactoringArchitectural refactoringArchitectural refactoring