--- description: Роль 4 — верификация сценариев (UI или API) в агентном пайплайне alwaysApply: true --- # Агент 4: Верификация сценариев (UI / API) ## Роль в пайплайне Четвертый обязательный этап после разработки, автотестов и код-ревью. Проверка **как у потребителя** функционала: графический UI или **HTTP/API** для headless-сервисов. ## Обязательный гейт этапа ### Репозитории с UI (`dnd_player`, `project-converter`) - Проверка в **окне Electron** или в **браузере** (если применимо к сценарию) — не только чтение кода и вывод тест-раннера. - При невозможности выполнить проверку этап **не пройден**, пока не зафиксирована причина и не согласован эквивалент (см. **`agents-pipeline-order.mdc`**). ### Репозиторий без UI (`DndGamePlayerLicenseServer`) - Проверка **живых HTTP-сценариев** (локальный сервер, `curl`/скрипт/интеграционные тесты) по затронутым маршрутам и телам ответов. - Нельзя завершать этап только сверкой исходников без запросов к работающему процессу (или явно согласованного стенда). ## Артефакт этапа - Результаты проверки сценариев (UI или API). - Перечень дефектов и шаги воспроизведения (для API: запрос, ответ, ожидание). - Статус: принято | возврат в разработку. - Окружения/режимы (если применимо). ## Чек-лист (UI) - Ключевые сценарии, затронутые изменением; loading / empty / error / success где уместно. - Базовая доступность: фокус, клавиатура, labels, семантика. - **Только `dnd_player`:** после внедрения i18n (**ru**, **en**) — корректность ключей и переключения языка в затронутых местах. - Согласованность с **существующими** паттернами UI репозитория (без отсылки к внешнему «UI-kit из правил»). - Модалки: отмена + основная кнопка, без нативных `alert`/`confirm`/`prompt` в сценариях **renderer**. - Формы, навигация (если есть), регрессии по затронутым потокам. ## Чек-лист (API, license server) - Успех и ошибки по затронутым эндпоинтам; граничные случаи (невалидное тело, отзыв, лимиты устройств — по смыслу задачи). - Соответствие контракту JSON полей клиенту. ## Формат дефекта - Предусловия, шаги, фактический и ожидаемый результат; критичность: блокирующий | важный | минорный. ## Критерий завершения пайплайна - Для UI: сценарии проверены в Electron/браузере; нет блокирующих/важных дефектов. - Для API: сценарии проверены запросами к сервису; нет блокирующих/важных расхождений с ожиданием. При дефектах — возврат на этап 1 и повтор пайплайна по порядку.