Przejdź do treści

Sensorium Workbench Process Run Result v1

Source schema: doc/schemas/sensorium-workbench-process-run-result.v1.schema.json

Outcome of one structured command run in a microVM workspace under the command profile it was pinned to (P094-021b). completed carries the exit code and bounded output, and for a declared observation the guest's enforcement evidence; refused proves that nothing ran, except for a detected observation effect or a proven quiesced observation timeout; unknown proves nothing. The result is kept under its idempotency key, so a replay within the retention window does not run it twice.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
schema yes const: sensorium-workbench-process-run-result.v1
schema/v yes const: 1
result/ref yes ref: #/$defs/ref
address yes ref: #/$defs/address
command.profile/ref yes ref: #/$defs/ref
command-profile/digest yes ref: #/$defs/digest
effect/mode yes enum: observation, mutation
outcome yes enum: completed, refused, unknown
exit/code no integer | null Null when a signal ended the process.
stdout/base64 no string
stderr/base64 no string
output/truncated no boolean
effect/enforcement no object The guest's evidence that it enforced the observation; present exactly for a completed observation.
error/code no ref: #/$defs/code
evidence/class no enum: guest-admission, guest-execution, none
observation/timeout no object
source/generation-ref yes ref: #/$defs/ref

Definitions

Definition Shape Description
ref string
digest string
relativePath string
address object
code string

Conditional Rules

Rule 1

When:

{
  "required": [
    "error/code"
  ],
  "properties": {
    "error/code": {
      "const": "observation-timeout-quiesced"
    }
  }
}

Then:

{
  "required": [
    "observation/timeout",
    "evidence/class"
  ],
  "properties": {
    "effect/mode": {
      "const": "observation"
    },
    "outcome": {
      "const": "refused"
    },
    "evidence/class": {
      "const": "guest-execution"
    }
  }
}

Rule 2

When:

{
  "properties": {
    "outcome": {
      "const": "completed"
    }
  }
}

Then:

{
  "required": [
    "exit/code",
    "stdout/base64",
    "stderr/base64",
    "output/truncated"
  ],
  "not": {
    "required": [
      "error/code"
    ]
  }
}

Rule 3

When:

{
  "properties": {
    "outcome": {
      "const": "completed"
    },
    "effect/mode": {
      "const": "observation"
    }
  },
  "required": [
    "outcome",
    "effect/mode"
  ]
}

Then:

{
  "required": [
    "effect/enforcement"
  ]
}

Rule 4

When:

{
  "properties": {
    "effect/mode": {
      "const": "mutation"
    }
  },
  "required": [
    "effect/mode"
  ]
}

Then:

{
  "not": {
    "required": [
      "effect/enforcement"
    ]
  }
}

Field Semantics

schema

  • Required: yes
  • Shape: const: sensorium-workbench-process-run-result.v1

schema/v

  • Required: yes
  • Shape: const: 1

result/ref

  • Required: yes
  • Shape: ref: #/$defs/ref

address

  • Required: yes
  • Shape: ref: #/$defs/address

command.profile/ref

  • Required: yes
  • Shape: ref: #/$defs/ref

command-profile/digest

  • Required: yes
  • Shape: ref: #/$defs/digest

effect/mode

  • Required: yes
  • Shape: enum: observation, mutation

outcome

  • Required: yes
  • Shape: enum: completed, refused, unknown

exit/code

  • Required: no
  • Shape: integer | null

Null when a signal ended the process.

stdout/base64

  • Required: no
  • Shape: string

stderr/base64

  • Required: no
  • Shape: string

output/truncated

  • Required: no
  • Shape: boolean

effect/enforcement

  • Required: no
  • Shape: object

The guest's evidence that it enforced the observation; present exactly for a completed observation.

error/code

  • Required: no
  • Shape: ref: #/$defs/code

evidence/class

  • Required: no
  • Shape: enum: guest-admission, guest-execution, none

observation/timeout

  • Required: no
  • Shape: object

source/generation-ref

  • Required: yes
  • Shape: ref: #/$defs/ref

Definition Semantics

$defs.ref

  • Shape: string

$defs.digest

  • Shape: string

$defs.relativePath

  • Shape: string

$defs.address

  • Shape: object

$defs.code

  • Shape: string