includes preflight, restart, smoke, observation, evidence steps defines success criteria and metrics to collect for next-step decision Made-with: Cursor
3.0 KiB
Rehearsal v1.0 — 30-minute execution plan
Контрольований rehearsal без змін коду: перевірка процесу релізу (preflight → restart → smoke → observation → evidence).
Release window: виділений слот 30–60 хв (наприклад сьогодні 20:00–21:00 UTC або завтра зранку).
⏱ 0–5 хв — Preflight
STRICT=1 bash ops/preflight_sofiia_console.sh
Очікування: PASS або лише не-критичні WARN. Якщо FAIL → зупиняємось і виправляємо.
Зафіксувати: результат (PASS / WARN / FAIL), коротко що було.
⏱ 5–10 хв — Controlled Restart
Перезапусти sofiia-console (як прийнято: systemd/docker).
Після старту:
curl -i http://127.0.0.1:8002/api/health
curl -i http://127.0.0.1:8002/metrics
Очікування: 200 OK, без 500, metrics доступні.
⏱ 10–15 хв — Smoke (функціональний)
Idempotency A/B (якщо Redis backend)
bash ops/redis_idempotency_smoke.sh
Очікування: message_id однаковий, replayed=true на другому запиті.
Audit auth
Без key:
curl -i http://127.0.0.1:8002/api/audit
→ 401
З key:
curl -H "X-API-Key: <key>" http://127.0.0.1:8002/api/audit
→ 200
⏱ 15–25 хв — Observation Window
Спостерігай 10 хв. Мінімум перевірити:
- Чи є 5xx?
- Чи росте
sofiia_rate_limited_totalнеочікувано? - Чи росте
sofiia_idempotency_replays_totalаномально? - Чи відповідає send стабільно?
Якщо можливо — зафіксуй приблизний p95 latency (на око по логах достатньо).
⏱ 25–30 хв — Evidence
bash ops/generate_release_evidence.sh
Перевір, що файл створено. Доповни вручну: smoke A/B, post-release checks, rollback notes (якщо були).
Критерії успіху rehearsal
| Перевірка | Результат |
|---|---|
| Preflight | PASS |
| Health + metrics | OK |
| Idempotency smoke | PASS |
| Audit strict auth | 401 без key / 200 з key |
| 5xx | нема |
| Rate-limit / replay сплески | нема дивних |
Якщо все зелено — v1 процес релізу вважається стабільним.
Після rehearsal — що принести далі
Для decision-матриці (Phase 6 / HA / policy / dashboards) потрібно:
- 5xx count (total + send)
- replay delta
- rate_limit delta (chat / operator)
- приблизна latency (p95)
- audit events volume
- будь-які WARN з preflight
- friction моменти (що було неочевидним)
Див. також: docs/release/sofiia-console-post-release-review-template.md.