Service Order Result v1¶
Source schema: doc/schemas/service-order-result.v1.schema.json
Terminal service-order result artifact sent by Dator to Arca through Artifact Delivery. This artifact reports only completed, failed, or rejected outcomes; non-terminal provider progress belongs to a separate future event schema.
Governing Basis¶
doc/project/40-proposals/021-service-offers-orders-and-procurement-bridge.mddoc/project/60-solutions/023-artifact-delivery/023-artifact-delivery.md
Project Lineage¶
Requirements¶
doc/project/50-requirements/requirements-010-middleware-executor.mddoc/project/50-requirements/requirements-011-dator-arca-contracts.md
Stories¶
doc/project/30-stories/story-001-swarm-node-onboarding.mddoc/project/30-stories/story-004-pod-client-onboarding.mddoc/project/30-stories/story-006-buyer-node-components.mddoc/project/30-stories/story-006-voluntary-swarm-exchange.md
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: service-order.result.v1 |
|
request_id |
yes |
string | |
workflow/run-id |
yes |
string | |
workflow/phase-id |
yes |
string | |
correlation/id |
yes |
string | |
service_type |
yes |
string | |
status |
yes |
enum: completed, failed, rejected |
|
output |
no |
object | array | string | number | boolean | null | Provider output for completed results. Large output may be represented by result/artifact-digest plus AD object-store indirect payload. |
error |
no |
ref: #/$defs/error |
|
provider/node-id |
yes |
string | |
provider/participant-id |
yes |
string | |
provider/metadata |
no |
object | |
settlement/refs |
no |
array | |
receipt/ref |
no |
string | |
hold/ref |
no |
string | |
result/artifact-digest |
no |
string | |
responded_at |
yes |
string |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
error |
object |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"status": {
"const": "completed"
}
},
"required": [
"status"
]
}
Then:
{
"required": [
"output"
],
"not": {
"required": [
"error"
]
}
}
Rule 2¶
When:
{
"properties": {
"status": {
"enum": [
"failed",
"rejected"
]
}
},
"required": [
"status"
]
}
Then:
{
"required": [
"error"
],
"not": {
"required": [
"output"
]
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
service-order.result.v1
request_id¶
- Required:
yes - Shape: string
workflow/run-id¶
- Required:
yes - Shape: string
workflow/phase-id¶
- Required:
yes - Shape: string
correlation/id¶
- Required:
yes - Shape: string
service_type¶
- Required:
yes - Shape: string
status¶
- Required:
yes - Shape: enum:
completed,failed,rejected
output¶
- Required:
no - Shape: object | array | string | number | boolean | null
Provider output for completed results. Large output may be represented by result/artifact-digest plus AD object-store indirect payload.
error¶
- Required:
no - Shape: ref:
#/$defs/error
provider/node-id¶
- Required:
yes - Shape: string
provider/participant-id¶
- Required:
yes - Shape: string
provider/metadata¶
- Required:
no - Shape: object
settlement/refs¶
- Required:
no - Shape: array
receipt/ref¶
- Required:
no - Shape: string
hold/ref¶
- Required:
no - Shape: string
result/artifact-digest¶
- Required:
no - Shape: string
responded_at¶
- Required:
yes - Shape: string
Definition Semantics¶
$defs.error¶
- Shape: object