CI Pipeline / best-practices (push) Successful in 14s
CI Pipeline / documentation (push) Successful in 13s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
deploy / deploy (push) Canceled after 0s
CI Pipeline / lint (push) Canceled after 21s
CI Pipeline / unit-tests (push) Canceled after 21s
CI Pipeline / rust-surface (push) Canceled after 21s
CI Pipeline / gitea-offline (push) Canceled after 7s
Auto-version and Release / release (push) Canceled after 21s
CI Pipeline / go-surface (push) Canceled after 21s
CI Pipeline / canary (push) Canceled after 22s
CI Pipeline / type-check (push) Canceled after 8s
- Ollama wire: stream=true /api/chat, NDJSON chunks parsed incrementally (content/thinking/tool_calls), the final reply carries the assembled answer — the engine's bounded tool loop runs over streamed replies (StreamChatClient, loop semantics unchanged) - Cloud wires: streaming parity — [OI]-compat SSE, anthropic SSE events, gemini streamGenerateContent (alt=sse); a provider that answers plain JSON despite stream=true falls back honestly to the assembled decode - Core /v1/chat/completions: stream=true relays the model's bytes as NDJSON content chunks (flushed per chunk); a non-streaming leg still answers the full content in one chunk (the classic framing); errors before the first byte answer the honest envelope - Entry proxy: the dispatch client carries NO whole-call timeout (the core governs streamed deadlines); chunk-relay pass-through proven incremental; the generic proxy client keeps the whole-turn fallback - TUI: CompleteStream parses the chunk framing, the lane dispatcher forwards deltas to the sink, the chatpane renders the answer AS IT ARRIVES (one progressive bubble the durable final append adopts — never a duplicate; a failed dispatch retires it) - DEADLINE REPLACEMENT: the flat whole-turn budgets retire on streamed paths — the INTER-CHUNK IDLE TIMEOUT (120s default, RUNE_STREAM_IDLE_TIMEOUT configurable) is the honest dead-model guardian with a 30-minute backstop; ErrStreamIdle is typed; the budget constants remain for non-streaming fallback paths - red-first: ollama/cloud SSE hermetic doubles, slow-model completes / dead-model trips-idle simulations, live-chunk relay proofs (core, entry), progressive-render bubble laws, stream dispatch laws admission: ADMIT-wave-streaming-deadline-root