With AURA_CUSTOM_EVENTS off (the default), a streaming orchestration request writes headers immediately and then nothing until the final answer. Measured on an instrumented main build (2026-07-17): headers land in under 10ms. A 2-task plan then stayed silent for 11 seconds and a 20-task plan for 63 seconds, with all data events arriving in a burst at the end.
With custom events on, aura.session_info goes out in 6-8ms, before MCP init even starts (Orchestrator::new runs inside a spawned task, factory.rs), so there is no init dead air in that mode. The CLI hardcodes events on and never sees this.
The original init-cost framing was wrong; the real gap is that events-off mode has no early signal at all. Scope: decide what the events-off stream should emit before completion, or accept that events-off users get OpenAI-shaped silence until the answer is ready.
With AURA_CUSTOM_EVENTS off (the default), a streaming orchestration request writes headers immediately and then nothing until the final answer. Measured on an instrumented main build (2026-07-17): headers land in under 10ms. A 2-task plan then stayed silent for 11 seconds and a 20-task plan for 63 seconds, with all data events arriving in a burst at the end.
With custom events on, aura.session_info goes out in 6-8ms, before MCP init even starts (Orchestrator::new runs inside a spawned task, factory.rs), so there is no init dead air in that mode. The CLI hardcodes events on and never sees this.
The original init-cost framing was wrong; the real gap is that events-off mode has no early signal at all. Scope: decide what the events-off stream should emit before completion, or accept that events-off users get OpenAI-shaped silence until the answer is ready.