Chat and delegate streaming: a full reliability pass
A systematic pass through the chat and delegate streaming path, driven by an audit of the recent flakiness. If you saw Voysey stall mid-reply, drop a tool call, echo back an empty message, or lose a keepalive between delegate rounds, that surface is meaningfully steadier now.
Under the hood: the thinking budget is now floored engine-wide (a rare zero value was quietly producing empty replies), tool rounds no longer send a thinking budget at all (they need deterministic content), server-sent events terminate with the right double-newline (a single newline was letting some clients buffer past the end), a heartbeat across the whole request keeps long delegate rounds alive, and the stale job reaper now waits three minutes for the first token instead of forty-five seconds so slow first tokens do not get killed. Tool calls are preserved when the stream is reassembled, malformed template args no longer break dispatch, and sub-agents can run with no tools when the phase does not need them. On the studio side you should just see: chat feels solid, tools work, streams do not stop halfway.
- Thinking budget floored engine-wide (a zero value was producing empty replies)
- Tool rounds omit thinking budget entirely (need deterministic content)
- Server-sent events terminate with proper double-newline (was single, causing buffered ends)
- SSE heartbeat across the whole request keeps long delegate rounds alive
- Stale job reaper waits 180s for first token (was 45s, killing slow first tokens)
- Streamed tool calls preserved through reassembly (were getting dropped)
- Reassemble reconstructs
tool_callsandfinish_reasoncorrectly - Malformed / double-encoded template args tolerated on dispatch (were 400ing)
- Tool-call args sanitized in history so a partial call does not 400 the next render
- Sub-agents can run with no tools when the phase does not need them
- Bare tool JSON rejected when tools are disabled (was leaking through)
- Sub-agent generation runs with thinking off (was returning empty)
- Delegate heads reason at a light setting, workers stay off, recall gets a recovery hint
- Guided output caps on shot concerns, scene jobs, beat writers, and screenplay drafts
- Guided retries adapt after length rejects instead of retrying the same overrun
- Concern fan-in during production finalize, with a single retry on failure