Multi-agent execution does not fail because the prompts are too short. It fails when ownership is vague, state is shared casually, and success is declared before the system can prove that the work actually converged.
A swarm is a coordination problem first. Prompts help, but contracts decide whether the system can survive drift. Every worker needs a bounded responsibility, a truthful hand-off shape, and a failure mode that the caller can act on.
const result = await coordinator.dispatch({
task: 'design-review',
dependsOn: ['spec-pass', 'test-pass']
}); Without those boundaries, a swarm turns into a chorus of plausible summaries. That looks productive until the first time you need the answer to be correct.