{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:awoooi:source-control-migration-event-v1",
  "title": "AWOOOI Source Control 遷移事件 (v1)",
  "description": "Gitea 全量版本轉移到 GitHub 的供應鏈安全證據契約。此事件只表示盤點、同步與驗證狀態，不授權主控切換。",
  "type": "object",
  "required": [
    "schema_version",
    "gitea_repo",
    "github_repo",
    "branch_count_gitea",
    "branch_count_github",
    "tag_count_gitea",
    "tag_count_github",
    "latest_sha_gitea",
    "latest_sha_github",
    "workflows_mapped",
    "webhooks_mapped",
    "secrets_inventory_only",
    "status"
  ],
  "properties": {
    "schema_version": {
      "const": "source_control_migration_event_v1"
    },
    "gitea_repo": {
      "type": "string",
      "minLength": 1
    },
    "github_repo": {
      "type": "string",
      "minLength": 1
    },
    "branch_count_gitea": {
      "type": "integer",
      "minimum": 0
    },
    "branch_count_github": {
      "type": "integer",
      "minimum": 0
    },
    "tag_count_gitea": {
      "type": "integer",
      "minimum": 0
    },
    "tag_count_github": {
      "type": "integer",
      "minimum": 0
    },
    "latest_sha_gitea": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{7,40}$"
    },
    "latest_sha_github": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{7,40}$"
    },
    "workflows_mapped": {
      "type": "boolean"
    },
    "webhooks_mapped": {
      "type": "boolean"
    },
    "secrets_inventory_only": {
      "type": "boolean",
      "const": true,
      "description": "Secrets 只盤點名稱與 owner，不搬 secret value。"
    },
    "status": {
      "type": "string",
      "enum": [
        "inventory",
        "mirrored",
        "verified",
        "blocked"
      ]
    },
    "blocking_reason": {
      "type": "string"
    },
    "evidence_refs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
