On the barriers
Steps inside a wave run concurrently; waves are hard barriers. Wave N starts only once every step in N−1 has finished — by success, skip, or failure — so no agent ever reads half-built upstream state.
Multi-agent litigation pipeline
76 specialized agents compiled to LangGraph state graphs, composed into a 7-wave DAG. Steps inside a wave run concurrently; waves are hard barriers. The diagram below is the thing I would whiteboard in an interview — architecture only, no client data.
A left-to-right pipeline of 7 waves containing 53 steps in total, drawn from 76 specialized agents. Wave 0: CASE SPINE, 1 step. A hard barrier follows before the next wave begins. Wave 1: FOUNDATIONAL RECORD, 10 concurrent steps. A hard barrier follows before the next wave begins. Wave 2: ORDER OF PROOF, 1 step. A hard barrier follows before the next wave begins. Wave 2.5: CASE THEORY, 2 concurrent steps. A hard barrier follows before the next wave begins. Wave 3: THEMES, 3 concurrent steps. A hard barrier follows before the next wave begins. Wave 4: DEEP ANALYSIS, 25 concurrent steps. A hard barrier follows before the next wave begins. Wave 5: BRIEFS & ACTION PLANS, 9 concurrent steps. A hard barrier follows before the next wave begins. Wave 6: MASTER BLUEPRINT, 2 concurrent steps. The shape is an hourglass: single-step waves gate the 25-step widest wave.
76 agents · 7 waves · barriers between every stage
Steps inside a wave run concurrently; waves are hard barriers. Wave N starts only once every step in N−1 has finished — by success, skip, or failure — so no agent ever reads half-built upstream state.
Single-step bottlenecks at Wave 0 and Wave 2 gate a 25-way fan-out at Wave 4. That makes those two steps the highest-leverage failures in the system: everything downstream inherits their output.
46 of 76 agents run a bounded loop — the model authors its own queries and can decide not to search at all, then a validate node judges whether coverage is sufficient and can re-enter retrieval, capped so it terminates.
“Multi-agent” usually means one prompt shape repeated. These agents fall into four genuinely different shapes, and the difference is whether they retrieve at all — 29 of 76 never touch the vector store, because their evidence is upstream analysis rather than raw documents.
Per-step errors are swallowed so one bad agent doesn’t halt the whole chain. For a pipeline this long that is the right call — but it creates a second obligation that is easy to skip.
If you absorb failures, you owe the user an aggregate. Otherwise a run where several steps failed reports the same terminal state as a clean one, and “completed” quietly stops meaning “complete.” The hourglass sharpens it: because nothing halts, a failure at a single-step wave produces 25 downstream steps running against missing input rather than an early stop.
Naming that is more useful than claiming the system is clean. It is the kind of thing I would rather discuss in an interview than have discovered in one.
This pipeline is one of two NDA projects. Read the full project breakdown →