An agent trace is usually written as a sequence of events because append-only data is simple to produce: span_started span_started span_ended span_started span_ended span_ended Developers do not want to debug that sequence directly. They want to see the causal structure: research_agent β”œβ”€ search_web β”œβ”€ query_database β”œβ”€ call_finance_api β”‚ β”œβ”€ attempt_1 timeout β”‚ └─ attempt_2 ok └─ summarize_results The event stream is optimized for writing. ...