The outgoing SSE channel is bounded by item count, not bytes: mpsc::channel::<Result<Bytes, String>>(streaming_buffer_size), default 400 (handlers.rs:742, main.rs:65). There is no per-item size cap, and several event fields are unbounded (#232), so one slow client can hold up to 400 arbitrarily large chunks in memory while every producer upstream blocks on send().
Verified against main 2026-07-17. Severity scales directly with #232: once event fields are bounded this becomes a modest fixed buffer, but while they are unbounded the worst case is buffer_size times largest_event.
The outgoing SSE channel is bounded by item count, not bytes: mpsc::channel::<Result<Bytes, String>>(streaming_buffer_size), default 400 (handlers.rs:742, main.rs:65). There is no per-item size cap, and several event fields are unbounded (#232), so one slow client can hold up to 400 arbitrarily large chunks in memory while every producer upstream blocks on send().
Verified against main 2026-07-17. Severity scales directly with #232: once event fields are bounded this becomes a modest fixed buffer, but while they are unbounded the worst case is buffer_size times largest_event.