| name | cascading-failure-response |
| enabled | true |
| description | Use when performing cascading failure response — response playbook for
cascading and correlated failures across multiple services. Covers
identification of the originating failure, blast radius mapping, circuit
breaker activation, load shedding strategies, service isolation, dependency
graph analysis, and coordinated multi-team recovery procedures.
|
| required_connections | [{"prefix":"slack","label":"Slack (for multi-team coordination)"}] |
| config_fields | [{"key":"initial_failure","label":"Initial/Suspected Failure Point","required":true,"placeholder":"e.g., auth-service timeout causing downstream failures"},{"key":"affected_services","label":"Affected Services (known so far)","required":true,"placeholder":"e.g., auth-service, user-api, checkout, dashboard"},{"key":"severity","label":"Severity","required":true,"placeholder":"e.g., SEV1"}] |
| features | ["INCIDENT"] |
Cascading Failure Response
Initial Failure: {{ initial_failure }}
Affected Services: {{ affected_services }}
Severity: {{ severity }}
Why Cascading Failures Are Different
Cascading failures require a fundamentally different approach than single-service incidents:
- Multiple teams must coordinate simultaneously
- Fixing downstream symptoms without addressing the root cause wastes effort
- Standard mitigation (restart, scale up) can make cascading failures WORSE
- The blast radius may still be expanding while you investigate
Phase 1 — Stabilize (0-15 min)
Goal: Stop the cascade from spreading further. Do NOT try to fix the root cause yet.
Immediate Actions
Anti-Patterns During Cascading Failures
| DO NOT | WHY |
|---|
| Restart all instances simultaneously | Thundering herd on recovery |
| Scale up aggressively | May overwhelm downstream dependencies |
| Enable retries | Amplifies load on already-failing services |
| Focus on downstream symptoms | Must find the originating failure first |
| Let each team fix independently | Uncoordinated recovery causes oscillation |
Phase 2 — Map the Blast Radius (15-30 min)
Service Impact Matrix
| Service | Status | Depends On | Depended On By | Circuit Breaker | Notes |
|---|
| service | healthy/degraded/down | services | services | active/inactive/N/A | — |
Identify the Root Service
Work backwards through the dependency chain:
- Which service failed FIRST? (check alert timestamps)
- Which services have NO failing upstream dependencies?
- Of those, which one is currently unhealthy?
Root service identified: _______________
Blast Radius Visualization
[Root Failure] ──→ [Service A] ──→ [Service C] ──→ [Service E]
│
└──→ [Service D]
──→ [Service B] ──→ [Service F]
Phase 3 — Coordinated Recovery
Recovery Order
Recover services in dependency order — upstream first, downstream after.
| Priority | Service | Action | Owner | Status |
|---|
| 1 | root service | fix/restart/rollback | team | — |
| 2 | direct dependent | wait for upstream + verify | team | — |
| 3 | indirect dependent | wait + clear backlogs | team | — |
Controlled Recovery Protocol
- Fix the root service first
- Verify root service is healthy (metrics at baseline for 5+ minutes)
- Gradually re-enable traffic to direct dependents (start at 10%)
- Monitor for re-cascading at each step
- Increase traffic incrementally (10% → 25% → 50% → 100%)
- Repeat for each layer of the dependency chain
Queue/Backlog Management
Phase 4 — Verification
Post-Incident Focus Areas
Resilience Improvements
Monitoring Improvements
Counter-Rationalizations
| Shortcut | Counter | Why |
|---|
| "We can skip some steps for this case" | Adapt the workflow steps, don't skip them | Skipped steps are where incidents and oversights originate |
| "The user seems to already know what to do" | Complete all workflow phases with the user | The workflow catches blind spots that experience alone misses |
| "This is a minor case, full process is overkill" | Scale the process down, don't turn it off | Minor cases become major when unstructured; the process scales, not disappears |
| "I'll fill in the details later" | Complete each section before moving on | Deferred details are forgotten; real-time capture is more accurate |
| "The template output isn't necessary" | Always produce the structured output format | Structured output enables comparison, audit trails, and handoff to other teams |