The request
{
"name": "wever_triage-escalation-check",
"arguments": {
"thresholds": [
{
"id": "t1",
"class": "outage",
"after": "1 hour",
"to": "incident commander"
},
{
"id": "t2",
"class": "billing",
"after": "8 hours",
"to": "billing lead"
}
],
"items": [
{
"id": "q1",
"class": "outage",
"opened_at": "2026-11-20T08:00:00Z",
"resolved_at": "2026-11-20T10:30:00Z",
"escalated": true,
"escalated_at": "2026-11-20T09:00:00Z",
"escalated_to": "incident commander",
"context": true
},
{
"id": "q2",
"class": "outage",
"opened_at": "2026-11-20T06:00:00Z",
"escalated": true,
"escalated_at": "2026-11-20T10:00:00Z",
"escalated_to": "incident commander",
"context": false
},
{
"id": "q3",
"class": "billing",
"opened_at": "2026-11-19T20:00:00Z",
"escalated": false
},
{
"id": "q4",
"class": "billing",
"opened_at": "2026-11-20T09:00:00Z",
"escalated": false
}
],
"read_at": "2026-11-20T12:00:00Z"
}
}What the report returns
Verdict: escalation_late.
| Finding, breach unescalated | 1 item breached its threshold with no escalation: q3 (waited 16 hours, threshold 8 hours). |
|---|
| Finding, escalated late | 1 escalation came more than 1 hour after the breach: q2 (3 hours late). |
|---|
| Finding, context missing | 1 escalation went up with no context attached: q2. |
|---|
| Fix, breach unescalated | Escalate every item that breaches its threshold to the human or tier the threshold names. |
|---|
| Fix, escalated late | Escalate at the breach, within the stated grace, not after the item has waited on. |
|---|
| Fix, context missing | Attach the item’s context to every escalation: the item, its history and what was tried. |
|---|
Breaching items escalate late or not at all: breach unescalated and escalated late.
The billing item has waited sixteen hours against an eight-hour threshold, and nobody above the queue knows. The second outage report went up three hours after its breach with nothing attached, so the incident commander starts the triage again. The first outage report went up at its breach with its context and reads as escalated; the newest billing item is still inside its threshold. Escalating the billing item to the billing lead with its history, and sending context with every escalation, brings the queue back to escalation_clean.