Problem statement
Antigravity harness currently has slow TTFT for Text / Thought output.
The harness currently buffers contiguous text/thought chunks and only emits after the block completes. This makes the content boundary clear for downstream display code, but it also means AX cannot render the first token until the whole buffered block is done.
Desired behavior:
- emit the first visible output as soon as the model stream produces it
- preserve the difference between answer text and thought-summary text
- keep final/durable content semantics correct
- avoid a broad protocol redesign
Proposal
Add explicit streaming delta content types:
TextDeltaContent
ThoughtSummaryDeltaContent
These are modeled after the streaming primitives TextDelta and ThoughtSummaryDelta in google-genai.
Streaming semantics
The harness should not infer sentence boundaries.
Instead, deltas are ordered append-only chunks for the current contiguous output run. A delta run is complete when:
- the next delta has a different content kind
- the role changes
- a non-delta output arrives, such as tool call/tool result
- the stream ends
Responsibilities:
- Harness server emits deltas immediately and preserves order.
- Controller accumulates adjacent deltas with the same role/kind for durable logs/history.
- Display renders deltas immediately and switches formatting when role/kind changes.
Implementation tasks
-
Proto
- Add
TextDeltaContent and ThoughtSummaryDeltaContent, modeled after Antigravity SDK primitives.
- Add
text_delta and thought_summary_delta to Content.
-
Antigravity harness
- Emit
text_delta / thought_summary_delta as chunks arrive.
- Stop waiting for the full contiguous text/thought block before yielding.
-
Controller
- Accept delta content in stream handling.
- Accumulate adjacent deltas into durable text/thought output where needed.
- Flush accumulation on role change, kind change, non-delta output, or stream end.
-
Display / clients
- Render
text_delta as streamed assistant text.
- Render
thought_summary_delta as streamed thought-summary text.
- Add handling for the new delta types wherever content variants are switched on.
- Note Display / clients side are reasonable for formatting
Problem statement
Antigravity harness currently has slow TTFT for
Text/Thoughtoutput.The harness currently buffers contiguous text/thought chunks and only emits after the block completes. This makes the content boundary clear for downstream display code, but it also means AX cannot render the first token until the whole buffered block is done.
Desired behavior:
Proposal
Add explicit streaming delta content types:
TextDeltaContentThoughtSummaryDeltaContentThese are modeled after the streaming primitives
TextDeltaandThoughtSummaryDeltaingoogle-genai.Streaming semantics
The harness should not infer sentence boundaries.
Instead, deltas are ordered append-only chunks for the current contiguous output run. A delta run is complete when:
Responsibilities:
Implementation tasks
Proto
TextDeltaContentandThoughtSummaryDeltaContent, modeled after Antigravity SDK primitives.text_deltaandthought_summary_deltatoContent.Antigravity harness
text_delta/thought_summary_deltaas chunks arrive.Controller
Display / clients
text_deltaas streamed assistant text.thought_summary_deltaas streamed thought-summary text.- Note Display / clients side are reasonable for formatting