The client-level fixture can also distinguish a truncated response from malformed JSON. Add a response with finish_reason set to length, then check that extraction stops before saving a partial result and that any retry is bounded. A valid-looking prefix should not cross the same persistence boundary as a complete response.