Examples¶
These examples illustrate how status, scope, and retry semantics compose. They are informative; the specification is normative.
Human approval before purchase¶
A travel agent can search autonomously but cannot commit a purchase without approval:
{
"spec_version": "0.1.0",
"status": {
"code": 3002,
"name": "HUMAN_APPROVAL_REQUIRED",
"kind": "status",
"scope": "task",
"phase": "WAITING",
"terminal": false,
"severity": "warning"
},
"message": {
"user": "Approval is required before purchasing this flight."
},
"remediation": [
{
"action": "approve",
"approval_request_id": "approval-e721",
"expires_at": "2026-08-08T12:45:00Z"
},
{
"action": "reject",
"approval_request_id": "approval-e721"
}
],
"occurred_at": "2026-08-08T12:30:00Z"
}
After approval, the booking uses an idempotency key and completes with
ASC-2000 SUCCESS.
If the booking request times out, the status depends on side-effect certainty:
- If the request definitely never reached the booking service, use
TIMEOUTwithretry.safe: true. - If the charge may have committed but its response was lost, use
RESULT_STATE_UNKNOWNand reconcile before retrying.
Partial customer-support outcome¶
A user requests a refund and a confirmation email. The agent lacks refund permission but sends the email.
| Scope | Operation | Status |
|---|---|---|
| Tool call | Read order | ASC-2000 SUCCESS |
| Tool call | Issue refund | ASC-4002 PERMISSION_DENIED |
| Tool call | Send email | ASC-2000 SUCCESS |
| Parent task | Complete request | ASC-2002 PARTIAL_SUCCESS |
The parent is not SUCCESS_WITH_WARNINGS: one requested side effect did not
occur. It is not PERMISSION_DENIED: that would discard the completed work.
{
"status": {
"code": 2002,
"name": "PARTIAL_SUCCESS",
"scope": "task",
"terminal": true,
"severity": "warning"
},
"details": {
"requested_units": 2,
"succeeded_units": 1,
"failed_units": 1,
"committed_side_effects": ["confirmation_email_sent"]
}
}
Verification and repair¶
A research agent generates an answer, then a groundedness evaluator establishes
that a material claim contradicts its cited evidence. The artefact gets a
HALLUCINATION_DETECTED condition.
The orchestrator may remove the claim, retrieve better evidence, or regenerate.
If repair succeeds, the task finishes with SUCCESS and preserves the earlier
condition in its history. If policy prohibits delivery after repair fails, the
task can finish with HALLUCINATION_DETECTED as its primary status.
Retry timeline¶
A coding agent encounters a transient repository-tool rate limit and later succeeds:
12:00:00 ASC-1010 RUNNING
12:00:01 ASC-8001 PROMPT_CACHE_MISS event
12:00:04 ASC-5001 RATE_LIMITED child tool status
12:00:04 ASC-1030 RETRY_SCHEDULED task status
12:00:06 ASC-8003 RETRY_ATTEMPTED event
12:00:08 ASC-2000 SUCCESS terminal task status
The final primary status is SUCCESS. The cache miss and retry remain events,
so they are available for cost and reliability analysis without misclassifying
the completed task.