chore: publish clean community baseline
Deploy / deploy (push) Successful in 2m32s
CI / Rust Checks (push) Successful in 5m33s
CI / UI Checks (push) Successful in 6s
CI / Deployment Manifests (push) Successful in 2s
CI / Frontend E2E (push) Successful in 4m36s

This commit is contained in:
github-ops
2026-06-17 06:15:46 +00:00
commit ae09eeba30
318 changed files with 73473 additions and 0 deletions
+202
View File
@@ -0,0 +1,202 @@
# Authenticated Staging Pass
## 1. Назначение
Этот документ описывает тот кусок Community staging smoke, который нельзя честно закрыть одними `curl` и unauthenticated route checks.
Он покрывает:
- login/logout;
- UI shell после входа;
- `Secrets -> Auth Profiles -> Wizard -> Test run`;
- `REST` smoke через UI и MCP.
Использовать вместе с:
- [deploy-and-staging-smoke.md](deploy-and-staging-smoke.md)
- [staging-regression-notes.md](staging-regression-notes.md)
- [manual-regression-checklist.md](manual-regression-checklist.md)
## 2. Что нужно заранее
- свежий deploy уже прошел helper smoke:
- `just staging-smoke https://<domain>`
- Community deploy был собран из `deploy/community/docker-compose.yml`
- automated browser-authenticated smoke при необходимости запускается так:
- `CRANK_STAGING_ADMIN_EMAIL=... CRANK_STAGING_ADMIN_PASSWORD=... just authenticated-staging-smoke https://<domain>`
- известны bootstrap admin credentials;
- на стенде есть demo data или подготовленный disposable workspace;
- браузер открыт с devtools, чтобы фиксировать network и console findings.
## 3. Канонический проход
Перед ручным проходом можно прогнать automated baseline:
```bash
export CRANK_STAGING_ADMIN_EMAIL=owner@example.com
export CRANK_STAGING_ADMIN_PASSWORD=secret
just authenticated-staging-smoke https://<domain>
```
После завершения прохода готовый блок для [staging-regression-notes.md](staging-regression-notes.md) можно сгенерировать так:
```bash
just staging-note-block <domain> <deploy-sha> "codex + operator"
```
### 3.1. Login and shell
1. Открыть `/login`
2. Проверить:
- invalid login -> корректная ошибка;
- valid login -> redirect на `/`;
- нет redirect loop;
- password-only note видна;
3. После входа проверить:
- current workspace в navbar;
- user identity;
- language switch;
- logout.
### 3.2. Core UI pages
После повторного входа открыть:
- `/`
- `/agents`
- `/api-keys`
- `/secrets`
- `/logs`
- `/usage`
- `/workspace-setup`
- `/settings`
- `/wizard/`
Для каждой страницы зафиксировать:
- `status: passed | partial | failed`
- есть ли console errors;
- есть ли failing XHR или fetch;
- есть ли broken layout.
### 3.3. Secrets and auth profiles
1. Открыть `/secrets`
2. Создать disposable `token` secret
3. При необходимости создать еще:
- `header`
- `username_password`
4. Проверить:
- list/update timestamps;
- rotate;
- delete;
- usage references
### 3.4. Wizard auth flow
1. Открыть `/wizard/`
2. На шаге 2:
- выбрать `No auth`;
- выбрать existing auth profile;
- создать quick secret;
- создать quick auth profile;
3. Сохранить upstream
4. Дойти до `Test run`
5. Подтвердить, что:
- нет `${secrets.*}`;
- upstream сохраняется;
- test run отрабатывает с `auth_profile_ref`.
### 3.5. REST protocol smoke
Использовать:
- [public-smoke-targets.md](public-smoke-targets.md)
Обязательный кейс:
- `REST`
Порядок:
1. создать или открыть operation;
2. выполнить `Test run`;
3. publish;
4. привязать к agent;
5. выполнить MCP smoke:
- `tools/list`
- `tools/call`
## 4. Что нужно занести в staging notes
По итогам authenticated pass в [staging-regression-notes.md](staging-regression-notes.md) обязательно добавить:
- deploy commit;
- кто проходил smoke;
- что именно проверено;
- что прошло;
- findings с severity;
- infra notes;
- explicit status для:
- auth;
- secrets/auth profiles;
- wizard;
- REST;
- MCP smoke.
## 5. Готовый блок для вставки
Этот же блок можно получить через:
```bash
just staging-note-block <domain> <deploy-sha> "codex + operator"
```
```md
## YYYY-MM-DD HH:MM TZ — rmcp.itexp.me (authenticated pass)
- deploy commit: `<sha>`
- checked by: `<name>`
- smoke status: `passed | partial | failed`
- scope:
- auth
- ui shell
- operations
- wizard
- agents
- api keys
- secrets
- logs
- usage
- rest smoke
- mcp smoke
### Passed
- login/logout completed
- shell pages open after auth
- secrets/auth profile flow status: `<passed|partial|failed>`
- REST smoke: `<passed|partial|failed>`
- MCP smoke: `<passed|partial|failed>`
### Findings
- none
### Infra notes
- ...
### Follow-up
- ...
```
## 6. Почему automated smoke недостаточно
Скрипт [scripts/authenticated-staging-smoke.sh](../scripts/authenticated-staging-smoke.sh) полезен как быстрый sanity check, но он:
- проверяет только минимальный browser flow;
- не создает реальный disposable operation;
- не заменяет ручной `REST -> publish -> MCP call` проход;
- не должен отмечаться как `passed`, пока результаты не занесены в [staging-regression-notes.md](staging-regression-notes.md).