01Stage 01
Submit
One line. A topic, a company, a sector, a person, a shipping standard - whatever you'd otherwise spend an afternoon on. The query is normalised and checked against your in-flight work so the same question never runs twice.
- Dedup on normalised text●
- 500 char ceiling●
- Rate limited per IP●
02Stage 02
Dispatch
The job enters an in-process queue with fixed concurrency and you are released immediately. Three agents are then fired in parallel - nothing is sequential, nothing waits on a previous answer.
- FIFO queue●
- Promise.allSettled fan-out●
- Partial failure tolerated●
03Stage 03
Synthesise
Each agent returns its own section. The aggregator merges them into a single structured markdown document with a references footer - not three chat logs stapled together.
- Sectioned markdown●
- Reference footer●
- Written to Postgres●
04Stage 04
Return
Every stage change is published to an event bus and streamed to your dashboard over server-sent events. Close the tab if you want. The document is waiting when you come back.
- SSE, no polling●
- Per-user fan-out●
- Permanently archived●
End of protocol