Sensorium Interface Descriptor v1¶
Source schema: doc/schemas/sensorium-interface-descriptor.v1.schema.json
Immutable publication contract for one deliberately exposed Sensorium or Workbench projection.
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: sensorium-interface-descriptor.v1 |
Contract discriminator. |
schema/v |
yes |
const: 1 |
Contract version. |
interface/id |
yes |
string | Stable resource identifier for this interface publication. |
interface/kind |
yes |
const: observation |
Directional resource kind. |
interface/name |
yes |
string | Short operator-facing name; not an authority identifier. |
publisher/node-ref |
yes |
string | Node that owns publication and source-side policy. |
output/schema-ref |
yes |
string | Schema required for each data frame payload. |
delivery/semantics |
yes |
enum: latest-state, ordered-events |
Whether the interface exposes one current snapshot or a bounded ordered event window. |
access/modes |
yes |
array | Operations that may be granted for this interface. |
classification/max-tier |
yes |
enum: Public, Community, Personal |
Most restrictive effective tier this interface accepts at egress. |
classification/topic-class |
yes |
string | Exact topic-class binding required for Interface declassification facts. |
redaction/profile-ref |
no |
string | Optional source-owned redaction profile applied before frame creation. |
source/generation-ref |
yes |
string | Opaque host-derived identity of the concrete source generation. |
operational/context |
yes |
ref: sensorium-operational-context.v1.schema.json |
|
supersedes/interface-id |
no |
string | Prior publication atomically replaced by this publication. |
limits |
yes |
object | Hard publication ceilings further narrowed by callers and host policy. |
overflow/policy |
yes |
enum: coalesce-latest, emit-gap, close-subscription |
Explicit behavior when source state exceeds its delivery window. |
published/at |
yes |
string | Publication creation time. |
expires/at |
yes |
string | Hard end of the publication lifetime. |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"delivery/semantics": {
"const": "latest-state"
}
},
"required": [
"delivery/semantics"
]
}
Then:
{
"properties": {
"overflow/policy": {
"const": "coalesce-latest"
},
"limits": {
"not": {
"anyOf": [
{
"required": [
"replay/max-frames"
]
},
{
"required": [
"replay/max-seconds"
]
}
]
}
}
}
}
Rule 2¶
When:
{
"properties": {
"delivery/semantics": {
"const": "ordered-events"
}
},
"required": [
"delivery/semantics"
]
}
Then:
{
"properties": {
"overflow/policy": {
"enum": [
"emit-gap",
"close-subscription"
]
},
"limits": {
"required": [
"replay/max-frames",
"replay/max-seconds"
]
}
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
sensorium-interface-descriptor.v1
Contract discriminator.
schema/v¶
- Required:
yes - Shape: const:
1
Contract version.
interface/id¶
- Required:
yes - Shape: string
Stable resource identifier for this interface publication.
interface/kind¶
- Required:
yes - Shape: const:
observation
Directional resource kind.
interface/name¶
- Required:
yes - Shape: string
Short operator-facing name; not an authority identifier.
publisher/node-ref¶
- Required:
yes - Shape: string
Node that owns publication and source-side policy.
output/schema-ref¶
- Required:
yes - Shape: string
Schema required for each data frame payload.
delivery/semantics¶
- Required:
yes - Shape: enum:
latest-state,ordered-events
Whether the interface exposes one current snapshot or a bounded ordered event window.
access/modes¶
- Required:
yes - Shape: array
Operations that may be granted for this interface.
classification/max-tier¶
- Required:
yes - Shape: enum:
Public,Community,Personal
Most restrictive effective tier this interface accepts at egress.
classification/topic-class¶
- Required:
yes - Shape: string
Exact topic-class binding required for Interface declassification facts.
redaction/profile-ref¶
- Required:
no - Shape: string
Optional source-owned redaction profile applied before frame creation.
source/generation-ref¶
- Required:
yes - Shape: string
Opaque host-derived identity of the concrete source generation.
operational/context¶
- Required:
yes - Shape: ref:
sensorium-operational-context.v1.schema.json
supersedes/interface-id¶
- Required:
no - Shape: string
Prior publication atomically replaced by this publication.
limits¶
- Required:
yes - Shape: object
Hard publication ceilings further narrowed by callers and host policy.
overflow/policy¶
- Required:
yes - Shape: enum:
coalesce-latest,emit-gap,close-subscription
Explicit behavior when source state exceeds its delivery window.
published/at¶
- Required:
yes - Shape: string
Publication creation time.
expires/at¶
- Required:
yes - Shape: string
Hard end of the publication lifetime.