7.9 KiB
7.9 KiB
Задачи проекта
Единый список задач для разработки и работы агента.
Это единственный источник истины по задачам. Новые задачи добавляются сюда сразу; отдельный файл-план для нетривиальной задачи не создаётся.
Статусы
TODO— готово к работе.IN_PROGRESS— выполняется.BLOCKED— заблокировано, причина указана в задаче.DONE— завершено и проверено.
Активные задачи
ED-001 — Исправить actions_count в GetGameAnswers
- Статус:
TODO - Приоритет:
P2 - Репозиторий:
evening_detective_server - Цель: показывать реальное количество ходов команды в панели оценки игры.
- Проблема:
GetGameAnswersстроит команды безactions_count, поэтому в панели оценки показывается0. - Решение: получить количество действий через
actionsRepo.GetActionsCountByTeamIDsпо тому же паттерну, что используется вGetFullGame. - Следующий шаг: проверить всех callers
GetGameAnswersи реализовать общий для этого пути расчёт. - Критерии: количество ходов совпадает с результатами игры; добавлен тест на сервисный путь.
- Проверка:
cd evening_detective_server && go test ./...
ED-002 — Rate-limit публичной регистрации команды
- Статус:
TODO - Приоритет:
P1 - Репозиторий:
evening_detective_server - Цель: ограничить спам-регистрации и расход SMTP-квоты.
- Контекст: публичный
POST /api/games/{id}/registrationsне требует авторизации и вызывает отправку email. - Решение: ограничить регистрации как минимум по
(IP, game), а повторную отправку — по email; лимиты должны быть согласованы до реализации. - Следующий шаг: определить лимиты и выбрать место хранения счётчика без зависимости от production-базы.
- Критерии: превышение лимита отклоняется предсказуемой ошибкой; нормальная регистрация не ломается; есть тесты на границы лимита.
- Проверка:
cd evening_detective_server && go test ./...
ED-003 — Очистка персональных данных регистраций
- Статус:
TODO - Приоритет:
P1 - Репозиторий:
evening_detective_server - Цель: удалять персональные данные завершённых игр по утверждённому сроку хранения.
- Контекст:
contact_emailи связанные данные регистрации остаются в БД после завершения игры. - Решение: очищать персональные поля команд завершённых игр, сохраняя данные, нужные для итогов; удалять истёкшие confirmation-токены.
- Следующий шаг: утвердить срок хранения и точный список полей, затем спроектировать job.
- Критерии: срок хранения зафиксирован в политике; job идемпотентен; игровые итоги не ломаются; есть тест на очистку.
- Проверка:
cd evening_detective_server && go test ./...
ED-004 — Просмотр графа сценария
- Статус:
TODO - Приоритет:
P2 - Репозиторий:
evening_detective_frontend - Цель: показывать граф переходов сценария в редакторе.
- Решения: граф открывается из редактора в полноэкранной модалке; узлы — вступление, точки и вопросы; двери и текстовые маркеры — рёбра;
[Код]и([Код])равнозначны. - Реализация: чистый построитель графа, иерархическая раскладка сверху вниз, динамический импорт
vis-network, подсветка связей выбранного узла. - Следующий шаг: сверить актуальное состояние редактора и реализовать построитель, модалку и интеграцию без изменения сгенерированного API.
- Критерии: отображаются скрытые точки и вопросы; ненайденные коды видны отдельно; выбор узла подсвечивает входящие/исходящие связи; граф работает на мобильной ширине.
- Проверка:
cd evening_detective_frontend && npm run type-check && npm run lint && npm run lint:css && npm run build
Завершённые задачи
ED-005 — Исправить сброс настроек игры поллингом
- Статус:
DONE - Репозиторий:
evening_detective_frontend - Результат: настройки редактируются через локальный черновик и не перезаписываются поллингом.
- Проверки: type-check, lint и lint:css пройдены.
ED-006 — Добавить страницу итогов игры
- Статус:
DONE - Репозиторий:
evening_detective_frontend - Результат: добавлена страница результатов, обработка ошибок и входы из админки и списка игр.
- Проверки: type-check, lint, lint:css и build пройдены.
ED-007 — Добавить пьедестал победителя на странице итогов
- Статус:
DONE - Репозиторий:
evening_detective_frontend - Результат: добавлены баннер победителя, медали мест 1–3 и обработка ничьих.
- Проверки: type-check, lint, lint:css и build пройдены.
ED-008 — Добавить создание игры из списка игр
- Статус:
DONE - Репозиторий:
evening_detective_frontend - Результат: добавлено создание игры из каталога сценариев, выбор даты и времени, отображение даты и исправлена передача RFC 3339
startAt. - Проверки: type-check, lint и lint:css пройдены; build указан в отчёте плана.
Правила обновления
- Перед началом работы перевести выбранную задачу в
IN_PROGRESS. - Не держать больше одной задачи в
IN_PROGRESS, если работа не разделена явно. - При блокировке записать конкретную причину и следующий внешний шаг.
- После проверки обновить критерии и перевести задачу в
DONE. - Устойчивое знание записывать в будущую базу знаний отдельно, а не раздувать этот список.