Sensorium Interface Actuation Status v1¶
Source schema: doc/schemas/sensorium-interface-actuation-status.v1.schema.json
Grant-gated, caller-relative status for one actuation interface.
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: sensorium-interface-actuation-status.v1 |
|
schema/v |
yes |
const: 1 |
|
interface/id |
yes |
ref: #/$defs/interface_ref |
|
source/generation-ref |
yes |
ref: #/$defs/ref |
|
operational/context |
yes |
ref: sensorium-operational-context.v1.schema.json |
|
replacement/interface-id |
no |
ref: #/$defs/interface_ref |
|
coordination/mode |
yes |
enum: shared, exclusive-lease |
|
lifecycle/status |
yes |
enum: published, suspended, withdrawn, expired |
|
health/status |
yes |
enum: ready, degraded |
|
health/reason |
no |
string | |
control/state |
yes |
enum: not-applicable, free, held-by-caller, held |
|
claim/state |
yes |
enum: not-applicable, absent, queued, held |
|
claim/id |
no |
ref: #/$defs/claim_ref |
|
queue/position |
no |
integer | |
lease |
no |
ref: sensorium-interface-control-lease.v1.schema.json |
|
status/at |
yes |
string |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
ref |
string | |
interface_ref |
string | |
claim_ref |
string |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"health/status": {
"const": "degraded"
}
},
"required": [
"health/status"
]
}
Then:
{
"required": [
"health/reason"
]
}
Rule 2¶
When:
{
"properties": {
"coordination/mode": {
"const": "shared"
}
},
"required": [
"coordination/mode"
]
}
Then:
{
"properties": {
"control/state": {
"const": "not-applicable"
},
"claim/state": {
"const": "not-applicable"
}
},
"not": {
"anyOf": [
{
"required": [
"claim/id"
]
},
{
"required": [
"queue/position"
]
},
{
"required": [
"lease"
]
}
]
}
}
Rule 3¶
When:
{
"required": [
"replacement/interface-id"
]
}
Then:
{
"properties": {
"lifecycle/status": {
"const": "withdrawn"
}
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
sensorium-interface-actuation-status.v1
schema/v¶
- Required:
yes - Shape: const:
1
interface/id¶
- Required:
yes - Shape: ref:
#/$defs/interface_ref
source/generation-ref¶
- Required:
yes - Shape: ref:
#/$defs/ref
operational/context¶
- Required:
yes - Shape: ref:
sensorium-operational-context.v1.schema.json
replacement/interface-id¶
- Required:
no - Shape: ref:
#/$defs/interface_ref
coordination/mode¶
- Required:
yes - Shape: enum:
shared,exclusive-lease
lifecycle/status¶
- Required:
yes - Shape: enum:
published,suspended,withdrawn,expired
health/status¶
- Required:
yes - Shape: enum:
ready,degraded
health/reason¶
- Required:
no - Shape: string
control/state¶
- Required:
yes - Shape: enum:
not-applicable,free,held-by-caller,held
claim/state¶
- Required:
yes - Shape: enum:
not-applicable,absent,queued,held
claim/id¶
- Required:
no - Shape: ref:
#/$defs/claim_ref
queue/position¶
- Required:
no - Shape: integer
lease¶
- Required:
no - Shape: ref:
sensorium-interface-control-lease.v1.schema.json
status/at¶
- Required:
yes - Shape: string
Definition Semantics¶
$defs.ref¶
- Shape: string
$defs.interface_ref¶
- Shape: string
$defs.claim_ref¶
- Shape: string