Extraction fails quietly. A model asked to pull fields from an invoice with two totals on different pages can return a confident, well-formed number that is simply the wrong one. No exception is thrown, no flag is raised, and the wrong value moves downstream (fallback design for AI systems). That is a system design failure, not a model failure: the pipeline had no designed path for the case where a plausible answer should not be trusted.
The common reflex is a while not valid: retry() loop. That is deferred uncertainty dressed as reliability, because it runs until something passes rather than deciding in advance what to do when nothing does (AI Tool Stack). A ladder fixes this by making the sequence explicit and finite.
The second reason to design the path is that failures are not one thing. A malformed JSON response, a rate limit, a missing source document, and a low-confidence field all need different handling. Retry logic that retries a hallucination just generates three confident wrong answers (resilient agentic pipelines). So the ladder is really two artifacts: a menu of recovery options, and a routing policy that picks which option a given failure gets.
For extraction specifically, the failure types that matter most are schema violations (the output does not match your JSON contract), missing evidence (the field is not in the document), and conflicting evidence (two candidate values). Each maps to a different rung.



