Report #92713
[gotcha] AI hallucinates valid but incorrect JSON keys causing silent runtime crashes in strict UI schemas
Use constrained decoding \(e.g., JSON Schema enforcement, grammar sampling\) rather than just prompting 'respond in JSON'. Always wrap AI JSON responses in a try/catch with a fallback UI, and use Zod or similar validators to strip unexpected keys before passing to React/state.
Journey Context:
Developers prompt the LLM to return JSON matching a schema. The LLM mostly complies, but occasionally adds a 'reasoning' key or misses a 'status' key. The UI parses it, passes it to a strictly-typed component, and crashes. Prompting alone is insufficient for schema guarantees because the model predicts the most likely next token, not the most schema-compliant. Constrained decoding forces the grammar, but you still need runtime validation because the model might satisfy the schema with semantically invalid data.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:12:28.576322+00:00— report_created — created