2.7 KiB
2.7 KiB
id, title, status, created
| id | title | status | created |
|---|---|---|---|
| 010 | Migrate to YAML-only configuration loading | TODO | 2026-03-08 |
Context
В проекте используется смешанный подход конфигурации с переменными окружения. Требуется унифицировать источник конфигурации и оставить только config.yaml.
Goal
Убрать использование переменных окружения из runtime-конфигурации приложения и перевести загрузку всех параметров на чтение из config.yaml.
Constraints
- Соблюдать layered architecture из
AGENTS.md. - Scope задачи: только механизм загрузки конфигурации и места её потребления.
- Запрещено менять бизнес-правила и поведение use-case, не связанное с конфигурацией.
- Не изменять файлы в
spec/.
Acceptance criteria
- Runtime-конфигурация приложения загружается только из
config.yaml. - Переменные окружения не используются для чтения параметров Controller, Service, Business Logic, Repository, Adapter, Observability и Alerts.
- При отсутствии обязательных полей в
config.yamlприложение завершает запуск с детерминированной ошибкой валидации конфигурации. - Тесты конфигурации больше не опираются на
monkeypatchпеременных окружения и проверяют чтение из YAML.
Definition of Done
- Удалено чтение переменных окружения из конфигурационного слоя.
- Все компонентные секции конфигурации продолжают читаться из
config.yaml. - Обновлены тесты конфигурации под YAML-only поведение.
- Smoke test старта приложения проходит с валидным
config.yaml.
Tests
- Обновить
tests/config/test_config_sections.pyпод проверку YAML-only загрузки. - Добавить/обновить негативные тесты отсутствующих обязательных YAML-полей.
- Проверить app startup smoke test с валидным
config.yaml.
Commands
poetry run pytest tests/config/test_config_sections.py -qpoetry run pytest tests/smoke/test_app_import.py -q