- All 7 tasks archived (T1-T7 in .agent/archive/tasks/) - All 7 requests approved and moved to .agent/archive/requests/ - .agent/archive/index.json created - .agent/context/project-state.md updated (post-refactor snapshot) - .agent/handoff-summary.md (full summary for next agent) - .agent/session-summary.md (phase-level summary) - .agent/roadmap/sources.md (updated priorities) - .agent/checkpoints.json: handoff=completed All 8 phases completed: INIT, ANALYSE, ROADMAP, DECOMPOSITION, EXECUTION, METASTATE, HANDOFF (DESIGN skipped for existing project).
31 lines
1.7 KiB
JSON
31 lines
1.7 KiB
JSON
{
|
||
"request_id": "req-T5",
|
||
"task_id": "T5",
|
||
"title": "Dependency Injection — services через composition root",
|
||
"status": "ready_for_review",
|
||
"goal": "Убрать создание сервисов внутри других сервисов, инжектировать зависимости",
|
||
"changes": {
|
||
"summary": "AssistantService теперь принимает ForecastService через __init__ (раньше создавал new ForecastService() внутри analyze/advice). В infrastructure/cli/main.py добавлен _build_services() — composition root, собирающий граф зависимостей: CurrencyConverter, ForecastService, ScenarioService, AssistantService. Все CLI-команды (forecast, scenario, whatif, compare, analyze) используют _build_services(model) вместо прямого создания сервисов. test_ai.py обновлён.",
|
||
"commits": ["541a768"],
|
||
"files_changed": [
|
||
"infrastructure/ai/assistant.py",
|
||
"infrastructure/cli/main.py",
|
||
"tests/test_ai.py"
|
||
]
|
||
},
|
||
"verification": {
|
||
"tests_passed": "67/67",
|
||
"no_internal_service_creation": "AssistantService больше не создаёт ForecastService внутри",
|
||
"composition_root": "_build_services() в main.py",
|
||
"cf_init_forecast_scenario_compare_whatif_analyze_works": true
|
||
},
|
||
"fulfills_ac": [
|
||
"ForecastService(model) — через __init__",
|
||
"ScenarioService(model) — через __init__",
|
||
"AssistantService(model, forecast_service, converter) — через __init__",
|
||
"Нет new ForecastService() внутри AssistantService",
|
||
"CLI: composition root собирает граф",
|
||
"pytest 67/67"
|
||
]
|
||
}
|