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 }
}
}