Sensorium Virt Guest Frame v1¶
Source schema: doc/schemas/sensorium-virt-guest-frame.v1.schema.json
Bounded generation-, plan-, image-, and boot-bound frame for the Workbench guest channel.
Governing Basis¶
Project Lineage¶
Requirements¶
doc/project/50-requirements/requirements-006-node-networking-mvp.mddoc/project/50-requirements/requirements-010-middleware-executor.mddoc/project/50-requirements/requirements-011-dator-arca-contracts.mddoc/project/50-requirements/requirements-014-resource-opinions.md
Stories¶
doc/project/30-stories/story-001-swarm-node-onboarding.mddoc/project/30-stories/story-004-pod-client-onboarding.mddoc/project/30-stories/story-005-whisper-rumor-intake.mddoc/project/30-stories/story-006-buyer-node-components.mddoc/project/30-stories/story-006-voluntary-swarm-exchange.mddoc/project/30-stories/story-007-settlement-capable-node.mddoc/project/30-stories/story-008-cool-site-comment.mddoc/project/30-stories/story-009-bielik-blog-arca.md
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: sensorium-virt-guest-frame.v1 |
|
schema/v |
yes |
const: 1 |
|
frame/kind |
yes |
enum: handshake, request, chunk, result, error |
|
environment/ref |
yes |
ref: #/$defs/ref |
|
source/generation-ref |
yes |
ref: #/$defs/ref |
|
plan/digest |
yes |
ref: #/$defs/digest |
|
image/manifest-digest |
yes |
ref: #/$defs/digest |
|
guest-agent/protocol-version |
yes |
const: 1 |
|
guest/cid |
yes |
integer | |
boot/nonce |
yes |
string | |
operation/id |
no |
ref: #/$defs/ref |
|
operation/kind |
no |
enum: spawn-process, open-pty, terminal-input, terminal-resize, terminal-signal, file-snapshot, file-read, patch-stage, artifact-export, quiesce, shutdown |
|
sequence |
yes |
integer | |
deadline-at |
yes |
string | |
chunk/index |
no |
integer | |
chunk/count |
no |
integer | |
payload/length |
yes |
integer | |
payload/digest |
yes |
ref: #/$defs/digest |
|
payload/base64 |
no |
string |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
ref |
string | |
digest |
string |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"frame/kind": {
"enum": [
"request",
"chunk",
"result",
"error"
]
}
},
"required": [
"frame/kind"
]
}
Then:
{
"required": [
"operation/id",
"operation/kind"
]
}
Rule 2¶
When:
{
"properties": {
"frame/kind": {
"const": "chunk"
}
},
"required": [
"frame/kind"
]
}
Then:
{
"required": [
"chunk/index",
"chunk/count",
"payload/base64"
],
"properties": {
"payload/length": {
"maximum": 65536
}
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
sensorium-virt-guest-frame.v1
schema/v¶
- Required:
yes - Shape: const:
1
frame/kind¶
- Required:
yes - Shape: enum:
handshake,request,chunk,result,error
environment/ref¶
- Required:
yes - Shape: ref:
#/$defs/ref
source/generation-ref¶
- Required:
yes - Shape: ref:
#/$defs/ref
plan/digest¶
- Required:
yes - Shape: ref:
#/$defs/digest
image/manifest-digest¶
- Required:
yes - Shape: ref:
#/$defs/digest
guest-agent/protocol-version¶
- Required:
yes - Shape: const:
1
guest/cid¶
- Required:
yes - Shape: integer
boot/nonce¶
- Required:
yes - Shape: string
operation/id¶
- Required:
no - Shape: ref:
#/$defs/ref
operation/kind¶
- Required:
no - Shape: enum:
spawn-process,open-pty,terminal-input,terminal-resize,terminal-signal,file-snapshot,file-read,patch-stage,artifact-export,quiesce,shutdown
sequence¶
- Required:
yes - Shape: integer
deadline-at¶
- Required:
yes - Shape: string
chunk/index¶
- Required:
no - Shape: integer
chunk/count¶
- Required:
no - Shape: integer
payload/length¶
- Required:
yes - Shape: integer
payload/digest¶
- Required:
yes - Shape: ref:
#/$defs/digest
payload/base64¶
- Required:
no - Shape: string
Definition Semantics¶
$defs.ref¶
- Shape: string
$defs.digest¶
- Shape: string