29 lines
1.7 KiB
JSON
29 lines
1.7 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://metacrate.invalid/schema/grid-agent-acceptance-v1.json",
|
|
"title": "MetaCrate grid-agent acceptance evidence",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["schema_version", "sequence", "unix_millis", "package_version", "source_revision", "rust_toolchain", "command", "profile", "grid_type", "endpoint_capabilities", "stage", "status", "duration_millis", "outcome_code", "evidence_sha256", "metrics", "limitations"],
|
|
"properties": {
|
|
"schema_version": { "const": 1 },
|
|
"sequence": { "type": "integer", "minimum": 1 },
|
|
"unix_millis": { "type": "integer", "minimum": 0 },
|
|
"package_version": { "type": "string", "maxLength": 64 },
|
|
"source_revision": { "type": "string", "maxLength": 96 },
|
|
"rust_toolchain": { "type": "string", "maxLength": 96 },
|
|
"command": { "type": "string", "maxLength": 256 },
|
|
"profile": { "enum": ["deterministic_offline", "live_grid"] },
|
|
"grid_type": { "type": "string", "maxLength": 96 },
|
|
"endpoint_capabilities": { "type": "array", "maxItems": 16, "items": { "type": "string", "maxLength": 96 } },
|
|
"stage": { "type": "string", "maxLength": 96 },
|
|
"status": { "enum": ["passed", "failed", "not_run"] },
|
|
"duration_millis": { "type": "integer", "minimum": 0 },
|
|
"budget_millis": { "type": ["integer", "null"], "minimum": 0 },
|
|
"outcome_code": { "type": "string", "maxLength": 96 },
|
|
"evidence_sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
"metrics": { "type": "object", "additionalProperties": { "type": ["integer", "number", "boolean", "string"] } },
|
|
"limitations": { "type": "array", "maxItems": 32, "items": { "type": "string", "maxLength": 256 } }
|
|
}
|
|
}
|