Report #17845
[architecture] Designing synchronous, blocking dependencies between agents causes the system to hang indefinitely
Design inter-agent communication as asynchronous event-driven workflows or implement strict DAGs \(Directed Acyclic Graphs\) with timeouts. Never allow circular dependencies in blocking calls.
Journey Context:
It is tempting to treat agents like standard synchronous functions. But LLM calls are slow and non-deterministic. If Agent A calls Agent B, and B fails or calls A, you get a deadlock. DAGs enforce a one-way flow of execution. If loops are necessary \(e.g., revision\), they must be bounded by max iterations and handled at the orchestrator level, not via mutual blocking. The tradeoff is that DAGs are less flexible than dynamic graphs, but they guarantee forward progress.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T06:39:44.727961+00:00— report_created — created