{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:awoooi:git-remote-refs-probe-v1",
  "title": "AWOOOI Git Remote Refs Probe 事件 (v1)",
  "description": "指定本機 Git repo 的 remote refs read-only 探測事件。此事件不授權 fetch、push、同步或主控切換。",
  "type": "object",
  "required": [
    "schema_version",
    "group_name",
    "status",
    "repo_count",
    "aligned_current_branch_count",
    "unreachable_count",
    "repos"
  ],
  "properties": {
    "schema_version": {
      "const": "git_remote_refs_probe_v1"
    },
    "group_name": {
      "type": "string",
      "minLength": 1
    },
    "status": {
      "type": "string",
      "enum": ["ok", "partial"]
    },
    "repo_count": {
      "type": "integer",
      "minimum": 0
    },
    "aligned_current_branch_count": {
      "type": "integer",
      "minimum": 0
    },
    "unreachable_count": {
      "type": "integer",
      "minimum": 0
    },
    "repos": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "label",
          "repo_path",
          "remote",
          "remote_url_redacted",
          "status",
          "local_branch",
          "local_head",
          "remote_current_branch_sha",
          "head_count",
          "tag_count",
          "heads",
          "tags",
          "error_summary"
        ],
        "properties": {
          "label": {
            "type": "string"
          },
          "repo_path": {
            "type": "string"
          },
          "remote": {
            "type": "string"
          },
          "remote_url_redacted": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "aligned_current_branch",
              "reachable_drift_or_unknown",
              "reachable_no_heads",
              "unreachable"
            ]
          },
          "local_branch": {
            "type": "string"
          },
          "local_head": {
            "type": "string"
          },
          "remote_current_branch_sha": {
            "type": "string"
          },
          "head_count": {
            "type": "integer",
            "minimum": 0
          },
          "tag_count": {
            "type": "integer",
            "minimum": 0
          },
          "heads": {
            "type": "array",
            "items": {
              "type": "object",
              "required": ["name", "sha"],
              "properties": {
                "name": {
                  "type": "string"
                },
                "sha": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{7,40}$"
                }
              },
              "additionalProperties": false
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "object",
              "required": ["name", "sha"],
              "properties": {
                "name": {
                  "type": "string"
                },
                "sha": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{7,40}$"
                }
              },
              "additionalProperties": false
            }
          },
          "error_summary": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
