{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "prop-aliases.schema.json",
  "title": "Prop Aliases",
  "description": "翻译层 prop / event / slot / axis / value / composition 全部 alias 真源。13 类 scope 共享 loose union schema；scope-specific 字段验证延后到 audit:translation-completeness。",
  "type": "object",
  "required": [
    "version",
    "entries"
  ],
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "type": "string"
    },
    "version": {
      "const": 1
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "scope"
        ],
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9-]+-[0-9]{3,}$"
          },
          "scope": {
            "enum": [
              "component-prop",
              "vue-ecosystem-addition",
              "runtime-addition",
              "component-naming",
              "value-alias",
              "global-axis-alias",
              "axis-value-alias",
              "identified-impact-scope",
              "boolean-property",
              "slot-property",
              "composition-component",
              "composition-icon",
              "composition-button-blocked"
            ]
          },
          "component": {
            "type": [
              "string",
              "null"
            ]
          },
          "components": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "codeName": {
            "type": [
              "string",
              "null"
            ]
          },
          "figmaName": {
            "type": [
              "string",
              "null"
            ]
          },
          "canonicalAxis": {
            "type": [
              "string",
              "null"
            ]
          },
          "derivedValue": {
            "type": [
              "string",
              "null"
            ]
          },
          "figmaComponentSet": {
            "type": [
              "string",
              "null"
            ]
          },
          "diffType": {
            "type": [
              "string",
              "null"
            ]
          },
          "canonicalPropState": {
            "type": [
              "string",
              "null"
            ]
          },
          "canonical": {
            "type": [
              "string",
              "null"
            ]
          },
          "props": {
            "type": [
              "string",
              "null"
            ]
          },
          "aliasScope": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "approved-alias",
              "exact-match",
              "vue-ecosystem",
              "runtime-addition",
              "axis-alias",
              "inverted-alias",
              "match",
              "named-slot",
              "approved-value-alias",
              "n-a",
              "approved",
              "bridge-tier3-dep",
              null
            ]
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  }
}
