{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "sources.schema.json", "title": "01_sources.json", "type": "object", "required": ["schema_version", "brief", "draft", "sources"], "properties": { "schema_version": {"const": "1.0"}, "brief": {"$ref": "#/$defs/fileInventory"}, "draft": {"oneOf": [{"$ref": "#/$defs/fileInventory"}, {"type": "null"}]}, "sources": {"type": "array", "items": {"$ref": "#/$defs/fileInventory"}} }, "$defs": { "fileInventory": { "type": "object", "required": ["id", "path", "sha256"], "properties": { "id": {"type": "string", "minLength": 1}, "role": {"type": "string"}, "path": {"type": "string"}, "resolved_path": {"type": "string"}, "size_bytes": {"type": "integer", "minimum": 0}, "sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}, "locator": {"type": "string"}, "version": {"type": "string"}, "date": {"type": "string"}, "environment": {"type": "string"}, "retrieved_at": {"type": "string", "format": "date-time"} }, "additionalProperties": false } }, "additionalProperties": true }