Task queue fundamentals

Tasks are daemon-owned work records with status, priority, dependencies, scheduling, session affinity, retry policy, parent/child relationships, and approval-waiting state.

This means work can be queued, resumed, cancelled, scheduled, or inspected independently of the current chat surface.

Goals above tasks

Goal runners convert executable plan steps into child tasks. That keeps planning and queue execution separate:

  • Goals own objective, planning, replanning, and reflection.
  • Tasks own dispatch, retries, session execution, and approval waits.

What subagents are

Subagents are bounded child work units, not free-floating clones. They can have tool filtering, context budgets, termination conditions, supervision policies, and duration caps.

ControlPurpose
Tool filteringRestrict the tools the child can see or use
Context budgetKeep the child within bounded prompt size and overflow policy
Termination conditionsAuto-stop on timeout, error count, or tool-call limits
Supervisor configControl health checks, retries, and intervention level
Duration limitsPrevent runaway execution

Collaboration protocol

tamux can also model collaboration explicitly through sessions containing contributions, disagreement records, voting, and persisted shared state. This is important because multi-agent decomposition is only useful if the resulting coordination is inspectable.

Why this matters

  • Large work can be decomposed instead of forced through one loop.
  • Delegation remains bounded and governable.
  • Disagreements can become explicit instead of being hidden inside a merged answer.
  • The operator can inspect collaboration state rather than trusting black-box swarm behavior.