# Ручной regression checklist ## 1. Назначение Этот документ фиксирует post-integration baseline для UI, auth, secrets и streaming slices. Цель: - дать воспроизводимый regression pass после крупных вертикальных срезов; - отделить автоматический baseline от ручного smoke на стенде; - не заставлять следующего агента заново собирать сценарии по всему проекту. ## 2. Автоматический baseline Локальный regression baseline на `2026-04-07`: - `cargo check --workspace` -> passed; - `cd apps/ui && npm run e2e` -> `11 passed`; - e2e стек поднимает: - `postgres`; - `admin-api`; - `mcp-server`; - fixture servers для streaming; - локальный UI proxy. Покрытые автоматикой сценарии: - login; - operations catalog; - agents; - api keys; - logs; - usage; - workspace/settings; - wizard; - REST window tool; - gRPC session tools; - async job tools. ## 3. Когда запускать этот pass Запускать обязательно после изменений в: - auth/session; - workspace switching; - operations/wizard; - agents; - secrets/auth profiles; - streaming configuration; - MCP transport; - REST SSE, gRPC streaming, WebSocket, SOAP adapters; - deploy routing/UI routes. ## 4. Обязательные команды перед ручным проходом ```bash cargo check --workspace cd apps/ui && npm run e2e ``` Если одна из команд не проходит, ручной regression pass не считается завершенным. ## 5. Ручной smoke checklist ### 5.1. Auth и shell - открыть `/login`; - проверить, что страница не зацикливается на redirect; - проверить invalid login; - войти bootstrap admin-пользователем; - убедиться, что после входа открывается `/`; - проверить logout; - войти повторно; - проверить header identity; - проверить language switch; - проверить workspace switch в navbar. ### 5.2. Operations - открыть `/`; - убедиться, что demo operations загружены; - проверить search; - проверить protocol/category/agent filters; - открыть edit существующей operation; - удалить operation из demo workspace только если это безопасно для текущего стенда; - проверить success/error toasts; - проверить clean routes без `/html/...`. ### 5.3. Wizard - открыть `/wizard/`; - переключить protocol cards: - `REST` - `GraphQL` - `gRPC` - `WebSocket` - `SOAP` - для нового upstream проверить режимы auth: - `No auth` - `Use existing auth profile` - `Create auth profile now` - создать quick secret из wizard; - создать quick auth profile из wizard; - сохранить upstream; - убедиться, что `execution_config.auth_profile_ref` попадает в draft/test flow; - проверить sample upload; - проверить YAML export/import; - проверить `Test run`; - проверить `Publish`. ### 5.4. Agents - открыть `/agents`; - проверить cards и lifecycle badges; - открыть drawer; - проверить bindings; - создать или обновить agent; - проверить publish/unpublish/archive flow; - проверить copy MCP endpoint. ### 5.5. API Keys - открыть `/api-keys`; - создать key; - убедиться, что raw key показывается один раз; - проверить copy; - проверить revoke; - проверить delete; - проверить `last_used_at` после реального machine-auth вызова при необходимости. ### 5.6. Secrets - открыть `/secrets`; - проверить list/create/rotate/delete; - создать: - `token`; - `username_password`; - `header`; - `generic`; - убедиться, что plaintext не возвращается после create/rotate; - проверить usage references через auth profiles; - проверить, что wizard quick-create синхронизируется с этой страницей. ### 5.7. Logs и Usage - открыть `/logs`; - проверить loading/error/empty states; - проверить detail expansion; - открыть `/usage`; - проверить summary cards; - проверить timeline chart; - проверить CSV export. ### 5.8. Workspace и Settings - открыть `/workspace-setup`; - проверить members; - проверить invitations; - проверить role change; - проверить remove member; - проверить export workspace; - проверить delete workspace только на disposable workspace; - открыть `/settings`; - проверить profile update; - проверить password change. ## 6. Protocol smoke pass Для smoke-проверки MCP использовать готовые public targets из [public-smoke-targets.md](/home/a.tolmachev/code/rust/mcpaas/docs/public-smoke-targets.md). Обязательные кейсы: - REST: [rest-open-meteo.operation.json](/home/a.tolmachev/code/rust/mcpaas/examples/mcp-smoke/rest-open-meteo.operation.json) - GraphQL: [graphql-countries.operation.json](/home/a.tolmachev/code/rust/mcpaas/examples/mcp-smoke/graphql-countries.operation.json) - gRPC: [grpc-grpcb-add.operation.json](/home/a.tolmachev/code/rust/mcpaas/examples/mcp-smoke/grpc-grpcb-add.operation.json) Streaming regression на локальном e2e стеке: - REST SSE window tool; - gRPC session tools; - async job tools. Ручной post-deploy pass должен дополнительно проверить: - WebSocket window/session flow после появления real upstream; - SOAP import/inspection/test run на disposable WSDL fixture. ## 7. Acceptance criteria Regression pass считается завершенным, если одновременно выполнены условия: - `cargo check --workspace` passed; - Playwright suite passed; - login/shell/manual navigation не ломаются; - `Secrets -> Auth Profiles -> Wizard -> Test run` связка работает; - public smoke targets проходят для `REST`, `GraphQL`, `gRPC`; - streaming demo scenarios проходят на локальном e2e стеке; - нет критичных UI regressions на clean routes, i18n и auth redirects. ## 8. Если что-то падает - сначала фиксировать failing automated spec; - потом чинить ручной smoke regression; - после фикса повторять: - `cargo check --workspace`; - `cd apps/ui && npm run e2e`; - только потом обновлять статус в `TASKS.md`.