Most teams evaluate a candidate model on a handful of hand-written prompts, read the outputs, and conclude the model is fine. That process misses the failure mode that actually breaks pipelines. In production, the output is consumed by code: a parser, a validator, an API call. If the JSON does not parse, nothing else in the evaluation matters.
The failure taxonomy is well documented. Models prepend preamble text like "Here is the JSON you requested", truncate mid-object when they hit the max_tokens ceiling, drift field names (user_name where the schema says userName), coerce types (the string "42" where the schema wants a number), break on unescaped quotes, invent enum values, or lose track of nesting in deep objects (GMI Cloud). Research on structured output failures found that 65 percent of schema errors in fine-tuned models fell into just two categories: hallucinated keys and unclosed brackets (tianpan.co).
This matters because the stakes scale with volume. A 2 percent parse failure rate on 50,000 daily requests is 1,000 broken downstream operations per day, and the retry logic that handles them doubles inference cost for those requests (GMI Cloud). Even a 1 percent failure rate on thousands of daily requests produces a steady stream of customer complaints, retries that eat API quota, and cascading downstream failures (jamesm.blog).
The decision rule is simple. If the candidate's additive parse-failure rate (candidate minus baseline) exceeds what your retry and fallback machinery can absorb at current volume, the model is not ready regardless of how good its content looks. Everything else in this article supports that one number.



