{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "SHARED_CONTENT_POSTCOMMIT_ARCHIVE_CONFIG_V1", "type": "object", "additionalProperties": false, "required": ["schema_version", "identity", "roots", "expected", "test_control"], "properties": { "schema_version": {"const": "SHARED_CONTENT_POSTCOMMIT_ARCHIVE_CONFIG_V1"}, "identity": { "type": "object", "additionalProperties": false, "required": ["task_id", "case_id", "batch_id", "run_id", "attempt_id", "archive_id", "operator", "archive_gate_audit_id"], "properties": { "task_id": {"type": "string", "minLength": 1}, "case_id": {"type": "string", "minLength": 1}, "batch_id": {"type": "string", "minLength": 1}, "run_id": {"type": "string", "minLength": 1}, "attempt_id": {"type": "string", "minLength": 1}, "archive_id": {"type": "string", "minLength": 1}, "operator": {"type": "string", "minLength": 1}, "archive_gate_audit_id": {"type": "string", "pattern": "^AUDIT-"} } }, "roots": { "type": "object", "additionalProperties": false, "required": ["operation_root", "resolved_root", "publisher_config_path", "source_root", "target_root", "receipt_root", "legacy_map_path"], "properties": { "operation_root": {"type": "string", "minLength": 3}, "resolved_root": {"type": "string", "minLength": 3}, "publisher_config_path": {"$ref": "#/$defs/relativePath"}, "source_root": {"$ref": "#/$defs/relativePath"}, "target_root": {"$ref": "#/$defs/relativePath"}, "receipt_root": {"$ref": "#/$defs/relativePath"}, "legacy_map_path": {"$ref": "#/$defs/relativePath"} } }, "expected": { "type": "object", "additionalProperties": false, "required": ["publisher_config_bytes", "publisher_config_sha256", "legacy_map_bytes", "legacy_map_sha256", "row_count", "source_set_sha256", "canonical_set_sha256"], "properties": { "publisher_config_bytes": {"type": "integer", "minimum": 1}, "publisher_config_sha256": {"$ref": "#/$defs/sha256"}, "legacy_map_bytes": {"type": "integer", "minimum": 1}, "legacy_map_sha256": {"$ref": "#/$defs/sha256"}, "row_count": {"type": "integer", "minimum": 1}, "source_set_sha256": {"$ref": "#/$defs/sha256"}, "canonical_set_sha256": {"$ref": "#/$defs/sha256"} } }, "test_control": { "type": "object", "additionalProperties": false, "required": ["environment", "fault"], "properties": { "environment": {"enum": ["PRODUCTION", "ISOLATED_TEST"]}, "fault": {"enum": ["NONE", "INTERRUPT_AFTER_RECEIPT_ROOT", "INTERRUPT_AFTER_CONTRACT", "INTERRUPT_AFTER_MAP", "INTERRUPT_AFTER_ANCHOR", "INTERRUPT_BEFORE_RENAME", "INTERRUPT_AFTER_RENAME", "INTERRUPT_AFTER_TERMINAL_TEMP"]} } } }, "$defs": { "sha256": {"type": "string", "pattern": "^[0-9A-F]{64}$"}, "relativePath": {"type": "string", "minLength": 1, "pattern": "^(?![A-Za-z]:)(?!/)(?!.*(?:^|/)\\.\\.(?:/|$)).+$"} } }