{
  "auditId": "variant-axis-coverage",
  "subjectPin": "/Users/nancy/.ai-ds-lab/pins/tvu-ds-b3728d38",
  "checkedAt": "2026-08-28T10:22:12.694Z",
  "axes": {
    "narrow": [
      {
        "component": "Input",
        "file": "src/components/Input/Input.vue",
        "line": 8,
        "kind": "definer",
        "name": "Variant",
        "values": [
          "line",
          "filled"
        ],
        "default": "line"
      },
      {
        "component": "Select",
        "file": "src/components/Select/Select.vue",
        "line": 9,
        "kind": "definer",
        "name": "Variant",
        "values": [
          "line",
          "filled"
        ],
        "default": "line"
      }
    ],
    "wideOnly": [
      {
        "component": "Input",
        "file": "src/components/Input/Input.vue",
        "line": 14,
        "kind": "prop-decl",
        "name": "variant",
        "values": [],
        "default": null
      },
      {
        "component": "Input",
        "file": "src/components/Input/Input.vue",
        "line": 24,
        "kind": "prop-decl",
        "name": "variant",
        "values": [],
        "default": null
      },
      {
        "component": "Pagination",
        "file": "src/components/Pagination/Pagination.vue",
        "line": 59,
        "kind": "consumer-hardcoded",
        "name": "pageControlVariant",
        "values": [
          "line",
          "filled"
        ],
        "default": null
      },
      {
        "component": "Pagination",
        "file": "src/components/Pagination/Pagination.vue",
        "line": 60,
        "kind": "consumer-hardcoded",
        "name": "pageButtonStyle",
        "values": [
          "rimless",
          "filling"
        ],
        "default": null
      },
      {
        "component": "Select",
        "file": "src/components/Select/Select.vue",
        "line": 15,
        "kind": "prop-decl",
        "name": "variant",
        "values": [],
        "default": null
      },
      {
        "component": "Select",
        "file": "src/components/Select/Select.vue",
        "line": 22,
        "kind": "prop-decl",
        "name": "variant",
        "values": [],
        "default": null
      }
    ]
  },
  "rules": {
    "narrowCount": 6,
    "wideCount": 108,
    "narrow": [
      {
        "file": "docs/internal/mockup-conventions.md",
        "line": 42,
        "text": "| §M-COLOR (§C1/§C2/§C3/**§C4**/**§C5**/§C6/§C7) | 要填颜色 / icon fill / state color / **在某个产品文件里新建带颜色的元素**（§C6 先查该文件实际订阅的库）/ **新建文字节点**（§C7 文字"
      },
      {
        "file": "docs/internal/mockup-conventions.md",
        "line": 64,
        "text": "| §M32.4 禁用表达唯一口径（有禁用变体就切变体、无变体才降透明度，**两者不叠加**；判有无变体须 live 全枚举、禁凭印象）| **任何控件要表达\"不可用 / 已锁定 / 运行中不可改\"**时 |"
      },
      {
        "file": "docs/internal/mockup-conventions.md",
        "line": 398,
        "text": "#### C4 — Brand color vs M23 annotation accent 不能混用（2026-06-01 新增）"
      },
      {
        "file": "docs/internal/mockup-conventions.md",
        "line": 942,
        "text": "- [ ] 同一份交付内不混用 navy 版与本浅色版（除非分属不同 Section 且各自画布主题不同，各自独立判断）"
      },
      {
        "file": "docs/internal/mockup-conventions.md",
        "line": 1812,
        "text": "#### M32.4 — 禁用（disabled）表达唯一口径：有禁用变体就切变体，没有变体才降透明度 — 2026-08-03 新增（owner 拍板回流）"
      },
      {
        "file": "docs/internal/domain-tvu.md",
        "line": 131,
        "text": "- Mockup 设计：list 内同时出现两子型 row 时，副标题措辞必须区分（\"Last ran X\" vs \"Never started\"），不混用"
      }
    ]
  },
  "correlated": [
    {
      "component": "Input",
      "file": "src/components/Input/Input.vue",
      "line": 8,
      "kind": "definer",
      "name": "Variant",
      "values": [
        "line",
        "filled"
      ],
      "default": "line",
      "coveredBy": [],
      "covered": false
    },
    {
      "component": "Select",
      "file": "src/components/Select/Select.vue",
      "line": 9,
      "kind": "definer",
      "name": "Variant",
      "values": [
        "line",
        "filled"
      ],
      "default": "line",
      "coveredBy": [],
      "covered": false
    }
  ],
  "boxMixRisk": {
    "defaults": [
      "Input=line",
      "Select=line"
    ],
    "forced": [
      "Pagination 内部硬切 line/filled",
      "Pagination 内部硬切 rimless/filling"
    ],
    "mixable": true
  }
}
