diff --git a/docs/agent/TASKS.md b/docs/agent/TASKS.md index 6d13bf4..a9d69d0 100644 --- a/docs/agent/TASKS.md +++ b/docs/agent/TASKS.md @@ -25,7 +25,7 @@ ### ED-023 — Оценка сложности игры в отзыве и каталоге -- Статус: `TODO` +- Статус: `IN_PROGRESS` - Приоритет: `P1` - Репозитории: `evening_detective_server`, `evening_detective_frontend` - Цель: дать команде возможность после завершения игры оценить её сложность и показывать итоговую сложность сценария в каталоге. @@ -40,6 +40,21 @@ ## Активные задачи +### ED-025 — Доступ к БД только через repository + +- Статус: `TODO` +- Приоритет: `P1` +- Репозиторий: `evening_detective_server` +- Цель: все обращения к базе данных выполнять через слой `internal/repos`. +- Критерии: все прямые SQL/DB-вызовы находятся в `internal/repos`; управление транзакциями остаётся на уровне сервисов; поведение приложения не изменилось; `cd evening_detective_server && go test ./...` проходит. +- Ограничения: перенести все существующие обращения в backend; не менять миграции, API и продуктовую логику; не добавлять зависимости; сделать минимальный diff; коммиты и push не выполнять. +- Не входит: перенос управления транзакциями из сервисов в репозитории. +- Проверка: `cd evening_detective_server && go test ./...`; поиск прямых обращений к БД вне `internal/repos`. +- Результат этапа 1: стартовая проверка доступности БД сохранена через `internal/repos/health_repo`; прямой `QueryRow` из `main.go` заменён на repository-вызов. Проверка DB-вызовов production-кода вне `internal/repos` не находит нарушений. +- Проверка этапа 1: `cd evening_detective_server && go test ./...` — успешно. +- Аудит: оставшиеся прямые DB-вызовы находятся только в integration-тестах и используются для создания схем, применения миграций и подготовки данных; application flow они не затрагивают. +- Следующий шаг: проверить DB-вызовы в тестовом коде и при необходимости разделить тестовые fixtures от production-правила, затем перейти к следующему срезу. + ### ED-024 — Общая дизайн-система фронтенда - Статус: `TODO`