Streaming JSON from LLMs breaks parsers mid-token and partial outputs are worse than slow ones. What made your structured output reliable - constrained decoding, repair passes, or abandoning streaming for structured calls?