98 lines
2.5 KiB
JSON
98 lines
2.5 KiB
JSON
|
|
{
|
||
|
|
"interface": "railiance.synthetic-load-driver",
|
||
|
|
"version": 1,
|
||
|
|
"workplan_id": "RAILIANCE-WP-0024",
|
||
|
|
"task_id": "RAILIANCE-WP-0024-T02",
|
||
|
|
"contract_id": "RAILIANCE-WP-0024-T02-SYNTHETIC-01",
|
||
|
|
"owner": "audit-core",
|
||
|
|
"invocation": [
|
||
|
|
"<driver>",
|
||
|
|
"<phase>",
|
||
|
|
"--contract-id",
|
||
|
|
"RAILIANCE-WP-0024-T02-SYNTHETIC-01"
|
||
|
|
],
|
||
|
|
"stdout": "Exactly one JSON object containing exactly the keys declared for the phase.",
|
||
|
|
"stderr": "Must not contain a bearer, payload, response body, database credential, Secret data or OpenBao output.",
|
||
|
|
"phases": {
|
||
|
|
"baseline": {
|
||
|
|
"keys": [
|
||
|
|
"contract_id",
|
||
|
|
"fixture_id",
|
||
|
|
"status",
|
||
|
|
"secret_values_observed"
|
||
|
|
],
|
||
|
|
"status": [
|
||
|
|
"ready"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"expect-unavailable": {
|
||
|
|
"keys": [
|
||
|
|
"contract_id",
|
||
|
|
"fixture_id",
|
||
|
|
"status",
|
||
|
|
"http_status",
|
||
|
|
"attempts",
|
||
|
|
"secret_values_observed"
|
||
|
|
],
|
||
|
|
"status": [
|
||
|
|
"retryable_unavailable"
|
||
|
|
],
|
||
|
|
"http_status": [
|
||
|
|
503
|
||
|
|
],
|
||
|
|
"minimum_attempts": 1
|
||
|
|
},
|
||
|
|
"expect-recovered": {
|
||
|
|
"keys": [
|
||
|
|
"contract_id",
|
||
|
|
"fixture_id",
|
||
|
|
"status",
|
||
|
|
"http_status",
|
||
|
|
"attempts",
|
||
|
|
"secret_values_observed"
|
||
|
|
],
|
||
|
|
"status": [
|
||
|
|
"accepted",
|
||
|
|
"duplicate"
|
||
|
|
],
|
||
|
|
"http_status": [
|
||
|
|
200,
|
||
|
|
202
|
||
|
|
],
|
||
|
|
"minimum_attempts": 1
|
||
|
|
},
|
||
|
|
"cleanup": {
|
||
|
|
"keys": [
|
||
|
|
"contract_id",
|
||
|
|
"fixture_id",
|
||
|
|
"status",
|
||
|
|
"secret_values_observed"
|
||
|
|
],
|
||
|
|
"status": [
|
||
|
|
"clean"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"invariants": [
|
||
|
|
"contract_id equals the requested contract on every phase",
|
||
|
|
"fixture_id is identical across every phase",
|
||
|
|
"secret_values_observed is false on every phase",
|
||
|
|
"only a separately approved synthetic sender and tenant are used",
|
||
|
|
"the bearer is read only from an approved mounted file and never reaches the parent shell",
|
||
|
|
"expect-unavailable treats HTTP 503 as retryable evidence and never retries 400, 401, 403 or 409",
|
||
|
|
"cleanup stops and removes driver-owned ephemeral runtime; an accepted immutable audit fixture is retained under the audit evidence contract",
|
||
|
|
"temporary sender identity cleanup remains an attended railiance-platform custody action"
|
||
|
|
],
|
||
|
|
"candidate_receipt": {
|
||
|
|
"source_repo": "audit-core",
|
||
|
|
"required_fields": [
|
||
|
|
"source_revision",
|
||
|
|
"source_path",
|
||
|
|
"driver_revision",
|
||
|
|
"reviewer",
|
||
|
|
"created_at"
|
||
|
|
],
|
||
|
|
"registration_executes_driver": false
|
||
|
|
}
|
||
|
|
}
|