{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:awoooi:security-mirror-acceptance-v1", "title": "AWOOOI Security Supply Chain Mirror Acceptance (v1)", "description": "定義 AwoooP 只讀鏡像資安供應鏈 contracts 時的驗收條件。此契約不授權 runtime execution。", "type": "object", "required": [ "schema_version", "status", "date", "mode", "runtime_execution_authorized", "source_indexes", "summary", "acceptance_checks", "forbidden_actions" ], "properties": { "schema_version": { "const": "security_mirror_acceptance_v1" }, "status": { "type": "string", "enum": ["draft"] }, "date": { "type": "string" }, "mode": { "type": "string", "enum": ["mirror_only"] }, "runtime_execution_authorized": { "type": "boolean", "const": false }, "source_indexes": { "type": "array", "items": { "type": "string" }, "minItems": 1 }, "summary": { "type": "object", "required": [ "total_contracts", "ready_for_mirror_count", "route_group_count", "acceptance_check_count", "blocking_check_count" ], "properties": { "total_contracts": { "type": "integer", "minimum": 0 }, "ready_for_mirror_count": { "type": "integer", "minimum": 0 }, "route_group_count": { "type": "integer", "minimum": 0 }, "acceptance_check_count": { "type": "integer", "minimum": 0 }, "blocking_check_count": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, "acceptance_checks": { "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "check_id", "title", "expected_result", "evidence_refs", "blocking_if_failed", "allowed_processing", "blocked_processing" ], "properties": { "check_id": { "type": "string" }, "title": { "type": "string" }, "expected_result": { "type": "string" }, "evidence_refs": { "type": "array", "items": { "type": "string" }, "minItems": 1 }, "blocking_if_failed": { "type": "boolean" }, "allowed_processing": { "type": "array", "items": { "type": "string" }, "minItems": 1 }, "blocked_processing": { "type": "array", "items": { "type": "string" }, "minItems": 1 } }, "additionalProperties": false } }, "forbidden_actions": { "type": "array", "items": { "type": "string" }, "minItems": 1 } }, "additionalProperties": false }