Files
agents/docs/agent/COMPLETED_TASKS.md
T
2026-10-04 15:29:25 +07:00

115 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Завершённые задачи
Архив задач, переведённых в статус `DONE`.
### ED-015 — План экранов игры для организатора
- Статус: `DONE`
- Приоритет: `P1`
- Репозитории: `evening_detective_server`, `evening_detective_frontend`
- Результат: добавлен необязательный план экранов игры с линейными шагами, текущим индексом и параметрами текста и таймера. Организатор может создать, изменить, удалить и переставить шаги, а также перейти на любой шаг; состояние применяется ко всем подключённым экранам и повторно применяется при привязке нового экрана. Добавлен текстовый режим экрана. Игры без плана продолжают работать через существующее ручное управление; синхронизация использует текущий polling.
- Проверки: целевые backend-пакеты и `screen_plan_service` проходят; frontend `npm run type-check`, `npm run lint`, `npm run lint:css`, `npm run build` и `git diff --check` пройдены; protobuf сгенерирован штатными командами. Полный backend `go test ./...` дополнительно упирается в sandbox-запрет `listen tcp` в gateway-тестах.
- Ручная проверка: не выполнялась в среде агента; требуется проверить реальными экранами создание плана, переходы, синхронизацию нескольких дисплеев и переподключение.
### ED-016 — Привязка экрана к игре через сканер
- Статус: `DONE`
- Репозитории: `evening_detective_server`, `evening_detective_frontend`
- Результат: на странице игры добавлено сканирование QR-кода экрана с немедленной привязкой к текущей игре; список экранов показывает онлайн/оффлайн-состояние и предупреждает о недоступности более минуты. Сервер разрешает управление организатору и администратору, корректно перепривязывает экран и переносит текущее состояние целевой игры.
- Проверки: `GOCACHE=/tmp/evening-detective-go-cache go test ./...`, `npm run type-check`, `npm run lint`, `npm run lint:css`, `git diff --check` пройдены.
### ED-026 — Количество игроков при создании команды из панели игры
- Статус: `DONE`
- Приоритет: `P1`
- Репозитории: `evening_detective_server`, `evening_detective_frontend`
- Результат: в форме создания команды на `GamePage` добавлено количество игроков со значением `1` по умолчанию и диапазоном `1–8`. Значение передаётся через `AddTeam` и сохраняется в существующем `teams.participants_count`; старые flow без значения сохранены.
- Проверки: `go test ./...`, `npm run type-check`, `npm run lint`, `npm run lint:css`, `npm run build` пройдены; protobuf сгенерирован штатными командами; `git diff --check` пройден.
### 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`
- Репозиторий: `evening_detective_frontend`
- Результат: создан обязательный стандарт `docs/FRONTEND_CODE_STANDARD.md` как
единственный источник правил структуры, компонентов, composables, функций,
типов, API, состояния, стилей, форм, доступности и проверок. Фронтендный
`AGENTS.md` оставлен указателем и операционными правилами, а корневой
`AGENTS.md` содержит условную ссылку для задач фронтенда.
- Проверки: проверены ссылки и однозначное размещение типовых видов кода;
`git diff --check` пройден; продуктовый код и зависимости не менялись.
### ED-025 — Доступ к БД только через repository
- Статус: `DONE`
- Репозиторий: `evening_detective_server`
- Результат: прямой доступ к БД из application flow убран; проверка доступности БД вынесена в `health_repo`, `screen_sessions_repo` — в `screen_service`, а `game_map_repo` — в `map_service`. Handlers используют сервисные модели и больше не импортируют эти repositories.
- Проверки: целевые backend-пакеты компилируются; `internal/app` проходит тесты; `git diff --check` пройден. Полные gateway-тесты в sandbox заблокированы запретом на `listen` TCP-порта.
### ED-011 — Строгий стандарт написания Go-бэкенда
- Статус: `DONE`
- Репозиторий: `evening_detective_server`
- Результат: добавлен обязательный стандарт `docs/GO_STANDARD.md` как
единственный источник правил Go-кода: слои, handlers, services, repositories,
modules с обязательными интерфейсами, mapping, protobuf, ошибки, SQL,
транзакции, тесты и именование. В backend `AGENTS.md` оставлены только ссылка
на стандарт, проектные ограничения и операционные команды.
- Проверки: `go test ./...` пройден; `git diff --check` пройден.
### ED-019 — Добавить кнопку экрана в меню организатора
- Статус: `DONE`
- Репозиторий: `evening_detective_frontend`
- Результат: в `HeaderMenu.vue` добавлен пункт `Экран` для пользователей с правом `games_page`; пункт ведёт на существующий маршрут `/screen`.
- Проверки: `npm run type-check`, `npm run lint`, `npm run lint:css` пройдены.
### ED-001 — Исправить `actions_count` в `GetGameAnswers`
- Статус: `DONE`
- Репозиторий: `evening_detective_server`
- Результат: `GetGameAnswers` теперь заполняет `Team.ActionsCount` через `GetActionsCountByTeamIDs`; контракт API не изменён.
- Проверки: `go test ./...` пройден; lifecycle-тест проверяет количество ходов в ответе для панели оценки.
### ED-011 — Считать сообщения без тригерной фразы продолжением диалога
- Статус: `DONE`
- Репозиторий: корневые правила агента
- Результат: удалено обязательное ожидание тригерной фразы перед продолжением диалога.
- Проверки: проверены `AGENTS.md` и `docs/agent/README.md`; продуктовый код не затрагивался.
### 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 указан в отчёте плана.