BenchX target provider request¶
urn:benchx:schema:target-provider-request:0.1.0 · version 0.1.0 · schema.json · source
What the workbench writes to a target provider's stdin (docs/design/system-decomposition.md §3.4). One request is one target; a comparison is two independent requests. The provider answers with a target description on stdout, or exits nonzero with its message on stderr.
Implementer note
prepare may build, incrementally and repeatably, and must finish before any work order exists. describe never builds or changes anything: it reports a target that already exists, and exits nonzero when there is none. configuration is a project-defined name that benchx treats as opaque.
Properties¶
| Property | Required | Type | Description |
|---|---|---|---|
schema_version |
yes | constant "benchx/target-provider-request/0.1.0" |
|
operation |
yes | one of "describe", "prepare" |
|
source_ref |
yes | string (min length 1) | What to provide a target for: a revision, the token WORKSPACE for the current checkout, or a path. Interpreted by the provider. |
configuration |
string or null | Project-defined configuration name, such as hardened or plain. Opaque to benchx; absent or null means the provider's default. |
No other properties are allowed.
Examples¶
{
"schema_version": "benchx/target-provider-request/0.1.0",
"operation": "describe",
"source_ref": "HEAD~1"
}
{
"schema_version": "benchx/target-provider-request/0.1.0",
"operation": "prepare",
"source_ref": "WORKSPACE",
"configuration": "hardened"
}