Series 1 of 4 · Agentic Stack · Level 2 · Topic 18

Graceful Degradation

Harness Architecture
In This Note You Will Learn
  • 01.How to design a degradation ladder -- the ordered sequence of fallback behaviors that keeps users productive when parts of the AI system fail.
  • 02.Why circuit breakers, error budgets, and timeout hierarchies are product decisions that the PM must specify, not engineering details to delegate.
  • 03.What "minimum useful response" means at each degradation level and why defining it upfront prevents the worst user experiences.

The Story

A healthcare documentation platform helps clinicians draft visit notes from voice transcripts. The product processes 85,000 transcripts per day across 400 hospital systems. On a Tuesday afternoon, the vector database hosting medical guidelines experiences a partial outage. Retrieval latency spikes from 120ms to 8,000ms, then starts returning timeout errors for 40% of requests.

Hospital systems on Integration A saw this: the pipeline stalled. Transcripts sat in the queue. Clinicians got a generic error: "Unable to process your request. Please try again later." Patient throughput dropped. The ED queue backed up.

Hospital systems on Integration B saw this: the pipeline detected the retrieval timeout within 200ms. It skipped guideline retrieval and generated the visit note using only the transcript, the clinician's prior note templates, and the model's parametric knowledge. A yellow banner appeared: "Note generated without current guideline references. Please verify clinical recommendations." The note was 85% as detailed. Patient throughput was unaffected.

Same outage. Same model. Same transcripts. Different degradation design. Integration A cost 2,400 delayed visit notes and measurable disruption to patient flow. Integration B: zero workflow interruption.

The Core Idea

Graceful degradation is the designed ability of the harness to maintain useful operation when individual components fail -- not by pretending failures didn't happen, but by explicitly reducing capability while preserving the core user outcome.

The harness's designed ability to maintain a useful response at reduced capability -- using degradation ladders, circuit breakers, and error budgets to ensure the user always receives the best response the currently available infrastructure can produce.

-- The working definition

Think of it like a hospital operating during a power outage. Generators kick in within seconds -- not powering everything, but powering critical systems: operating rooms, ICU monitors, emergency lighting. Non-critical systems power down. The hospital continues to function at reduced capability, with staff aware of the limitations.

Fig 1. The Degradation Ladder
Failure Is Inevitable.
Chaos Is a Design Choice.
A clinical AI system's six-level degradation protocol
L0
Full Capability
All systems nominal -- full pipeline, all CONTEXT layers
93% quality
$0.048
L1
Reduced Context
Retrieval degraded -- using cached guidelines, recent records only
88% quality
$0.041
L2
Parametric Knowledge
No RAG, no memory -- model's training knowledge + transcript only
82% quality
$0.032
L3
Lightweight Model
Haiku with basic template -- draft note, significant review required
71% quality
$0.006
L4
Structured Extraction
No model call -- NER-based entity extraction from transcript
N/A
$0.001
L5
Human Escalation
Routed to clinical staff -- transcript available for immediate reference
100%
$22.00
↳ Level 4 callout. AI generation unavailable. We still extracted entities so the clinician saves 60% of the typing. Structured data beats no data.
Six levels. Six minimum useful responses. The user always knows what they got and why.

Circuit breakers per assembly stage. Each assembly stage has its own circuit breaker. The retrieval circuit breaker doesn't affect memory. A tool API failure doesn't take down knowledge retrieval. This stage-level isolation is what makes degradation graceful instead of cascading.

Degradation without communication is deception. If the system generated a response without retrieval, the user needs to know -- especially in high-stakes domains. Level 1 gets a subtle indicator. Level 2 gets an orange banner. Level 3 requires explicit disclaimers. The PM defines these messages. They're product copy that directly affects trust during the moments when trust is most fragile.

Where This Hits in Production

Rate limit degradation. When a production system hits model provider rate limits, it doesn't get an error -- it gets a 429. Without degradation design, users get errors during peak hours. With it, the system queues requests, routes overflow to a secondary model, or serves cached responses.

Cascading failure prevention. A slow retrieval service causes assembly to back up. Backed-up assembly exhausts connection pools. Exhausted pools cause memory service failures. Within minutes, a retrieval slowdown has taken down the entire product. Circuit breakers at each stage prevent this cascade.

!

The Trap

Designing degradation for the common failure, not the catastrophic one.

A team builds solid fallbacks for retrieval timeouts (most frequent) and tool API errors (second most frequent). They test these regularly. Their degradation handles 95% of failure scenarios.

Then the model provider has a regional outage. Every level except Level 3 (rules-based) and Level 5 (human escalation) required a working model. The system jumped from Level 0 to Level 3 -- skipping three intermediate levels.

The fix: the degradation ladder must account for every component's total failure, not just common failure modes. "What happens when the model is completely unavailable?" must have a designed answer.

In Practice: Same Outage, Different Design

The same ninety-minute outage produced opposite outcomes based entirely on whether degradation was designed in advance.

Fig 2. Same Outage, Different Design
2,400 Delayed Notes vs. Zero.
Same outage. Same model. Different engineering.
Model outage -- 90 minutes
Integration A -- No Degradation Plan
API timeout detected
Retry loop begins -- 3 attempts, all fail
Queue fills, errors cascade across services
Clinicians resort to manual note entry
2,400 delayed visit notes
90 minutes of clinical chaos
Integration B -- Degradation Ladder Active
API timeout detected
Circuit breaker trips -- falls to Level 2
Simpler model generates notes from transcript
🔶Yellow banner: "Using limited context -- 85% quality"
Zero workflow disruption
85% quality maintained throughout
Same outage. Same model. The only difference: one team designed for failure.

Remember This

1. The degradation ladder is a product specification, not an engineering implementation detail. The PM defines the levels, the minimum useful response at each level, and the user communication for each level.

2. Circuit breakers per assembly stage prevent cascading failures. A slow retrieval service should not take down the memory service, the tool router, or the template engine.

3. Degradation without communication is deception. If the system generated a response without retrieval, without memory, or with a simpler model, the user needs to know.

References

1. Release It! -- Production-Ready Software -- Michael Nygard

2. Site Reliability Engineering -- Error Budgets -- Google SRE Book

3. Building Effective Agents -- Anthropic Engineering Blog

4. Circuit Breaker Pattern -- Microsoft Azure Architecture

Previous Topic Back to the Deep Dive