This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"$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"}}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user