# Phase F Diagnose Report (v2)

跑时间：2026-04-28 15:40:58 +08:00

## Step 1 baseline 恢复
- `git checkout` 后 tracked 状态（grep -v ^??）：
  ```text

  ```
- baseline tracked 是否干净：Yes
- 残留 untracked（仅参考，不阻塞）：
  ```text
  ?? figma-data/figma-to-code-mapping.json
  ?? figma-data/normalized/published-vs-code.audit.json
  ```

## Step 3 跑前快照（tracked only）
```text

```

## Step 4 pipeline 输出（关键段落）
- Step 1 cleanup 自己输出（保留 X | 删除 Y）：
  ```text
  Published icons: 642
  报告: /Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/docs/internal/cleanup-unpublished-report.md
  保留: 4724 | 删除: 60
  ```
- Step 3 ensure-docs-site-manifest 输出：
  ```text
  🔴 APPLY 模式（将写入 manifest）

  发现 5 个缺失 page：
    BreadcrumbPage.vue
    FormItemPage.vue
    PromptMessagePage.vue
    StepsPage.vue
    TabsPage.vue

  待补条目（5）：
    + breadcrumb           → set="Breadcrumb/Item", node=5003:7495, page="— — Other Components"
    + form-item            → set="Form Item", node=1923:50705, page="— — Notifications & Pop box"
    + prompt-message       → set="prompt message", node=1408:17153, page="— — Notifications & Pop box"
    + steps                → set="Step/Item", node=4943:7310, page="— — Other Components"
    + tabs                 → set="Tab/Item", node=4265:16082, page="— — Other Components"

  🔴 已写入 5 条到 /Users/nancy/Documents/AICoding/VS_Code/tvu-design-system/docs/site-review-manifest.json
  ```
- 完整 SUMMARY：
  ```text
  SUMMARY
  ════════════════════════════════════════════════════════════
  Started:  2026-04-28T07:40:58.013Z
  Finished: 2026-04-28T07:40:59.248Z

    ✅  Step 1: cleanup:unpublished (dry-run, 不删文件)
    ❌ exit=1  Step 2: audit:published-vs-code --auto-suggest-unmapped
    ✅  Step 3: ensure-docs-site-manifest --apply
    ✅  Step 4: audit:figma-conformance
    ❌ exit=1  Step 5: audit:docs-site

  ⚠️ 2 个步骤未通过。
  查看：
    - docs/internal/published-vs-code-audit.md（mapping 状态）
    - audit:figma-conformance / audit:docs-site 输出
    - figma-data/figma-to-code-mapping.json（新增 needs-review 条目）
  ```

## Step 5 跑后快照（tracked only）
```text
 M docs/site-review-manifest.json
```

## Step 6 分域判定
- figma-data/ tracked 跑后状态：全空
- manifest tracked 跑后状态：`M docs/site-review-manifest.json`

## 最终判定
- ✅ Pipeline 默认 cleanup 真 dry-run（不改 figma-data tracked 文件）
- ✅ Step 3 manifest 改动符合预期（1 个 M）

## 解释
这次按 v2 规则只看 tracked 文件，结论就清楚了：默认模式下 Step 1 虽然报告“删除 60”，但那只是 dry-run 报告，没有把 `figma-data/` 的 tracked 文件改脏。真正发生的 tracked 改动只有 Step 3 对 `docs/site-review-manifest.json` 的重写，这与 prompt 里“manifest 预期 1 个 M”的设计内行为一致。

换句话说，v1 的 ❌ 主要是把合法 untracked 产物和 tracked 破坏混在一起了；按 v2 的标准，默认 cleanup 安全性是成立的。

## 异常项（如有）
- Step 3 仍然会自动补 5 条条目，说明当前 `HEAD` 下 `docs/site-review-manifest.json` 本身还不包含这 5 个页面
- SUMMARY 的 dry-run 提示仍只出现在“全绿”分支；本次虽然不影响 v2 结论，但从用户提示完整性上看依然不理想
