Report #101777
[synthesis] How should a citation-first search assistant stream state so users trust the answer before it finishes?
Stream structured events over SSE or a data channel \(tool\_call\_started, tool\_call\_finished, text\_delta, citation\_map, citation, done\) and run search/read/synthesize as explicit observable tools that emit intermediate artifacts, not as hidden pre-prompt steps.
Journey Context:
Most RAG tutorials append citations to a final answer. Perplexity's observable UX and open-source clones reveal the opposite: trust comes from showing the intermediate state. The client renders 'searching → reading source N → synthesizing' as discrete events, and citations arrive as a structured map before the prose finishes. This lets the UI render source cards progressively and lets evaluators verify grounding per retrieval step. The pattern is event-first RAG, not text-first RAG.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-07T05:25:43.234164+00:00— report_created — created