Severity × time elapsed → who is notified. Pin this page in the on-call channel topic.
Status: structure agreed at handover. Names, schedules, and contact details are filled in by the customer team during week 2 of oncall-readiness.md. Every {{TBD}} is a slot the customer team owns.
For each severity, the table reads top-to-bottom as time elapses. If a step's success condition isn't met by the time budget, escalate to the next step.
P0 — full outage / data integrity / security breach¶
The customer team fills these in at handover. Until filled, every entry is {{TBD}} — the matrix is non-operational until at least one row in each tier is populated.
This matrix is tested on a fixed schedule. Failed tests block on-call rotation onboarding.
Monthly: end-to-end test ping of every channel (PagerDuty, Slack, video bridge, email). Each contact acknowledges receipt within their tier's SLA. Any miss is a P2 ticket.
Quarterly: full simulated P0 drill. Tier 1 starts; full escalation chain runs; each tier confirms response time vs. matrix.
Per onboarding (every new on-call rotation member): the new engineer validates the matrix as their final week-2 task (oncall-readiness.md §5). They are not added to the rotation until validation passes.