diff --git a/docs/agent/COMPLETED_TASKS.md b/docs/agent/COMPLETED_TASKS.md index 4d2924f..505c769 100644 --- a/docs/agent/COMPLETED_TASKS.md +++ b/docs/agent/COMPLETED_TASKS.md @@ -2,6 +2,14 @@ Архив задач, переведённых в статус `DONE`. +### ED-023 — Оценка сложности игры в отзыве и каталоге + +- Статус: `DONE` +- Приоритет: `P1` +- Репозитории: `evening_detective_server`, `evening_detective_frontend` +- Результат: в отзыв добавлена обязательная оценка сложности `1–3`; значение хранится в существующей таблице отзывов и передаётся через protobuf. Средняя сложность считается по одобренным отзывам завершённых игр сценария и отображается как «лёгкая», «средняя» или «тяжёлая» в каталоге и карточке сценария. Старые отзывы поддержаны значением по умолчанию `2`; рейтинг `1–5`, модерация и запрет повторного отзыва сохранены. +- Проверки: `go test ./...` пройден с кэшем в `/tmp`; `npm run type-check`, `npm run lint`, `npm run lint:css` пройдены; protobuf сгенерирован штатными командами; `git diff --check` пройден. + ### ED-012 — Строгий стандарт написания фронтенда - Статус: `DONE` diff --git a/docs/agent/TASKS.md b/docs/agent/TASKS.md index 2fc6ce6..fe1acc2 100644 --- a/docs/agent/TASKS.md +++ b/docs/agent/TASKS.md @@ -23,21 +23,6 @@ - `BLOCKED` — заблокировано, причина указана в задаче. - `DONE` — завершено и проверено. -### ED-023 — Оценка сложности игры в отзыве и каталоге - -- Статус: `IN_PROGRESS` -- Приоритет: `P1` -- Репозитории: `evening_detective_server`, `evening_detective_frontend` -- Цель: дать команде возможность после завершения игры оценить её сложность и показывать итоговую сложность сценария в каталоге. -- Контекст: существующий отзыв уже содержит рейтинг `1–5`, обязательный текст, модерацию и ограничение один отзыв от команды на игру; каталог уже показывает средний рейтинг и количество одобренных отзывов по сценарию. -- Решение: добавить в отзыв оценку сложности `1–3`: `1` — лёгкая, `2` — средняя, `3` — тяжёлая. Рассчитывать среднее по одобренным отзывам завершённых игр сценария и переводить его в подпись: `1.00–1.66` — лёгкая, `1.67–2.33` — средняя, `2.34–3.00` — тяжёлая. Передать значение через существующие API отзыва и каталога. -- Критерии: завершившая игру команда может отправить оценку сложности вместе с отзывом; значение ограничено `1–3`; существующие отзывы и рейтинг `1–5` продолжают работать; повторный отзыв от команды запрещён; после модерации оценка участвует в среднем только для одобренных отзывов; каталог и карточка сценария показывают рассчитанную категорию сложности; при отсутствии оценок сложность не отображается. -- Ограничения: переиспользовать существующие отзыв, модерацию, каталог и protobuf-flow; не добавлять отдельную сущность, зависимость или ручную настройку сложности; сгенерированные protobuf-файлы менять только через существующую генерацию. -- Не входит: изменение текстового отзыва, рейтинга `1–5`, правил модерации, отзывов от пользователей без команды и отдельная оценка сложности автором или администратором. -- Проверка: `cd evening_detective_server && go test ./...`; `cd evening_detective_frontend && npm run type-check && npm run lint && npm run lint:css`. -- Ручная проверка: завершить игру и отправить отзывы со значениями `1`, `2` и `3`; проверить ограничения и повторную отправку; одобрить и отклонить отзывы; проверить пересчёт категории в карточке сценария и каталоге, включая отсутствие оценок. -- Следующий шаг: изучить frontend-flow формы отзыва и отображения каталога, затем изменить protobuf через `npm run proto:gen` и соответствующую backend-генерацию, после чего обновить хранение и расчёт сложности минимальным diff. - ## Активные задачи ### ED-024 — Общая дизайн-система фронтенда