Task
Stability: beta -- This resource kind ships with
orloj.dev/v1and is suitable for production use, but its schema may evolve with migration guidance in future minor releases.
spec
system(string): targetAgentSystemname.mode(string):run(default) ortemplate.input(map[string]string): task payload.priority(string)max_turns(int, >= 0): required for cyclic graph traversal.retry(object):max_attempts(int)backoff(duration string)
message_retry(object):max_attempts(int)backoff(duration string)max_backoff(duration string)jitter:none,full,equalnon_retryable([]string)
requirements(object):region(string)gpu(bool)model(string)
Defaults and Validation
inputdefaults to{}.prioritydefaults tonormal.modedefaults torun.mode=templatemarks a task as non-executable template for schedules.max_turnsmust be>= 0.retrydefaults:max_attempts->1backoff->0s
message_retrydefaults:max_attempts->retry.max_attemptsbackoff->retry.backoffmax_backoff->24hjitter->full
retry.backoff,message_retry.backoff, andmessage_retry.max_backoffmust parse as durations.
status
Primary fields:
phase:Pending,Running,WaitingApproval,Succeeded,Failed,DeadLetter.lastError,startedAt,completedAt,nextAttemptAt,attemptsoutput,assignedWorker,claimedBy,leaseUntil,lastHeartbeatblocked_on: exact approval resource currently pausing the task (kind,name,reason)observedGeneration
The WaitingApproval phase indicates the task is paused pending either a ToolApproval or TaskApproval. Task.status.blocked_on identifies the exact blocker so resume logic is deterministic. Approved reviews transition the task back to Running or Succeeded depending on the checkpoint. Denied or expired approvals transition the task to Failed.
Observability arrays:
trace[]: detailed execution/tool-call events.history[]: lifecycle transitions.messages[]: message bus records.message_idempotency[]: message idempotency state.join_states[]: fan-in join activation state.delegation_states[]: delegation-gate activation state.
Example: examples/resources/tasks/
See also: Task concept