diff --git a/README.md b/README.md index b1aa0b2..35b5d7f 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Crank - платформа для публикации внешних API в в - `docs/runtime-config.md` - конфигурация окружения. - `docs/deployment.md` - деплой, reverse proxy и CI/CD. - `docs/deploy-and-staging-smoke.md` - канонический post-deploy smoke pass для staging/production-like окружения. +- `docs/staging-regression-notes.md` - журнал реальных замечаний и результатов post-deploy проверок на стенде. - `docs/demo-runbook.md` - демонстрационный сценарий. - `docs/public-smoke-targets.md` - готовые публичные upstream-сервисы и payload-ы для smoke-проверки MCP. - `docs/secrets-auth-plan.md` - целевая модель upstream secrets, auth profiles и пошаговый план реализации. diff --git a/TASKS.md b/TASKS.md index 60d1640..69c59d0 100644 --- a/TASKS.md +++ b/TASKS.md @@ -2,18 +2,18 @@ ## Current -### `feat/deploy-and-staging-smoke` +### `feat/staging-regression-notes` Status: completed DoD: -- deploy/staging smoke checklist exists -- checklist covers server health, proxy routing, auth, UI pages, secrets, MCP, streaming -- deployment, demo and README docs link to the same smoke runbook +- staging regression log template exists +- deploy smoke runbook links to the regression log +- README references the regression log as the canonical post-deploy notes location ## Next -- `feat/staging-regression-notes` +- `feat/next-live-staging-pass` ## Backlog diff --git a/docs/deploy-and-staging-smoke.md b/docs/deploy-and-staging-smoke.md index 0e96236..24eeb33 100644 --- a/docs/deploy-and-staging-smoke.md +++ b/docs/deploy-and-staging-smoke.md @@ -9,6 +9,8 @@ - быстро проверить, что свежий deploy реально жив, а не просто "docker compose up -d завершился"; - дать следующему агенту и оператору один канонический сценарий проверки после релиза. +Результаты прохождения этого checklist нужно заносить в [staging-regression-notes.md](/home/a.tolmachev/code/rust/mcpaas/docs/staging-regression-notes.md). + ## 2. Когда использовать Запускать после: diff --git a/docs/staging-regression-notes.md b/docs/staging-regression-notes.md new file mode 100644 index 0000000..a76610b --- /dev/null +++ b/docs/staging-regression-notes.md @@ -0,0 +1,142 @@ +# Staging Regression Notes + +## 1. Назначение + +Этот документ фиксирует результаты ручных проверок на staging/production-like окружении после deploy. + +Он нужен для трех задач: + +- хранить пост-деплойные замечания вне чата; +- отличать разовые сбои окружения от продуктовых регрессий; +- дать следующему агенту нормальный handoff по реальному состоянию стенда. + +Использовать вместе с: + +- [deploy-and-staging-smoke.md](/home/a.tolmachev/code/rust/mcpaas/docs/deploy-and-staging-smoke.md) +- [manual-regression-checklist.md](/home/a.tolmachev/code/rust/mcpaas/docs/manual-regression-checklist.md) + +## 2. Как вести записи + +Каждый deploy или ручной regression pass должен добавляться новым блоком в начало документа. + +На один блок фиксировать: + +- дата и время; +- окружение; +- commit/tag/image; +- кто запускал pass; +- какие smoke steps прошли; +- какие дефекты подтверждены; +- какие наблюдения являются только инфраструктурными; +- какие follow-up fixes нужны. + +Если замечание исправлено, не удалять его из истории, а отметить: + +- `status: fixed` +- `fixed_by: ` + +## 3. Формат записи + +Использовать такой шаблон: + +```md +## YYYY-MM-DD HH:MM TZ — + +- deploy commit: `` +- checked by: `` +- smoke status: `passed | partial | failed` +- scope: + - auth + - ui shell + - operations + - wizard + - agents + - api keys + - secrets + - logs + - usage + - streaming + - mcp smoke + +### Passed + +- ... + +### Findings + +1. `` `` + - area: `` + - symptom: `...` + - reproduction: `...` + - expected: `...` + - actual: `...` + - status: `open | fixed | accepted` + - fixed_by: `` + +### Infra notes + +- ... + +### Follow-up + +- ... +``` + +## 4. Severity model + +Использовать только 4 уровня: + +- `critical` + deploy unusable, login broken, MCP unavailable, data corruption risk +- `high` + primary flow broken, но система частично работает +- `medium` + заметный UX/runtime дефект с обходным путем +- `low` + косметика, wording, layout, docs mismatch + +## 5. Что считать finding, а что нет + +### Считать finding + +- broken routing; +- redirect loop; +- wrong auth/session behavior; +- page-level JS exception; +- incorrect MCP result; +- secret/auth profile flow mismatch; +- deploy route returning HTML instead of JSON; +- streaming session/job inconsistency. + +### Не считать product finding + +- разовый сетевой timeout; +- локальный browser glitch без воспроизведения; +- внешний upstream outage из публичного smoke target; +- предупреждения, не влияющие на flow; +- заранее известные `planned` capability blocks. + +Такие случаи писать в `Infra notes`, а не в `Findings`. + +## 6. Open follow-up inventory + +Пока документ создается как шаблон, без зафиксированных staging defects. + +Первый реальный проход должен заполнить минимум: + +- auth/login status; +- clean routes status; +- `Secrets -> Auth Profiles -> Wizard -> Test run` статус; +- `REST`, `GraphQL`, `gRPC` smoke results; +- streaming pages status; +- WebSocket/SOAP note: + - `not exercised` + - или `failed/passed` с причиной. + +## 7. Последняя актуальная запись + +На момент создания документа: + +- automated baseline локально зеленый; +- канонический post-deploy smoke runbook существует; +- staging findings еще не занесены.