spacesafeml-certification-b.../schemas/safety_contract_schema.json

71 lines
2.0 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://example.org/schemas/spacesafeml/safety_contract.json",
"title": "SafetyContract",
"type": "object",
"required": ["contract_id", "local_capabilities"],
"properties": {
"contract_id": { "type": "string" },
"version": { "type": "string", "default": "1.0" },
"local_capabilities": {
"type": "array",
"items": {
"type": "object",
"required": ["name"],
"properties": {
"name": { "type": "string" },
"capabilities": { "type": "array", "items": { "type": "string" } },
"metadata": { "type": "object" }
}
}
},
"pre_conditions": {
"type": "object",
"properties": {
"description": { "type": "string" },
"conditions": { "type": "object" }
}
},
"post_conditions": {
"type": "object",
"properties": {
"description": { "type": "string" },
"conditions": { "type": "object" }
}
},
"budgets": {
"type": "object",
"properties": {
"cpu_cores": { "type": "number" },
"memory_gb": { "type": "number" },
"energy_wh": { "type": "number" },
"time_seconds": { "type": "number" }
}
},
"data_policy": {
"type": "object",
"properties": {
"policy_id": { "type": "string" },
"allowed_data": { "type": "array", "items": { "type": "string" } },
"constraints": { "type": "object" }
}
},
"scenarios": {
"type": "array",
"items": {
"type": "object",
"required": ["scenario_id"],
"properties": {
"scenario_id": { "type": "string" },
"sensors": { "type": "object" },
"environment": { "type": "object" },
"deterministic_replay": { "type": "boolean" },
"seed": { "type": ["integer", "null"] },
"description": { "type": "string" }
}
}
}
},
"additionalProperties": false
}