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.