88 lines
2.7 KiB
JSON
88 lines
2.7 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://chimera-gfx.invalid/schemas/artifact-manifest-v1.json",
|
|
"title": "Chimera GFX artifact manifest",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"schema_version",
|
|
"artifact",
|
|
"source",
|
|
"toolchain",
|
|
"firmware_gate",
|
|
"execution",
|
|
"safety"
|
|
],
|
|
"properties": {
|
|
"schema_version": {"const": 1},
|
|
"artifact": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["id", "version", "filename", "size", "sha256", "target"],
|
|
"properties": {
|
|
"id": {"type": "string", "minLength": 1},
|
|
"version": {"type": "string", "minLength": 1},
|
|
"filename": {"type": "string", "pattern": "^[^/\\\\]+$"},
|
|
"size": {"type": "integer", "minimum": 1},
|
|
"sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"target": {"type": "string", "minLength": 1}
|
|
}
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["repository", "commit", "dirty"],
|
|
"properties": {
|
|
"repository": {"type": "string", "minLength": 1},
|
|
"commit": {"type": "string", "pattern": "^[0-9a-f]{40}$"},
|
|
"dirty": {"const": false}
|
|
}
|
|
},
|
|
"toolchain": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["ps5_payload_sdk_release", "ps5_payload_sdk_commit"],
|
|
"properties": {
|
|
"ps5_payload_sdk_release": {"type": "string", "minLength": 1},
|
|
"ps5_payload_sdk_commit": {"type": "string", "pattern": "^[0-9a-f]{40}$"},
|
|
"sdl_commit": {"type": "string", "pattern": "^[0-9a-f]{40}$"}
|
|
}
|
|
},
|
|
"firmware_gate": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["embedded_identifier", "allowlisted"],
|
|
"properties": {
|
|
"embedded_identifier": {"type": "string", "minLength": 1},
|
|
"allowlisted": {"type": "boolean"}
|
|
}
|
|
},
|
|
"execution": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"execution_eligible",
|
|
"authorized",
|
|
"transferred",
|
|
"executed"
|
|
],
|
|
"properties": {
|
|
"execution_eligible": {"type": "boolean"},
|
|
"authorized": {"const": false},
|
|
"transferred": {"const": false},
|
|
"executed": {"const": false}
|
|
}
|
|
},
|
|
"safety": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["profile", "direct_gnm_imports", "notes"],
|
|
"properties": {
|
|
"profile": {"type": "string", "minLength": 1},
|
|
"direct_gnm_imports": {"const": 0},
|
|
"notes": {"type": "array", "items": {"type": "string"}}
|
|
}
|
|
}
|
|
}
|
|
}
|