- Move TTFT timer start before .send().await so it includes server
processing time (standard TTFT semantics)
- Add done flag to break outer while loop when stream ends
- Rewrite SseLineBuffer to use Vec<u8> with 1MB cap, fixing UTF-8
corruption on multi-byte chars split across chunks
- Add sliding_window_schedule probes to Diagnose mode so the
SlidingWindow inference branch is no longer dead code
- Move build_rpm_mode_plan after AppConfig::load to eliminate
window-boundary timing drift
Support streaming responses for both OpenAI and Anthropic protocols.
Adds --stream CLI flag, provider config stream field, shared SSE line
buffer, and TTFT (time to first token) percentile tracking alongside
existing TTLT latency metrics.