Files
g2s-aggregator/spec/tasks/010_migrate_to_yaml_only_configuration.md
T
Раис Юсупалиев 299a8e69ea 010 fix config
2026-03-08 16:26:45 +03:00

2.7 KiB
Raw Blame History

id, title, status, created
id title status created
010 Migrate to YAML-only configuration loading DONE 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 -q
  • poetry run pytest tests/smoke/test_app_import.py -q