# Release Evidence Template (Sofiia Console) Заповнювати після кожного релізу. Мета: мати короткий, відтворюваний артефакт виконаних дій і перевірок. ## 1) Release metadata - Release ID: - Date/Time UTC: - Date/Time Europe/Kyiv: - Operator: - Target nodes: `NODA1` / `NODA2` - Deployed SHAs: - `sofiia-console`: - `router`: - `gateway`: - `memory-service`: - Change summary (1-3 bullets): - ## 2) Preflight results - Command: - `bash ops/preflight_sofiia_console.sh` - `STRICT=1 bash ops/preflight_sofiia_console.sh` (prod window) - Status: `PASS` / `FAIL` - WARN summary (if any): - ## 3) Deploy steps performed - NODA2 precheck: `OK` / `FAIL` - Notes: - NODA1 rollout: `OK` / `FAIL` - Method (docker/systemd/manual): - Notes: - NODA2 finalize: `OK` / `FAIL` - Notes: ## 4) Smoke evidence - `GET /api/health`: status code / result - `GET /metrics`: reachable `yes/no` - Idempotency A/B smoke: - Command: `bash ops/redis_idempotency_smoke.sh` - Result: `PASS` / `FAIL` - `message_id`: - `/api/audit` auth checks: - without key -> `401` confirmed: `yes/no` - with key -> `200` confirmed: `yes/no` ## 5) Post-release checks - Key metrics deltas (optional): - `sofiia_rate_limited_total`: - `sofiia_idempotency_replays_total`: - Audit write/read quick check: `OK` / `FAIL` - Retention dry-run: - Command: `python3 ops/prune_audit_db.py --dry-run` - `candidates=`: - Notes: ## 6) Rollback plan & outcome - Rollback needed: `no` / `yes` - If yes: - reason: - rollback commands used: - result: - Final service state: `healthy` / `degraded` ## 7) Sign-off - Reviewer / approver: - Timestamp UTC: - Notes: