This episode closes the gap between alert and action: writing tested routing incident runbooks, setting ownership and support boundaries with the RACI pattern, and documenting route and policy standards to keep the system consistent long-term.

In episode 20 you installed production eyes: dashboards, anomaly detection, and targeted alerting. But there's a hole that's often missed: when an alert fires, does the team know exactly what to do? Without a written answer, every incident becomes guesswork — and two different people will do two different things.
Episode 21 closes that hole with operational readiness. The roadmap: first understand what a runbook is and why routing incidents badly need one, second dissect the anatomy of a good runbook, third set ownership and support boundaries, and finally document route and policy standards that keep the system consistent.
A runbook is a written procedure for handling a specific situation — an answer thought out before circumstances force you to think. Routing incidents have a uniqueness that makes runbooks more important than for ordinary services: their failure paths are layered. Errors can come from the model, the provider, the policy, or the route configuration — and a misdiagnosis can make things worse.
Imagine the symptom "fallback rate rising". Three possible root causes: the primary provider is down, the intent classifier has drifted, or a newly deployed rate limit policy. A team with a runbook immediately runs sequential diagnosis steps. A team without a runbook spends 30 minutes discussing in an emergency meeting — while users wait.
A good runbook is written not for someone leisurely reading documentation, but for someone woken at 3 a.m. in a panic.
The runbook structure must be consistent across the team, so on-call doesn't have to learn a new format every time they open a different procedure. The minimal sections: symptoms, severity, steps, rollback, and communication.
Here's an example runbook for the most common incident: provider outage on the primary route.
# Runbook: Provider Outage pada Route Utama
## Gejala
- Fallback rate naik di atas 20 persen pada route chat-primary
- Error 429 atau 502 beruntun dari provider utama
- Latensi p95 melonjak jika fallback tidak aktif
## Severity
- SEV-2: fallback bekerja, latensi normal, pengguna tidak sadar
- SEV-1: degraded mode aktif atau latensi p95 di atas 10 detik
## Langkah
1. Jalankan 9router status routes untuk melihat skor kesehatan
2. Konfirmasi gangguan di dashboard status vendor
3. Nonaktifkan route utama dengan 9router route disable
4. Pantau fallback dan latency selama 15 menit
## Rollback
- Aktifkan kembali: 9router route enable chat-primary --after 15m
- Jika error muncul lagi, ulangi dari langkah 3
## Komunikasi
- Posting ke kanal #incident, update tiap 30 menit
- Umumkan ke stakeholder jika SEV-1Note the three characteristics of a good runbook in this example. Symptoms are written as measurable observations, not feelings. Steps are sequential and short — on-call has no time to read paragraphs. There's a rollback path — every action has a way home. For quick access during emergencies, every runbook can be registered with 9router and opened with 9router runbook open provider-outage.
Success
Test runbooks periodically, for example on chaos day or fire drills. A runbook that's never been tested is worth the same as code that's never been run — it might work, and it might not.
Runbooks answer "what to do", but not "who is responsible". Without clear ownership, every incident ends with the world's most expensive question: "let's check who first, shall we?".
The responsibility map for an AI routing gateway usually follows the RACI pattern:
| Activity | Platform | SRE | Security | Vendor |
|---|---|---|---|---|
| Changing route configuration | R | C | I | - |
| Handling provider incidents | C | A | I | R |
| Reviewing security policies | I | C | R | - |
| Maintaining dashboards and alerts | I | R | - | - |
This RACI states the boundaries firmly: provider problems are the vendor's responsibility, with SRE as accountable and platform as consulted. 9router doesn't replace vendor support — it bridges it. When a request fails with a clear provider-side error, internal escalation won't fix it; what's needed is a ticket to the vendor.
Support boundaries are also about time. Define internal SLAs: when on-call is expected to respond (say 10 minutes for SEV-1), when to escalate, and what the escalation path is. Unwritten expectations are expectations never met.
The last part is keeping the system consistent even before an incident happens. The two most important artifacts: naming standards and a route registry.
Naming standards remove guessing when reading configuration. The recommended pattern for 9router consists of three hyphen-separated segments: domain, workload, and purpose. For clarity, write the example in YAML:
routes:
- name: chat-marketplace-main
match:
intent: general_chat
metadata:
tenant: marketplace
target:
model: gpt-4o
provider: openai-prod
- name: chat-marketplace-backup
match:
intent: general_chat
metadata:
tenant: marketplace
target:
model: claude-3-5-haiku
provider: anthropic-prodThe name chat-marketplace-main immediately explains the domain (chat), the workload (marketplace), and the role (main). Compare that with a name like route-2, which forces the whole team to open the file contents to understand it.
The route registry is a living document recording every route along with its owner, provider, model, and last review date. This registry answers the question "who should I ask before changing this route?" — far faster than digging through commit history. For significant changes, use a simple ADR (Architecture Decision Record) pattern: context, decision, consequences. Three sentences are enough to record why a policy was chosen.
Episode 21 completes the operational foundation: tested runbooks for routing incidents, an ownership map with clear support boundaries, and naming standards plus a route registry that keep long-term consistency.
Key takeaways:
In episode 22 — the final episode — we summarize the whole journey and put together the closing package: production hardening and comprehensive best practices, from security and reliability checklists to governance and continuous upgrade strategies. See you at the finale!