This commit is contained in:
@@ -0,0 +1,267 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://chimera.invalid/schema/phase-0.9b-observation-plan-v1.json",
|
||||
"title": "Chimera GFX Phase-0.9B non-authorizing observation plan",
|
||||
"description": "Offline review schema only. A conforming plan does not authorize transfer, execution, installation, lifecycle, autoload, backup creation, or retry.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"schema_version",
|
||||
"plan_id",
|
||||
"authorized",
|
||||
"transfer_authorized",
|
||||
"execution_authorized",
|
||||
"installation_authorized",
|
||||
"lifecycle_authorized",
|
||||
"autoload_authorized",
|
||||
"backup_creation_authorized",
|
||||
"automatic_retry",
|
||||
"device_address",
|
||||
"device_identity",
|
||||
"observer",
|
||||
"firmware_gate",
|
||||
"allowed_observations",
|
||||
"read_paths",
|
||||
"output_channel",
|
||||
"maximum_runtime_ms",
|
||||
"maximum_execution_count",
|
||||
"expires_at",
|
||||
"stop_criteria"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"const": 1
|
||||
},
|
||||
"plan_id": {
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"maxLength": 128
|
||||
},
|
||||
"authorized": {
|
||||
"const": false
|
||||
},
|
||||
"transfer_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"execution_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"installation_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"lifecycle_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"autoload_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"backup_creation_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"automatic_retry": {
|
||||
"const": false
|
||||
},
|
||||
"device_address": {
|
||||
"const": null
|
||||
},
|
||||
"device_identity": {
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"maxLength": 256
|
||||
},
|
||||
"observer": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"sha256",
|
||||
"size",
|
||||
"source_commit",
|
||||
"toolchain_identity"
|
||||
],
|
||||
"properties": {
|
||||
"sha256": {
|
||||
"type": ["string", "null"],
|
||||
"pattern": "^[0-9a-f]{64}$"
|
||||
},
|
||||
"size": {
|
||||
"type": ["integer", "null"],
|
||||
"minimum": 1
|
||||
},
|
||||
"source_commit": {
|
||||
"type": ["string", "null"],
|
||||
"pattern": "^[0-9a-f]{40}$"
|
||||
},
|
||||
"toolchain_identity": {
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
}
|
||||
}
|
||||
},
|
||||
"firmware_gate": {
|
||||
"type": ["string", "null"],
|
||||
"pattern": "^9\\.60$"
|
||||
},
|
||||
"allowed_observations": {
|
||||
"type": "array",
|
||||
"maxItems": 32,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"enum": [
|
||||
"observer_self_identity",
|
||||
"firmware_source_1",
|
||||
"firmware_source_2",
|
||||
"mount_information",
|
||||
"live_object_metadata",
|
||||
"live_object_sha256",
|
||||
"rollback_object_metadata",
|
||||
"rollback_object_sha256",
|
||||
"process_snapshot",
|
||||
"service_snapshot",
|
||||
"listener_snapshot",
|
||||
"autoload_snapshot"
|
||||
]
|
||||
}
|
||||
},
|
||||
"read_paths": {
|
||||
"type": "array",
|
||||
"maxItems": 16,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
}
|
||||
},
|
||||
"output_channel": {
|
||||
"type": ["object", "null"],
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"source_commit",
|
||||
"source_reference",
|
||||
"non_persistent_proof"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 128
|
||||
},
|
||||
"source_commit": {
|
||||
"type": "string",
|
||||
"pattern": "^[0-9a-f]{40}$"
|
||||
},
|
||||
"source_reference": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
},
|
||||
"non_persistent_proof": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 2048
|
||||
}
|
||||
}
|
||||
},
|
||||
"maximum_runtime_ms": {
|
||||
"type": ["integer", "null"],
|
||||
"minimum": 1,
|
||||
"maximum": 2000
|
||||
},
|
||||
"maximum_execution_count": {
|
||||
"const": 0
|
||||
},
|
||||
"expires_at": {
|
||||
"type": ["string", "null"],
|
||||
"format": "date-time"
|
||||
},
|
||||
"stop_criteria": {
|
||||
"type": "array",
|
||||
"maxItems": 64,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
}
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"allowed_observations": {
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"properties": {
|
||||
"observer": {
|
||||
"properties": {
|
||||
"sha256": {
|
||||
"type": "string"
|
||||
},
|
||||
"size": {
|
||||
"type": "integer"
|
||||
},
|
||||
"source_commit": {
|
||||
"type": "string"
|
||||
},
|
||||
"toolchain_identity": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"firmware_gate": {
|
||||
"const": "9.60"
|
||||
},
|
||||
"device_identity": {
|
||||
"type": "string"
|
||||
},
|
||||
"output_channel": {
|
||||
"type": "object"
|
||||
},
|
||||
"maximum_runtime_ms": {
|
||||
"type": "integer"
|
||||
},
|
||||
"expires_at": {
|
||||
"type": "string"
|
||||
},
|
||||
"stop_criteria": {
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"x-chimera-default-plan": {
|
||||
"schema_version": 1,
|
||||
"plan_id": null,
|
||||
"authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"backup_creation_authorized": false,
|
||||
"automatic_retry": false,
|
||||
"device_address": null,
|
||||
"device_identity": null,
|
||||
"observer": {
|
||||
"sha256": null,
|
||||
"size": null,
|
||||
"source_commit": null,
|
||||
"toolchain_identity": null
|
||||
},
|
||||
"firmware_gate": null,
|
||||
"allowed_observations": [],
|
||||
"read_paths": [],
|
||||
"output_channel": null,
|
||||
"maximum_runtime_ms": null,
|
||||
"maximum_execution_count": 0,
|
||||
"expires_at": null,
|
||||
"stop_criteria": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user