Agent External Runtime Turn Outcome v1¶
Source schema: doc/schemas/agent.external-runtime.turn-outcome.v1.schema.json
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: agent.external-runtime.turn-outcome.v1 |
|
outcome/ref |
yes |
ref: #/$defs/ref |
|
turn/ref |
yes |
ref: #/$defs/ref |
|
binding/ref |
yes |
ref: #/$defs/ref |
|
agent/id |
yes |
ref: #/$defs/ref |
|
status |
yes |
enum: completed, refused, failed, cancelled, unknown |
|
reason/code |
yes |
ref: #/$defs/reason-code |
|
retryability |
yes |
enum: terminal, retryable, reconciliation-required |
|
product/ref |
no |
ref: #/$defs/ref |
|
product/digest |
no |
ref: #/$defs/digest |
|
budget/reserved |
yes |
ref: #/$defs/finite-budget |
|
budget/charged |
yes |
ref: #/$defs/usage-value |
|
usage/fidelity |
yes |
enum: authoritative, host-measured, estimated, unavailable |
|
session/checkpoint-ref |
no |
ref: #/$defs/ref |
|
selected/at |
yes |
string | |
selected/by |
yes |
ref: #/$defs/ref |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
ref |
string | |
digest |
string | |
positive-safe-integer |
integer | |
finite-budget |
object | |
usage-value |
object | |
reason-code |
enum: completed, policy-denied, binding-missing, binding-stale, binding-mismatch, binding-expired, binding-revoked, profile-disabled, profile-mismatch, budget-exhausted, usage-missing, usage-malformed, usage-overflow, usage-conflict, session-fence-mismatch, session-lost, event-malformed, event-duplicate, event-reordered, event-oversized, event-unauthorized, event-stale, event-timeout, tool-not-admitted, approval-not-admitted, provider-unavailable, cancelled, unknown |
Conditional Rules¶
Rule 1¶
When:
{
"required": [
"status"
],
"properties": {
"status": {
"const": "completed"
}
}
}
Then:
{
"required": [
"product/ref",
"product/digest"
]
}
Rule 2¶
When:
{
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"refused",
"failed",
"cancelled",
"unknown"
]
}
}
}
Then:
{
"not": {
"anyOf": [
{
"required": [
"product/ref"
]
},
{
"required": [
"product/digest"
]
}
]
}
}
Rule 3¶
When:
{
"required": [
"status"
],
"properties": {
"status": {
"const": "unknown"
}
}
}
Then:
{
"properties": {
"retryability": {
"const": "reconciliation-required"
},
"reason/code": {
"const": "unknown"
}
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
agent.external-runtime.turn-outcome.v1
outcome/ref¶
- Required:
yes - Shape: ref:
#/$defs/ref
turn/ref¶
- Required:
yes - Shape: ref:
#/$defs/ref
binding/ref¶
- Required:
yes - Shape: ref:
#/$defs/ref
agent/id¶
- Required:
yes - Shape: ref:
#/$defs/ref
status¶
- Required:
yes - Shape: enum:
completed,refused,failed,cancelled,unknown
reason/code¶
- Required:
yes - Shape: ref:
#/$defs/reason-code
retryability¶
- Required:
yes - Shape: enum:
terminal,retryable,reconciliation-required
product/ref¶
- Required:
no - Shape: ref:
#/$defs/ref
product/digest¶
- Required:
no - Shape: ref:
#/$defs/digest
budget/reserved¶
- Required:
yes - Shape: ref:
#/$defs/finite-budget
budget/charged¶
- Required:
yes - Shape: ref:
#/$defs/usage-value
usage/fidelity¶
- Required:
yes - Shape: enum:
authoritative,host-measured,estimated,unavailable
session/checkpoint-ref¶
- Required:
no - Shape: ref:
#/$defs/ref
selected/at¶
- Required:
yes - Shape: string
selected/by¶
- Required:
yes - Shape: ref:
#/$defs/ref
Definition Semantics¶
$defs.ref¶
- Shape: string
$defs.digest¶
- Shape: string
$defs.positive-safe-integer¶
- Shape: integer
$defs.finite-budget¶
- Shape: object
$defs.usage-value¶
- Shape: object
$defs.reason-code¶
- Shape: enum:
completed,policy-denied,binding-missing,binding-stale,binding-mismatch,binding-expired,binding-revoked,profile-disabled,profile-mismatch,budget-exhausted,usage-missing,usage-malformed,usage-overflow,usage-conflict,session-fence-mismatch,session-lost,event-malformed,event-duplicate,event-reordered,event-oversized,event-unauthorized,event-stale,event-timeout,tool-not-admitted,approval-not-admitted,provider-unavailable,cancelled,unknown