Post

1/ Your AI agent dispatches 3 tools in parallel. The database lookup times out silently. The merge node proceeds with whatever arrived. The agent generates a confident answer from 2/3 of the information it needed. Your logs look clean.

0 reposts1 like

2/ This isn't hypothetical. It's the default behavior in n8n (append mode merge), LangGraph (implicit state), and every ReAct loop. If one branch fails quietly, nothing stops the agent from continuing with partial context.

3/ The fix is a join that blocks until every dispatched path resolves. Not "proceed when something arrives." "Proceed when everything arrives." Skip a tool? Fine. Place the done token directly. But the join won't fire until all tokens are present.

4/ This is a Petri net synchronization primitive. It's been in the formal methods literature since the 60s. I built it into an open-source safety layer for AI agents that works with the Vercel AI SDK.