Skip to content

Sensorium Interface Read Result v1

Source schema: doc/schemas/sensorium-interface-read-result.v1.schema.json

Bounded delivery batch and its single cursor-advancement unit.

Fields

Field Required Shape Description
schema yes const: sensorium-interface-read-result.v1 Contract discriminator.
schema/v yes const: 1 Contract version.
interface/id yes string Interface resource that produced this batch.
source/generation-ref yes string Exact source generation repeated from the current descriptor.
operational/context yes ref: sensorium-operational-context.v1.schema.json
delivery/kind yes enum: one-shot, subscription Delivery binding echoed from the admitted request.
subscription/id no string Caller-bound lease that owns cursor progress for subscription delivery.
batch/outcome yes enum: data, no-change, terminal Successful data, bounded timeout without change, or final subscription outcome.
cursor/next no string Opaque resume point after accepting the complete batch.
frames yes array Ordered frames delivered atomically with cursor progress.
delivery/diagnostics yes object Bounded delivery-loss and coalescing evidence for this result.
causal/context yes ref: causal-context.v1.schema.json P081 batch context for traceability; never authority.

Conditional Rules

Rule 1

When:

{
  "properties": {
    "delivery/kind": {
      "const": "subscription"
    }
  },
  "required": [
    "delivery/kind"
  ]
}

Then:

{
  "required": [
    "subscription/id",
    "cursor/next"
  ]
}

Rule 2

When:

{
  "properties": {
    "batch/outcome": {
      "const": "no-change"
    }
  },
  "required": [
    "batch/outcome"
  ]
}

Then:

{
  "properties": {
    "frames": {
      "maxItems": 0
    }
  }
}

Rule 3

When:

{
  "properties": {
    "batch/outcome": {
      "const": "data"
    }
  },
  "required": [
    "batch/outcome"
  ]
}

Then:

{
  "properties": {
    "frames": {
      "minItems": 1
    }
  }
}

Rule 4

When:

{
  "properties": {
    "batch/outcome": {
      "const": "terminal"
    }
  },
  "required": [
    "batch/outcome"
  ]
}

Then:

{
  "properties": {
    "delivery/kind": {
      "const": "subscription"
    },
    "frames": {
      "minItems": 1,
      "maxItems": 1,
      "items": {
        "allOf": [
          {
            "$ref": "sensorium-interface-frame.v1.schema.json"
          },
          {
            "properties": {
              "frame/kind": {
                "const": "end"
              }
            }
          }
        ]
      }
    }
  }
}

Field Semantics

schema

  • Required: yes
  • Shape: const: sensorium-interface-read-result.v1

Contract discriminator.

schema/v

  • Required: yes
  • Shape: const: 1

Contract version.

interface/id

  • Required: yes
  • Shape: string

Interface resource that produced this batch.

source/generation-ref

  • Required: yes
  • Shape: string

Exact source generation repeated from the current descriptor.

operational/context

  • Required: yes
  • Shape: ref: sensorium-operational-context.v1.schema.json

delivery/kind

  • Required: yes
  • Shape: enum: one-shot, subscription

Delivery binding echoed from the admitted request.

subscription/id

  • Required: no
  • Shape: string

Caller-bound lease that owns cursor progress for subscription delivery.

batch/outcome

  • Required: yes
  • Shape: enum: data, no-change, terminal

Successful data, bounded timeout without change, or final subscription outcome.

cursor/next

  • Required: no
  • Shape: string

Opaque resume point after accepting the complete batch.

frames

  • Required: yes
  • Shape: array

Ordered frames delivered atomically with cursor progress.

delivery/diagnostics

  • Required: yes
  • Shape: object

Bounded delivery-loss and coalescing evidence for this result.

causal/context

  • Required: yes
  • Shape: ref: causal-context.v1.schema.json

P081 batch context for traceability; never authority.