{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:awoooi:source-control-owner-response-validation-rollup-v1",
  "title": "Source Control Owner Response Validation Rollup v1",
  "description": "彙整 S4.9 / S4.10 / S4.11 / S4.12 owner response 收件包的只讀驗收狀態。此 schema 不新增主 contract、不授權 runtime execution、不授權 repo / refs / workflow / secret 變更。",
  "type": "object",
  "required": [
    "schema_version",
    "status",
    "date",
    "mode",
    "runtime_execution_authorized",
    "source_contracts",
    "source_indexes",
    "summary",
    "validation_lanes",
    "cross_packet_acceptance_checks",
    "quarantine_rules",
    "readiness_effects",
    "allowed_outputs",
    "forbidden_actions"
  ],
  "properties": {
    "schema_version": {
      "const": "source_control_owner_response_validation_rollup_v1"
    },
    "status": {
      "type": "string",
      "enum": ["draft_waiting_owner_responses"]
    },
    "date": {
      "type": "string"
    },
    "mode": {
      "type": "string",
      "enum": ["owner_response_validation_rollup_only"]
    },
    "runtime_execution_authorized": {
      "type": "boolean",
      "const": false
    },
    "source_contracts": {
      "type": "array",
      "items": {"type": "string"},
      "minItems": 1
    },
    "source_indexes": {
      "type": "array",
      "items": {"type": "string"},
      "minItems": 1
    },
    "summary": {
      "type": "object",
      "required": [
        "rollup_status",
        "response_packet_count",
        "validation_lane_count",
        "total_response_template_count",
        "total_received_response_count",
        "total_accepted_response_count",
        "total_rejected_response_count",
        "total_acceptance_check_count",
        "total_rejection_rule_count",
        "owner_response_evidence_routing_rule_count",
        "owner_response_validation_display_section_count",
        "owner_response_validation_state_transition_rule_count",
        "owner_response_validation_reviewer_checklist_count",
        "owner_response_validation_reviewer_outcome_lane_count",
        "owner_response_validation_reviewer_audit_event_template_count",
        "owner_response_validation_reviewer_audit_display_section_count",
        "owner_response_validation_reviewer_audit_collection_check_count",
        "owner_response_validation_reviewer_audit_redaction_example_count",
        "owner_response_validation_reviewer_audit_retention_rule_count",
        "owner_response_validation_reviewer_audit_retention_check_count",
        "owner_response_validation_reviewer_audit_handoff_packet_count",
        "owner_response_validation_reviewer_audit_handoff_check_count",
        "owner_response_validation_parallel_session_sync_check_count",
        "owner_response_validation_parallel_session_conflict_lane_count",
        "owner_response_validation_parallel_session_recovery_check_count",
        "owner_response_validation_parallel_session_recovery_outcome_lane_count",
        "quarantine_required",
        "primary_ready_count",
        "runtime_execution_authorized",
        "token_value_collection_allowed",
        "secret_value_collection_allowed",
        "write_token_allowed",
        "repo_creation_authorized",
        "visibility_change_authorized",
        "gitea_repo_write_authorized",
        "refs_sync_authorized",
        "refs_delete_authorized",
        "force_push_authorized",
        "workflow_modification_authorized",
        "runner_enablement_authorized",
        "github_hosted_runner_enable_authorized",
        "github_primary_switch_authorized",
        "action_buttons_allowed"
      ],
      "properties": {
        "rollup_status": {"type": "string", "enum": ["waiting_owner_responses"]},
        "response_packet_count": {"type": "integer", "minimum": 0},
        "validation_lane_count": {"type": "integer", "minimum": 0},
        "total_response_template_count": {"type": "integer", "minimum": 0},
        "total_received_response_count": {"type": "integer", "minimum": 0},
        "total_accepted_response_count": {"type": "integer", "minimum": 0},
        "total_rejected_response_count": {"type": "integer", "minimum": 0},
        "total_acceptance_check_count": {"type": "integer", "minimum": 0},
        "total_rejection_rule_count": {"type": "integer", "minimum": 0},
        "owner_response_evidence_routing_rule_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_display_section_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_state_transition_rule_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_checklist_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_outcome_lane_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_event_template_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_display_section_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_collection_check_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_redaction_example_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_retention_rule_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_retention_check_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_handoff_packet_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_reviewer_audit_handoff_check_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_parallel_session_sync_check_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_parallel_session_conflict_lane_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_parallel_session_recovery_check_count": {"type": "integer", "minimum": 0},
        "owner_response_validation_parallel_session_recovery_outcome_lane_count": {"type": "integer", "minimum": 0},
        "quarantine_required": {"type": "boolean"},
        "primary_ready_count": {"type": "integer", "minimum": 0},
        "runtime_execution_authorized": {"type": "boolean", "const": false},
        "token_value_collection_allowed": {"type": "boolean", "const": false},
        "secret_value_collection_allowed": {"type": "boolean", "const": false},
        "write_token_allowed": {"type": "boolean", "const": false},
        "repo_creation_authorized": {"type": "boolean", "const": false},
        "visibility_change_authorized": {"type": "boolean", "const": false},
        "gitea_repo_write_authorized": {"type": "boolean", "const": false},
        "refs_sync_authorized": {"type": "boolean", "const": false},
        "refs_delete_authorized": {"type": "boolean", "const": false},
        "force_push_authorized": {"type": "boolean", "const": false},
        "workflow_modification_authorized": {"type": "boolean", "const": false},
        "runner_enablement_authorized": {"type": "boolean", "const": false},
        "github_hosted_runner_enable_authorized": {"type": "boolean", "const": false},
        "github_primary_switch_authorized": {"type": "boolean", "const": false},
        "action_buttons_allowed": {"type": "boolean", "const": false}
      },
      "additionalProperties": false
    },
    "validation_lanes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "lane_id",
          "source_contract",
          "response_packet",
          "human_doc",
          "scope_summary",
          "response_template_count",
          "received_response_count",
          "accepted_response_count",
          "rejected_response_count",
          "required_before_ready",
          "allowed_outputs",
          "forbidden_actions",
          "execution_authorized"
        ],
        "properties": {
          "lane_id": {"type": "string"},
          "source_contract": {"type": "string"},
          "response_packet": {"type": "string"},
          "human_doc": {"type": "string"},
          "scope_summary": {"type": "string"},
          "response_template_count": {"type": "integer", "minimum": 0},
          "received_response_count": {"type": "integer", "minimum": 0},
          "accepted_response_count": {"type": "integer", "minimum": 0},
          "rejected_response_count": {"type": "integer", "minimum": 0},
          "required_before_ready": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "allowed_outputs": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "forbidden_actions": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "execution_authorized": {"type": "boolean", "const": false}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "cross_packet_acceptance_checks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "check_id",
          "title",
          "required",
          "pass_condition",
          "failure_lane",
          "execution_authorized"
        ],
        "properties": {
          "check_id": {"type": "string"},
          "title": {"type": "string"},
          "required": {"type": "boolean"},
          "pass_condition": {"type": "string"},
          "failure_lane": {"type": "string"},
          "execution_authorized": {"type": "boolean", "const": false}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "quarantine_rules": {
      "type": "array",
      "items": {"type": "string"},
      "minItems": 1
    },
    "owner_response_evidence_routing_rules": {
      "type": "array",
      "description": "AwoooP 收到 S4.9-S4.12 owner response evidence pointer 時的只讀路由規則；只決定顯示、補證、隔離或拒收，不代表 response 已接受或任何執行授權。",
      "items": {
        "type": "object",
        "required": [
          "rule_id",
          "display_order",
          "title",
          "match_condition",
          "safe_route",
          "blocked_route",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "rule_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "match_condition": {"type": "string"},
          "safe_route": {"type": "string"},
          "blocked_route": {"type": "string"},
          "awooop_display_mode": {"type": "string", "enum": ["display_evidence_route_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_display_sections": {
      "type": "array",
      "description": "AwoooP 顯示 S4.13 owner response validation rollup 時的只讀區塊順序；只固定 Operator Console 呈現，不代表 response 已收到、approval 或 execution queue。",
      "items": {
        "type": "object",
        "required": [
          "section_id",
          "display_order",
          "title",
          "content_source",
          "section_status",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "section_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "content_source": {"type": "string"},
          "section_status": {"type": "string", "enum": ["display_contract_only"]},
          "awooop_display_mode": {"type": "string", "enum": ["display_validation_section_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_state_transition_rules": {
      "type": "array",
      "description": "AwoooP 對 S4.13 owner response validation 狀態轉移的只讀規則；只顯示 waiting、pending validation、補證、隔離、拒收、owner review 或 read-only update，不授權執行。",
      "items": {
        "type": "object",
        "required": [
          "rule_id",
          "display_order",
          "from_state",
          "trigger",
          "required_checks",
          "next_state",
          "allowed_update",
          "blocked_updates",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "rule_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "from_state": {"type": "string"},
          "trigger": {"type": "string"},
          "required_checks": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "next_state": {"type": "string"},
          "allowed_update": {"type": "string"},
          "blocked_updates": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_state_transition_rule_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_checklist": {
      "type": "array",
      "description": "AwoooP reviewer 檢查 S4.13 owner response validation 時的只讀 checklist；只作人工審查提示，不代表 response accepted、approval 或 execution queue。",
      "items": {
        "type": "object",
        "required": [
          "checklist_id",
          "display_order",
          "title",
          "reviewer_action",
          "required_evidence",
          "pass_state",
          "fail_route",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "checklist_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "reviewer_action": {"type": "string"},
          "required_evidence": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "pass_state": {"type": "string"},
          "fail_route": {"type": "string"},
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_checklist_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_outcome_lanes": {
      "type": "array",
      "description": "AwoooP reviewer 完成 S4.13 checklist 後可顯示的只讀 outcome lanes；只分類補證、隔離、拒收、owner review、只讀候選或等待 runtime gate，不授權執行。",
      "items": {
        "type": "object",
        "required": [
          "outcome_lane_id",
          "display_order",
          "title",
          "when_reviewer_finds",
          "safe_result",
          "allowed_update",
          "blocked_updates",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "outcome_lane_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "when_reviewer_finds": {"type": "string"},
          "safe_result": {"type": "string"},
          "allowed_update": {"type": "string"},
          "blocked_updates": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_outcome_lane_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_event_templates": {
      "type": "array",
      "description": "AwoooP reviewer outcome 的只讀 audit event templates；只定義未來可留痕的脫敏 metadata 形狀，不代表 production ingestion 或已 emitted。",
      "items": {
        "type": "object",
        "required": [
          "event_template_id",
          "display_order",
          "title",
          "event_status",
          "event_trigger",
          "allowed_metadata",
          "forbidden_payloads",
          "emitted_event_count",
          "stored_raw_payload_allowed",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "event_template_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "event_status": {"type": "string", "enum": ["template_only_not_emitted"]},
          "event_trigger": {"type": "string"},
          "allowed_metadata": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "forbidden_payloads": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "emitted_event_count": {"type": "integer", "const": 0},
          "stored_raw_payload_allowed": {"type": "boolean", "const": false},
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_template_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_display_sections": {
      "type": "array",
      "description": "AwoooP reviewer audit event templates 的只讀顯示區塊；只固定 Operator Console 顯示方式，不代表 production ingestion、audit event emitted 或 runtime authorization。",
      "items": {
        "type": "object",
        "required": [
          "section_id",
          "display_order",
          "title",
          "content_source",
          "section_status",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "section_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "content_source": {"type": "string"},
          "section_status": {"type": "string", "enum": ["display_contract_only"]},
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_section_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_collection_checks": {
      "type": "array",
      "description": "AwoooP reviewer audit event templates 的只讀收件檢查；只要求顯示與驗收仍維持 metadata-only、0 emitted、無副作用，不代表 production ingestion 或 runtime authorization。",
      "items": {
        "type": "object",
        "required": [
          "check_id",
          "display_order",
          "title",
          "check_requirement",
          "safe_result",
          "blocked_interpretations",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "check_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "check_requirement": {"type": "string"},
          "safe_result": {"type": "string"},
          "blocked_interpretations": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_collection_check_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_redaction_examples": {
      "type": "array",
      "description": "AwoooP reviewer audit event templates 的只讀脫敏範例；只示範如何把 reviewer audit metadata 顯示為安全形狀，不代表 owner response、production ingestion 或 runtime authorization。",
      "items": {
        "type": "object",
        "required": [
          "example_id",
          "display_order",
          "title",
          "unsafe_input_shape",
          "safe_metadata_shape",
          "blocked_payloads",
          "redaction_status",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "example_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "unsafe_input_shape": {"type": "string"},
          "safe_metadata_shape": {"type": "string"},
          "blocked_payloads": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "redaction_status": {"type": "string", "enum": ["example_only_not_response"]},
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_redaction_example_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_retention_rules": {
      "type": "array",
      "description": "AwoooP reviewer audit 的只讀 metadata retention 規則；只定義可保留的安全 metadata、必須拒收的 raw payload 與 retention 邊界，不代表 production ingestion 或 runtime authorization。",
      "items": {
        "type": "object",
        "required": [
          "rule_id",
          "display_order",
          "title",
          "retained_metadata_shape",
          "retention_boundary",
          "blocked_payloads",
          "retention_status",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "rule_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "retained_metadata_shape": {"type": "string"},
          "retention_boundary": {"type": "string"},
          "blocked_payloads": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "retention_status": {"type": "string", "enum": ["metadata_retention_rule_only"]},
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_retention_rule_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_retention_checks": {
      "type": "array",
      "description": "AwoooP reviewer audit retention rules 的只讀驗證 checks；只確認 metadata-only、raw payload blocked、secret retention blocked、counter snapshot-only 與無 runtime side effect，不代表 production ingestion 或 runtime authorization。",
      "items": {
        "type": "object",
        "required": [
          "check_id",
          "display_order",
          "title",
          "check_requirement",
          "safe_result",
          "blocked_interpretations",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "check_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "check_requirement": {"type": "string"},
          "safe_result": {"type": "string"},
          "blocked_interpretations": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_retention_check_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_handoff_packets": {
      "type": "array",
      "description": "AwoooP reviewer audit 的只讀交接封包；只整理跨 Session resume、顯示欄位、禁止誤讀與下一個 owner response focus，不代表 production ingestion、approval 或 runtime authorization。",
      "items": {
        "type": "object",
        "required": [
          "packet_id",
          "display_order",
          "title",
          "handoff_content",
          "safe_consumer_action",
          "blocked_interpretations",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "packet_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "handoff_content": {"type": "string"},
          "safe_consumer_action": {"type": "string"},
          "blocked_interpretations": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_handoff_packet_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_reviewer_audit_handoff_checks": {
      "type": "array",
      "description": "AwoooP reviewer audit handoff packets 的只讀消費檢查；只確認 handoff 仍是顯示與接手用途，且 counters、source preflight、safe display、runtime block 與 next focus 邊界不被誤用。",
      "items": {
        "type": "object",
        "required": [
          "check_id",
          "display_order",
          "title",
          "check_requirement",
          "safe_result",
          "blocked_interpretations",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "check_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "check_requirement": {"type": "string"},
          "safe_result": {"type": "string"},
          "blocked_interpretations": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_reviewer_audit_handoff_check_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_parallel_session_sync_checks": {
      "type": "array",
      "description": "AwoooP 與另一個 Security Supply Chain Session 的只讀同步檢查；只確認同一分支、同一 latest delta、counters、false flags、source-control mutation 禁令與 next focus 邊界，不授權任何 runtime 或 source-control 變更。",
      "items": {
        "type": "object",
        "required": [
          "check_id",
          "display_order",
          "title",
          "check_requirement",
          "safe_result",
          "blocked_interpretations",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "check_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "check_requirement": {"type": "string"},
          "safe_result": {"type": "string"},
          "blocked_interpretations": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_parallel_session_sync_check_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_parallel_session_conflict_lanes": {
      "type": "array",
      "description": "AwoooP 與另一個 Security Supply Chain Session 的只讀衝突處理 lanes；只分類 stale branch、stale delta、counter drift、runtime flag drift、source-control mutation request 與 next focus drift，不授權修復、merge、push 或執行。",
      "items": {
        "type": "object",
        "required": [
          "lane_id",
          "display_order",
          "title",
          "conflict_condition",
          "safe_result",
          "required_operator_action",
          "blocked_actions",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "lane_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "conflict_condition": {"type": "string"},
          "safe_result": {"type": "string"},
          "required_operator_action": {"type": "string"},
          "blocked_actions": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_parallel_session_conflict_lane_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_parallel_session_recovery_checks": {
      "type": "array",
      "description": "AwoooP 與另一個 Security Supply Chain Session 在命中 conflict lane 後的只讀復原檢查；只確認重新 fetch、重讀 ledger、重跑 guards、審查 staged diff、維持 false flags 與回到 S4.9 next focus，不授權 merge、push、runtime 或 source-control 變更。",
      "items": {
        "type": "object",
        "required": [
          "check_id",
          "display_order",
          "title",
          "check_requirement",
          "safe_result",
          "blocked_interpretations",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "check_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "check_requirement": {"type": "string"},
          "safe_result": {"type": "string"},
          "blocked_interpretations": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_parallel_session_recovery_check_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_validation_parallel_session_recovery_outcome_lanes": {
      "type": "array",
      "description": "AwoooP 與另一個 Security Supply Chain Session 在只讀復原檢查後的 outcome lanes；只分類已同步、仍分歧、guard 失敗、diff 越界、runtime flag drift 與 next focus drift，不授權 rebase、merge、push、runtime 或 source-control 變更。",
      "items": {
        "type": "object",
        "required": [
          "lane_id",
          "display_order",
          "title",
          "outcome_condition",
          "safe_result",
          "allowed_next_step",
          "blocked_interpretations",
          "awooop_display_mode",
          "execution_authorized",
          "not_approval"
        ],
        "properties": {
          "lane_id": {"type": "string"},
          "display_order": {"type": "integer", "minimum": 1},
          "title": {"type": "string"},
          "outcome_condition": {"type": "string"},
          "safe_result": {"type": "string"},
          "allowed_next_step": {"type": "string"},
          "blocked_interpretations": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_display_mode": {"type": "string", "enum": ["display_parallel_session_recovery_outcome_lane_only"]},
          "execution_authorized": {"type": "boolean", "const": false},
          "not_approval": {"type": "boolean", "const": true}
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "readiness_effects": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "effect_id",
          "when_all_checks_pass",
          "allowed_update",
          "still_forbidden"
        ],
        "properties": {
          "effect_id": {"type": "string"},
          "when_all_checks_pass": {"type": "string"},
          "allowed_update": {"type": "string"},
          "still_forbidden": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "missing_response_lanes": {
      "type": "array",
      "description": "AwoooP 可直接顯示的 owner response 缺口摘要；此欄位只供 read-only review，不代表 response 已收到。",
      "items": {
        "type": "object",
        "required": [
          "lane_id",
          "source_contract",
          "response_template_count",
          "received_response_count",
          "accepted_response_count",
          "current_status",
          "next_owner_action",
          "awooop_display_mode",
          "still_forbidden"
        ],
        "properties": {
          "lane_id": {"type": "string"},
          "source_contract": {"type": "string"},
          "response_template_count": {"type": "integer", "minimum": 0},
          "received_response_count": {"type": "integer", "minimum": 0},
          "accepted_response_count": {"type": "integer", "minimum": 0},
          "current_status": {"type": "string", "enum": ["waiting_owner_response"]},
          "next_owner_action": {"type": "string"},
          "awooop_display_mode": {"type": "string", "enum": ["observe_missing_response"]},
          "still_forbidden": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "owner_response_collection_order": {
      "type": "array",
      "description": "AwoooP 可顯示的 owner response 收件順序；此欄位只排序 review 工作，不授權任何 repo / refs / workflow / secret / runtime 動作。",
      "items": {
        "type": "object",
        "required": [
          "order",
          "lane_id",
          "reason",
          "required_packet",
          "minimum_response",
          "awooop_action",
          "blocked_until_received",
          "execution_authorized",
          "still_forbidden"
        ],
        "properties": {
          "order": {"type": "integer", "minimum": 1},
          "lane_id": {"type": "string"},
          "reason": {"type": "string"},
          "required_packet": {"type": "string"},
          "minimum_response": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          },
          "awooop_action": {"type": "string", "enum": ["display_next_collection_item"]},
          "blocked_until_received": {"type": "boolean", "const": true},
          "execution_authorized": {"type": "boolean", "const": false},
          "still_forbidden": {
            "type": "array",
            "items": {"type": "string"},
            "minItems": 1
          }
        },
        "additionalProperties": false
      },
      "minItems": 1
    },
    "next_collection_candidate": {
      "type": "object",
      "description": "AwoooP 可顯示的單一下一步 owner response 收件項目；此欄位只提示 reviewer 下一包 response，不是 approval queue 或 execution queue。",
      "required": [
        "order",
        "lane_id",
        "display_status",
        "source_contract",
        "required_packet",
        "required_response_template_count",
        "received_response_count",
        "accepted_response_count",
        "minimum_response",
        "awooop_display_mode",
        "why_next",
        "blocked_until_received",
        "execution_authorized",
        "not_approval",
        "still_forbidden"
      ],
      "properties": {
        "order": {"type": "integer", "minimum": 1},
        "lane_id": {"type": "string"},
        "display_status": {"type": "string", "enum": ["next_owner_response_required"]},
        "source_contract": {"type": "string"},
        "required_packet": {"type": "string"},
        "required_response_template_count": {"type": "integer", "minimum": 0},
        "received_response_count": {"type": "integer", "minimum": 0},
        "accepted_response_count": {"type": "integer", "minimum": 0},
        "minimum_response": {
          "type": "array",
          "items": {"type": "string"},
          "minItems": 1
        },
        "awooop_display_mode": {"type": "string", "enum": ["display_next_collection_item_only"]},
        "why_next": {"type": "string"},
        "blocked_until_received": {"type": "boolean", "const": true},
        "execution_authorized": {"type": "boolean", "const": false},
        "not_approval": {"type": "boolean", "const": true},
        "still_forbidden": {
          "type": "array",
          "items": {"type": "string"},
          "minItems": 1
        }
      },
      "additionalProperties": false
    },
    "allowed_outputs": {
      "type": "array",
      "items": {"type": "string"},
      "minItems": 1
    },
    "latest_local_validation": {
      "type": "object",
      "description": "本機 snapshot-only owner response guard 的最近一次驗證結果；此欄位不代表 owner response 已收到或任何執行授權。",
      "required": [
        "status",
        "date",
        "scope",
        "command",
        "result",
        "validated_lanes",
        "received_response_count",
        "accepted_response_count",
        "runtime_actions_authorized",
        "repo_or_refs_actions_authorized",
        "workflow_or_secret_actions_authorized",
        "not_authorization"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "repo_snapshot_guard_pass",
            "repo_snapshot_guard_warn",
            "repo_snapshot_guard_blocked"
          ]
        },
        "date": {"type": "string"},
        "scope": {"type": "string", "enum": ["repo_snapshot_only"]},
        "command": {"type": "string"},
        "result": {"type": "string"},
        "validated_lanes": {
          "type": "array",
          "items": {"type": "string"},
          "minItems": 1
        },
        "received_response_count": {"type": "integer", "minimum": 0},
        "accepted_response_count": {"type": "integer", "minimum": 0},
        "runtime_actions_authorized": {"type": "boolean", "const": false},
        "repo_or_refs_actions_authorized": {"type": "boolean", "const": false},
        "workflow_or_secret_actions_authorized": {"type": "boolean", "const": false},
        "not_authorization": {"type": "boolean", "const": true}
      },
      "additionalProperties": false
    },
    "forbidden_actions": {
      "type": "array",
      "items": {"type": "string"},
      "minItems": 1
    }
  },
  "additionalProperties": false
}
