Bounded subagents
Delegate independent subtasks to child agents with reduce-only authority, fixed limits, and complete run lineage.
Confluye agents can split independent work into subtasks and delegate them to child agents. Children can run concurrently, but each receives only the tools, context, budget, and authority needed for its assigned task.
How delegation works
- 1
Define bounded tasks
The parent supplies each child with one task, an allowlist of capabilities, selected context references, and limits for steps, duration, tokens, and cost.
- 2
Reduce the authority envelope
Confluye intersects the requested scopes, permissions, credentials, resource access, and tool names with the parent's authority before the child run is created.
- 3
Run children concurrently
Independent children run up to the concurrency limit. Their structured results and usage are returned to the parent, including partial failures without discarding successful siblings.
Reduce-only authority
A child can receive the same authority as its parent or a smaller subset. It can never gain a permission, credential, resource, tool, or capability that the parent does not already have. Capabilities and context references are intersected with the parent's allowlists, and an explicit attempt to expand authority is rejected before any child run is persisted.
Depth, concurrency, and budget limits
The default runtime caps delegation at three levels, eight children per delegation, and four children running concurrently. Every child must fit within the parent's remaining deadline and per-run limits. The combined step, token, and cost budgets of all children must also fit within the parent's budget.
If the parent is canceled, Confluye cancels its persisted descendants as one run tree. A child that reaches its deadline stops without extending the parent deadline.
Traceability in the run ledger
Each child is a first-class run linked to its parent and to the root correlation for the entire delegation tree. The run ledger records child status, usage, terminal reason, steps, tool calls, confirmation waits, and failures. You can navigate from a parent to its children and from a child back to its parent while keeping one end-to-end trace.
