{ "deal_id": "...", "finalization": {...} | None, "summary": { "total_events": N, "retrievals": N, "agent_discourse_entries": N, "user_actions": N, "readiness_snapshots": N, "llm_calls": N }, "timeline": [ {"kind": "retrieval", "ts": "ISO", ...}, {"kind": "discourse", "ts": "ISO", ...}, {"kind": "activity", "ts": "ISO", ...}, {"kind": "readiness", "ts": "ISO", ...}, {"kind": "llm_call", "ts": "ISO", ...} ]}
Empty-warehouse case (no events recorded yet for this deal): returns
a well-formed body with finalization=null, timeline=[], and
all summary counts at 0. Status is 200.
Stateless: each call opens a fresh DuckDB connection and runs 6
parameter-bound queries against the Parquet glob. Typical latency is
sub-100ms for deals with <10k events.