← Back to changelog
v1.5.1390Aug 26, 2026Fixed

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.

What changed
  • 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_calls and finish_reason correctly
  • 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

Subscribe to updates

Get an email when we ship something new.

Email notifications are coming soon.

RSSSubscribe in any reader