| { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "https://example.invalid/mcu-ir/mlir_batch_config.schema.json", |
| "title": "Pinned ONNX-MLIR batch model configuration", |
| "type": "object", |
| "additionalProperties": false, |
| "required": [ |
| "schema_version", "model_id", "task", "priority", "model_dir", |
| "toolchain_lock", "toolchain_lock_sha256", "timeout_sec", "pipeline", |
| "variants" |
| ], |
| "properties": { |
| "schema_version": {"const": "1.0"}, |
| "model_id": {"type": "string", "pattern": "^[A-Z]{2}[0-9]{2}$"}, |
| "task": {"type": "string", "minLength": 1}, |
| "priority": {"type": "string", "minLength": 1}, |
| "model_dir": {"type": "string", "minLength": 1}, |
| "toolchain_lock": {"type": "string", "minLength": 1}, |
| "toolchain_lock_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}, |
| "timeout_sec": {"type": "integer", "minimum": 1}, |
| "pipeline": {"type": "array", "minItems": 1, "items": {"type": "string"}}, |
| "variants": { |
| "type": "object", |
| "additionalProperties": false, |
| "required": ["fp32", "public_quantized"], |
| "properties": { |
| "fp32": {"$ref": "#/$defs/variant"}, |
| "public_quantized": {"$ref": "#/$defs/variant"} |
| } |
| } |
| }, |
| "$defs": { |
| "variant": { |
| "type": "object", |
| "additionalProperties": false, |
| "required": [ |
| "input_path", "input_exists", "input_sha256", "input_bytes", |
| "input_source", "registry_expected_sha256" |
| ], |
| "properties": { |
| "input_path": {"type": "string", "minLength": 1}, |
| "input_exists": {"type": "boolean"}, |
| "input_sha256": {"type": ["string", "null"], "pattern": "^[0-9a-f]{64}$"}, |
| "input_bytes": {"type": ["integer", "null"], "minimum": 0}, |
| "input_source": {"enum": ["CANONICAL_T40_ONNX", "CHECKSUM_VERIFIED_REGISTRY_ONNX", "MISSING_T40_ONNX_PREREQUISITE"]}, |
| "registry_expected_sha256": {"type": ["string", "null"]} |
| } |
| } |
| } |
| } |
|
|