# Release Checklist (Phase 10)

## Functional verification
- [ ] Device registration and heartbeat flow works for both camera and client roles.
- [ ] Camera-client linking and command dispatch/ack flows work end-to-end.
- [ ] Motion start/end events are persisted and notify linked clients.
- [ ] On-demand stream request/accept/end flow works with media credentials.
- [ ] Recording placeholder creation, finalize, and download URL generation work.
- [ ] Push fallback queue delivers notifications when realtime channel is offline.

## Security and reliability
- [ ] Rate limit thresholds validated in staging.
- [ ] Audit logs capture stream/event/recording sensitive operations.
- [ ] Env vars present: auth base URL, media provider, database, MinIO, secrets.
- [ ] Worker loops running: recordings worker and push worker.

## Observability
- [ ] `/ops/live` and `/ops/ready` healthy.
- [ ] `/ops/metrics` reports request counters and status counters.
- [ ] Structured request logs are visible in deployment log sink.

## Pre-release load and tests
- [ ] Unit tests pass (`bun test`).
- [ ] Smoke load script passes (`bun run load:smoke`).
- [ ] Manual run with simulator in two tabs confirms camera+client happy path.

## Rollout
- [ ] Deploy to staging and run checklist above.
- [ ] Rollout production gradually and watch error/status metrics.
- [ ] Keep rollback procedure ready (previous image/version + migration compatibility).
