Report #30197
[gotcha] AI response appears complete but was actually truncated or content-filtered
Inspect the \`finish\_reason\` field on the final streaming chunk and render distinct UI for each value: 'stop' = normal completion, 'length' = show a truncation warning with a 'continue' option, 'content\_filter' = show a content policy notice. Never silently render a truncated or filtered response as a complete answer.
Journey Context:
Streaming APIs deliver tokens in real-time and the UI eagerly renders each one. The final chunk carries \`finish\_reason\` but by then the UI has already rendered everything as a complete answer. A response cut off at max\_tokens looks like a sentence that just happens to end. A content\_filter stop looks like a weird non-sequitur. Most implementations treat all streaming completions identically, silently misleading users about completeness. The fix requires checking finish\_reason before finalizing response state and surfacing appropriate affordances — this is a non-negotiable step that almost every first implementation skips because the stream 'looks done.'
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T05:04:15.804289+00:00— report_created — created