1.9 KiB
1.9 KiB
Runbook - Track 10 Live Voice Reliability
Use this runbook to validate lifecycle latency after Track 9 integration.
Preconditions
- Platform stack is running.
- Asterisk bridge is connected (
/proxy/asterisk-bridge/asterisk/status). - Real lab calls are already made (
1001 -> 7000).
1) Generate latency report
python scripts\track10_voice_latency_report.py `
--database-url sqlite:///.data_local/mvp_cc.db `
--since-hours 8 `
--breach-mode direct `
--json-out .artifacts/track10/voice-latency-latest.json
For post-fix short-window validation use minutes:
python scripts\track10_voice_latency_report.py `
--database-url sqlite:///.data_local/mvp_cc.db `
--since-minutes 30 `
--breach-mode direct `
--json-out .artifacts/track10/voice-latency-30m.json
Optional strict gate mode:
python scripts\track10_voice_latency_report.py `
--database-url sqlite:///.data_local/mvp_cc.db `
--since-hours 8 `
--max-started-to-ended-seconds 30 `
--max-ended-to-recording-seconds 45 `
--breach-mode direct `
--fail-on-breach
2) Review report fields
Mandatory fields:
summary.total_callssummary.active_no_endsummary.ended_no_recording_uploadsummary.start_to_end.p95summary.end_to_recording_upload.p95summary.ended_direct_callssummary.ended_reconciled_callssummary.direct_start_to_end.p95summary.direct_end_to_recording_upload.p95
3) Save acceptance evidence
Create a timestamp folder:
docs/acceptance/track10/<timestamp>/
Place:
voice-latency-latest.json- command output log
- note with latest call IDs included in report
4) Decision guidance
GO candidate:
active_no_end = 0ended_no_recording_upload = 0- direct p95 metrics within Track 10 thresholds
NO-GO candidate:
- repeated high latency outside thresholds,
- stale active calls without
call.ended, - missing recordings after completed calls.