Skip to content

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