v2.55.5
Bound dashboard runtime events before RPC serialization
Dashboard child processes now project cumulative streaming state before the internal RPC JSONL boundary and use bounded stdout backpressure handling.
What changed
- Linear dashboard streaming. Dashboard-mode
message_updateframes omit cumulativemessageandassistantMessageEvent.partialfields before serialization, while preserving deltas and final content. - Nested event coverage. The same projection applies recursively to background-agent streaming events.
- Protocol compatibility. Generic RPC consumers retain the full wire shape; final
message_endevents and dashboard snapshots remain authoritative and complete. - Bounded stdout queues. Raw stdout writes now honor backpressure, flush queued frames in order, and fail loudly if accumulated backlog exceeds 16 MiB.
- Large snapshot safety. One legitimate oversized protocol frame can drain without being mistaken for accumulated backlog; subsequent queued writes remain cap-enforced.
- Regression coverage. Tests prove bounded frame sizes, near-linear aggregate bytes, queue ordering, takeover-path behavior, diagnostic flushing, and cap enforcement.
Implemented in PR 452.