{
  "_meta": {
    "what": "Claude Design 项目内 `reference/NN-<slug>.md` 编号命名空间的占用真源（INFRA-F78 残余②）。",
    "why": "这个编号空间被多方共享：本仓库 producer 脚本出号，远端还有人在 Claude Design 里手工策展文档并占号（Sync A 的 14/15）。2026-07-30 因此撞过一次 —— 远端同时存在两个 `14-`。原约束只写在 .design-sync/NOTES.md 与脚本注释里（L1 纪律），本文件把占用变成数据，由 `pnpm audit:reference-numbering` 机械把守（L4 pre-commit + L5 pr-checks）。2026-07-30 起只剩 `export-claude-design-bundle.mjs` 一个 producer 脚本（曾经的第二个 producer `emit-reference-to-sync-b.mjs` 随 Sync B 退役一并删除）。",
    "gate": "scripts/audit-claude-design-reference-numbers.mjs",
    "howToAddANumber": [
      "1. DesignSync `list_files` 每个受影响的项目（见 projects[]），看 `reference/` 下真实占了哪些号。",
      "2. 把实况逐条写回对应 project 的 `observedNumbered` + 把该 project 的 `verifiedAt` 改成核号当天。",
      "3. 在 `numbers` 里加新号（owner=producer + producers[] + file），`addedAt` = 当天。",
      "4. 改 producer 表（scripts/export-claude-design-bundle.mjs）。",
      "5. 跑 `pnpm audit:reference-numbering`。闸会校验 addedAt 不晚于相关项目的 verifiedAt —— 即「加号必须伴随一次真实核号」。"
    ],
    "scopeNote": "只登记**项目根 `reference/`** 这一层。Sync A 的 `uploads/**`（上传暂存副本）与 `versions/v2/reference/**`（历史快照）不属于活命名空间，故意不纳入。 2026-07-30 起只剩 Sync A 一个项目（Sync B 已退役，见 docs/_archive/superpowers/plans/2026-07-30-sync-b-retirement-consolidate-into-sync-a.md）；编号命名空间仍是共享的——bundle 出的号与 A 上的策展文档同处一个 reference/ 目录。",
    "nonNumbered": "同目录下的非编号文件（`composition.json` / `icon-keys-*.md` / `upstream-gate.schema.json`）不进本表 —— 它们不参与 NN 号竞争。",
    "backfill": "所有 2026-07-30 的 addedAt 是建表时按当日 live `list_files` 实况回填的，不是各文档真实的历史加入日期。",
    "honestBoundary": "本表里的远端实况是**带日期的快照**，不是 live 读。闸能证「登记自洽 + 加号时做过核号」，不能证「快照此刻仍成立」—— 远端可被他人随时改。往 Claude Design 同步前仍按 AGENTS.md 硬规则 #10 当场 `list_files`。"
  },
  "producers": {
    "export-claude-design-bundle": {
      "script": "scripts/export-claude-design-bundle.mjs",
      "exportName": "REFERENCE_DOCS",
      "targets": [
        "bfca04be-9783-4eb5-b754-37b04a6c35ef"
      ],
      "note": "手动 bundle（`pnpm export:claude-design-bundle`）→ Sync A + 独立 zip。"
    }
  },
  "projects": [
    {
      "id": "bfca04be-9783-4eb5-b754-37b04a6c35ef",
      "label": "Sync A — 唯一在维护的 Claude Design 项目（手动 bundle + 策展 mockups/emails/versions）；2026-07-30 owner 改名为 \"TVU UX Design System\"（原名 \"TVU Networks Design System\" 现属另一团队的项目 019dfb04，故一律按 id 认，不按名字认）",
      "verifiedAt": "2026-08-28",
      "method": "DesignSync list_files（活源直读，非报告转述）—— 2026-08-28 复核：项目根 reference/ 下的 15 个编号与远端实况逐条一致，无增无减（uploads/** 与 versions/v2/** 里的同名副本按 _meta.scopeNote 不计入活命名空间）。本轮为 CE 用法文档新占 17 号（owner 2026-08-28 拍板让 Claude Design 用上真实 TVU 组件），故 numbers 表新增一条；observedNumbered 仍是 15 条 —— 17 尚未推到远端，等下一次 export:claude-design-bundle 上传后才会出现在远端实况里。",
      "observedNumbered": [
        "01-figma-component-catalog.md",
        "02-component-affordances.md",
        "03-mockup-conventions.md",
        "04-design-process.md",
        "05-domain-tvu.md",
        "07-working-principles.md",
        "08-getting-started-code.md",
        "09-project-goal.md",
        "10-code-conventions.md",
        "11-component-review-rules.md",
        "12-component-generation-pitfalls.md",
        "13-icon-naming-convention.md",
        "14-email-templates.md",
        "15-design-retrospective.md",
        "16-upstream-gate.md"
      ]
    }
  ],
  "numbers": {
    "01": {
      "owner": "producer",
      "file": "01-figma-component-catalog.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "02": {
      "owner": "producer",
      "file": "02-component-affordances.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "03": {
      "owner": "producer",
      "file": "03-mockup-conventions.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "04": {
      "owner": "producer",
      "file": "04-design-process.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "05": {
      "owner": "producer",
      "file": "05-domain-tvu.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "06": {
      "owner": "retired",
      "note": "退役号（曾是浓缩 icons catalog，已被生成的 `reference/icon-keys-*.md` 分类目录取代）。**不得复用来填空** —— 远端历史快照里可能仍有旧 06 语义。"
    },
    "07": {
      "owner": "producer",
      "file": "07-working-principles.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "08": {
      "owner": "producer",
      "file": "08-getting-started-code.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "09": {
      "owner": "producer",
      "file": "09-project-goal.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "10": {
      "owner": "producer",
      "file": "10-code-conventions.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "11": {
      "owner": "producer",
      "file": "11-component-review-rules.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "12": {
      "owner": "producer",
      "file": "12-component-generation-pitfalls.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "13": {
      "owner": "producer",
      "file": "13-icon-naming-convention.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30"
    },
    "14": {
      "owner": "curated-remote",
      "file": "14-email-templates.md",
      "project": "bfca04be-9783-4eb5-b754-37b04a6c35ef",
      "addedAt": "2026-07-30",
      "note": "远端手工策展（邮件族模板规范），仓库里无对应真源。bundle 曾也出 14-upstream-gate.md → 远端两个 `14-` 并存，bundle 已让号到 16。"
    },
    "15": {
      "owner": "curated-remote",
      "file": "15-design-retrospective.md",
      "project": "bfca04be-9783-4eb5-b754-37b04a6c35ef",
      "addedAt": "2026-07-30",
      "note": "远端手工策展（设计复盘），仓库里无对应真源。"
    },
    "16": {
      "owner": "producer",
      "file": "16-upstream-gate.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-07-30",
      "note": "原为 14；因与策展的 14-email-templates.md 撞号而让位（跳 06/14/15）。"
    },
    "17": {
      "owner": "producer",
      "file": "17-web-components-usage.md",
      "producers": [
        "export-claude-design-bundle"
      ],
      "addedAt": "2026-08-28",
      "note": "CE（<tvu-*> 自定义元素）用法：37 个标签名 + 每个标签的 attribute 与取值 + camelCase→kebab-case 映射 + 可直接抄的最小骨架。配套 assets/tvu-web-components.js（UMD 运行时）让 Claude Design 预览里渲染的是真实 TVU 组件，而不是它自画的方块。真源 = src/web-components/components.config.ts，由 scripts/generate-react-bindings.mjs 生成 docs/internal/web-components-usage.md，⛔ 别手改那份产物。owner 2026-08-28 拍板。"
    }
  }
}
