Skip to content

BenchX environment identity

urn:benchx:schema:env-identity:0.1.0 · version 0.1.0 · schema.json · source

The shape of coordinates.environment when coordinates.environment.schema_version is "benchx/env-identity/0.1.0" (docs/design/runner-schema.md §5.2). A fact goes in identity when it names the machine, and in system otherwise.

Implementer note

coordinates.environment.identity is deliberately open in schemas/measurement-result/0.1.0 (minProperties: 1 only), to allow other identity schemas. A validator applies this schema to a result's coordinates.environment object only when its schema_version field equals "benchx/env-identity/0.1.0". GPU UUIDs stay out of identity (in system) so that swapping a card of the same model does not split history; the device a result used is coordinates.resource_selection, not here.

Properties

Property Required Type Description
schema_version yes constant "benchx/env-identity/0.1.0"
identity yes object See identity.
system object Facts that do not name the machine: hostname, GPU UUIDs, BIOS/firmware strings, and the fields of runner-schema.md §5.3.

No other properties are allowed.

identity

Property Required Type Description
machine_id yes string (min length 1) Salted hash of /etc/machine-id or equivalent.
cpu yes object See identity.cpu.
memory_bytes yes integer (>= 0)
gpus array of object Visible accelerators by model. GPU UUIDs are in system, not here.
os yes object See identity.os.
virtualization yes one of "bare-metal", "vm", "container", "wsl"
policy yes string (pattern ^\S+@\S+$) The environment policy applied, as name@version (schemas/environment-policy/0.1.0).
enforced yes object The values the policy actually applied, keyed by check name (runner-schema.md §4.1).

No other properties are allowed.

identity.cpu

Property Required Type Description
model yes string (min length 1)
logical_cores yes integer (>= 1)

No other properties are allowed.

identity.os

Property Required Type Description
family yes string (min length 1)

No other properties are allowed.

Examples

{
  "schema_version": "benchx/env-identity/0.1.0",
  "identity": {
    "machine_id": "sha256:3e1f...",
    "cpu": { "model": "Intel Core i7-1260P", "logical_cores": 16 },
    "memory_bytes": 17179869184,
    "os": { "family": "linux" },
    "virtualization": "wsl",
    "policy": "laptop-default@1.0.0",
    "enforced": { "threads.max": 1 }
  }
}