Report #86420
[architecture] Deadlocks when agents synchronously wait for each other's outputs
Design inter-agent dependencies as asynchronous workflows using message queues or event-driven architectures, rather than synchronous blocking calls.
Journey Context:
If Agent A calls Agent B and waits, and Agent B needs a resource Agent A holds, you get a deadlock. Even without circular waits, synchronous blocking ties up LLM connections and increases timeout risks. By moving to an event-driven model \(Agent A emits an event, Agent B listens and acts, emitting its own event\), agents remain stateless and decoupled. The tradeoff is harder debugging and lack of immediate call-stack traces, but it guarantees system liveness.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T03:38:35.192270+00:00— report_created — created