# Track 9.2 Cutover Sheet (Template) ## Window - Date: - Start time: - End time: - Change ticket: ## Owners - K8s owner: - Voice/Asterisk owner: - Application owner: - On-call: ## Environment contract - `KUBE_CONTEXT`: - `NAMESPACE`: - `RELEASE`: - `GATEWAY_BASE_URL`: - `DATABASE_URL`: - `IMAGE_TAG`: - `ASTERISK_AMI_HOST`: - `ASTERISK_SFTP_HOST`: - `QUEUE_ID (voice_lab)`: ## Entry checks (T-1 day) - [ ] QA baseline accepted: - `docs/acceptance/track9/track9-acceptance.md` - [ ] Production queue map validated (`voice_lab -> queue_id` exists) - [ ] AMI port reachable (`5038/tcp`) - [ ] SFTP port reachable (`22/tcp`) - [ ] PostgreSQL confirmed for target env ## Dry-run results (T-4h to T-1h) - [ ] `helm lint` PASS - [ ] `helm template` PASS - [ ] strict env keys found in rendered manifest - Artifact folder: ## Execution (T0) - Helm command: - Start time: - End time: - Result: Rollout statuses: - [ ] `api-gateway` ready - [ ] `asterisk-bridge-service` ready - [ ] `voice-adapter-service` ready - [ ] `recording-service` ready ## Post-cutover checks - [ ] `track9_preflight --check-sftp --require-strict-service-auth` PASS - [ ] Real call completed (`1001 -> 7000`) - [ ] `asterisk_lab_smoke --require-recording` PASS - [ ] `track9_check --require-recording` PASS - [ ] Supervisor playback confirmed (`HTTP 200`, `audio/*`) ## Evidence - Evidence folder: - `track9-acceptance.md`: - `playback-proof.md`: - `playback-proof.json` (if used): ## Decision - [ ] GO - [ ] NO-GO Reason: ## Rollback section (fill if NO-GO) - Trigger: - Rollback command: - Rollback completion time: - Post-rollback preflight result: - Incident / RCA ticket: