Skip to content

Term

RunAttempt

One infrastructure execution attempt for an AgentRun. Failures, retries, and instance replacements produce new RunAttempts under the same AgentRun.

Parent: AgentRun 1 via run_attempts

Identity
run_attempt_id
Kind
name
Authority role
agent-executor
Mutability
ephemeral
Status
accepted

Purpose

Separate retry and crash semantics from the logical assignment so an AgentRun can survive executor replacement.

Relationships

NameTargetKindCardinalityInverse
agent_runAgentRunreferences1run_attempts 0..*
agent_instanceAgentInstancereferences0..1run_attempts 0..*

Lifecycle

Initial queued. Terminal: succeeded, failed, cancelled.

queuedrunningsucceededfailedcancelled
  • queuedrunning
  • runningsucceeded
  • runningfailed
  • queuedcancelled
  • runningcancelled
  • queuedfailed

Invariants

  • MUST belongs-to-run: A RunAttempt MUST belong to exactly one AgentRun.
  • MUST instance-replaceable: A later RunAttempt MAY be executed by a different AgentInstance than an earlier one.
  • MUST NOT not-the-run: A RunAttempt MUST NOT replace the AgentRun identity.

Aliases

  • execution-attempt

Deprecated aliases

None.

Not synonyms

  • AgentRun: The run is the assignment; the attempt is one try at executing it.
  • Turn: Turns are conversational or control cycles, not infrastructure launches.
  • AgentInstance: The instance is the executor, not the attempt record.

Examples

  • Retrying a failed launch on a replacement AgentInstance under the same agent_run_id.

Anti-examples

  • Minting a new AgentRun because the process crashed.

Fields

The identity field is the index of the handle. fields is the exchange shape.

NameKindTypePortableNotes
run_attempt_ididentitynameTrue
agent_run_idreferencenameTrue
agent_instance_idreferencenameFalse
failure_classmetadatastringTrue

Native mapping hooks

SystemNative termFidelityNotes
project-interop_none_tbd