Appearance
Runtime model
Agent Runtime uses a small identity hierarchy so long-running work can be resumed, inspected, delegated, and audited.
text
runtime
session
task
run
thread
turn
step
tool_call | action_request | artifact_ref | evidence_ref
subagentIdentities
session: durable user-visible container. It may map to a conversation, workspace task, remote channel thread, or workflow job.task: durable unit of work with objective, lifecycle, attempts, relationships, acceptance, and recovery state. It may belong to a thread, span multiple turns, or run in the background.run: one execution attempt for a task. Retries, resumes, and alternate worker executions should create new runs instead of overwriting task history.thread: ordered execution context inside a session. A session can contain multiple threads when work branches, delegates, or runs in parallel.turn: one submitted input cycle. It starts when work is accepted or queued and ends when completed, failed, or cancelled.step: ordered runtime item such as status, text, reasoning, tool call, approval request, artifact, warning, or evidence link.subagent: child runtime context with parent ids and its own lifecycle.artifact_refandevidence_ref: stable references to owned systems, not copied content.
Ownership rule
The runtime owns identity, status, sequencing, queue state, and action lifecycle. Adjacent systems own their own facts:
| Fact | Owner |
|---|---|
| Model output chunks and provider errors | Provider adapter, normalized by runtime. |
| Tool schema and external execution | Tool or connector system, orchestrated by runtime. |
| Memory, search, and knowledge facts | Context system, selected by runtime. |
| Artifact bytes and versions | Artifact service, referenced by runtime. |
| Verification and review verdicts | Evidence system, exported by runtime. |
| Visible UI state | Agent UI or host product, never runtime truth. |
Correlation
A compatible runtime SHOULD carry correlation ids through every boundary:
trace_idandspan_idfor telemetry.request_idfor transport or API request correlation.turn_idandtool_call_idfor tool and provider calls.task_idandrun_idfor task lifecycle, retries, and background work.action_idfor human decisions.artifact_idandevidence_idfor durable refs.
If correlation is unavailable, the runtime should mark the gap. It should not invent a false join.