# Video Sync · Phase B 组件化 + Walkthrough + TVU DS 回流复盘（2026-05-26）

> **目的**：内部分享 — Phase B accordion 模型从架构 inspect、12-variant 组件化、11 frame 时间线建造、F1 walkthrough audit、到 11 条规则回流 TVU DS 的全流程协作复盘。
> **场景**：UX 设计师 Nancy 用 Claude Code + `@TVU mockup` 把 PM-confirmed cap=4 accordion 决策落地为生产 mockup + 把 session 中发现的盲区抽象为 TVU 真源规则。

---

## TL;DR

- **总轮次**：~45 轮 user feedback + 38+ `use_figma` calls + 5 个跨文件回流
- **最终交付**：12-variant `Session Row` component set (`4559:3148`) + 11 个 frame (M1-M10 + M-MultiExp) 按 2×5 reading-order grid 排列 + 11 条规则回流 TVU DS (7 NEW + 4 mod) + 3 篇 handoff doc
- **核心 process gap**：缺「**模拟真实用户态**」的 sanity check 步骤 — M4 漏 Add CTA / M9 用 multi-variant artifact 当用户态 / frame 间距过挤 / 漏跑 walkthrough，**每条都靠用户主动纠正**
- **关键 insight**：

> **规则 enforcement 是 5 个偶然条件叠加**（memory + handoff + skill + 唤醒词 + audit）— **少一个就翻车**。今天我拿对靠的是 MicroApps repo 多 session 积累，而不是规则机制本身可靠。新 consumer 起项目时这 5 个全为零 → 必然漏 TVU DS 规则。规则 enforcement 必须从"AI 自觉"升级为「**强制 Gate**」（Pre-Action Gate / Clone Gate / Walkthrough Trigger）。

---

## 1. Session 概览

### 起点

用户 "接 Video Sync Phase B" — 接 2026-05-26 PM-confirmed cap=4 决策（[handoff](../handoffs/2026-05-26-video-sync-cap-confirm-pickup.md)），用 accordion 模型重做整套 Plan A mockup。

### 最终落地

**Figma**（`DtZcMkhNy6qh6jbQQnhreQ` Plan A section `4119:198`）：
- 12-variant **`Session Row` component set** `4559:3148`（state × selected × expanded = 3×2×2，含 row collapsed 80px / expanded 200px）
- **11 个 user-flow frame**：M1-Empty / M2-PP-Bootstrap / M3-1-Syncing-Live / M4-Just-Synced-Toast / M5-2-Sessions-Accordion / M6-3-Mixed / M7-Cap-Full / M8-Manual-Collapse / M9-Remove-Modal / M10-After-Renumber + **M-MultiExp**（bein sports case 2 sync 并行）
- **2×5 reading-order grid** + 11 state-labels（each 含 what + why + invariants）
- Design Rules card 14 → 18 条（+ 4 accordion 规则 + trend color 扩 + 6 条新规则散点）
- M9 modal: 20% black scrim + BACKGROUND_BLUR radius 8 + TVU `Notification` 480×182（user-validated 数值）

**TVU DS 真源回流**（master commit `795bb2dc` push github）：
- **domain-tvu.md**：M10 Inactive 子型 / M11 Trend icon+数值色双层信号 (2 NEW)
- **design-process.md**：M16.1 Multi-state 默认+越权双 frame / M21.1 Clone+mutate 派生 variant (1 NEW + 1 mod)
- **mockup-conventions.md**：M39 Variant text property / M40 #N sequence vs name / M41 Destructive modal / M42 Clone Gate (4 NEW) + M-COLOR C1 扩 stroke / M38 加第 3 层 chrome / I1.1 2-col grid / M23.7 state-label what+why (4 mod)
- 不回流 3 条（A2 重复 / A3 项目特定 / B5 项目特定）

**Process artifacts**：
- 3 篇 handoff (`phaseB-step2 / step3-done / tvu-ds-回流候选-draft`)
- 1 篇本复盘 + slides 配对
- Memory `figma-video-sync-source.md` 更新 3 次（架构发现 / Step 3 完成 / Step 3 reading-order）

---

## 2. 时间线（按用户 feedback 顺序，精选 15 个 turning points）

| # | 阶段 | 用户 feedback / 触发（用户原话引用）| 改动量 | 性质 |
|---|---|---|---|---|
| 1 | Phase B 启动 | "接 Video Sync Phase B" | 读 handoff + 提议 Step 1-2 范围 | AI 自动 |
| 2 | 12 variants 决策 | "推荐哪个" → 我建议 12 完整变体 | 4 个 use_figma 建 5 anchor + 12 variants | AI 主导 |
| 3 | Checkpoint 建议 | 5/12 variants 后我建议 checkpoint，user "上下文还有很多，建议当前 Session 继续任务" | 不 checkpoint，继续推 7 个 variants + combine | AI 过度谨慎 |
| 4 | Step 3 起步 | "直接开始 Step 3" | 替换 M0/M1/Cap-Full 为 instance | AI 自动 |
| 5 | Step 3 中途确认 | "推荐哪个" → 我建议先建 M5/M8/M10 后建 M-Empty/M9 | 5 个新 frame 全建 | AI 主导 |
| 6 | Section overflow 警告 | "需要看看是不是有重叠和 Section 内容溢出的问题" | 触发 overlap audit + 发现 rules-card 与 M10 重叠 / Variant Lab 溢出 | **用户主动 sanity-check** |
| 7 | 重排次序纠正 | "你应该先做 section 内 frame 物理 reading-order 重排..." | 我之前打算先 audit overflow，user 纠正应先重排避免做无用功 | AI 顺序错 |
| 8 | Row 高度问题 | "我把 Session 收起的高度手动调成 80px 了，看起来还是没有占满，72 px 的这个高度也没有 Session，你如何计算来的？" | 4 道追问问 4 类问题 | AI 计算/逻辑 gap |
| 9 | M4 漏 Add CTA | "M4 为什么没有 Add another sync Session 的入口？" | 补 Add row 到 M4 | **AI sanity-check gap** |
| 10 | Multi-expand 缺帧 | "为什么没有展示两个 Session 都一起展开的状态？比如之前举例的那个 Case" | 加 M-MultiExp + 重排 grid | **AI 覆盖度 gap** |
| 11 | Walkthrough 漏跑 | "执行设计走查了吗？" | 触发 design-walkthrough skill | **AI 主动性 gap** |
| 12 | Delta 颜色规则漏 | "没有说明 Delta 趋势·↑↓计算这个的颜色标记状态如何判断的。确认所有的 UX 交付说明都更新了吗？" | 补 Design Rules card trend 颜色 + audit 全文档 staleness | AI 完整性 gap |
| 13 | M-MultiExp 范围 | "2 sessions both expanded (bein sports case)，这个只需要展示 2 个 Session + Add Another Sync Session 即可" | 验证已是正确结构，没多余 | AI 仅 sanity-check |
| 14 | Frame 间距问题 | "每个图之间的间距不够大，UX 交付说明离上下都比较近，需要界限更清晰一些" | 11 个 frame 重排 row pitch 1280 → 1480 (gap 200 → 400) | **AI sanity-check gap** |
| 15 | M9 dialog 错用 artifact | "你用的是一个大框来同时放 2 个确认操作框，实际上只会有一个，所以建议 M9 模拟用户真实看到的效果，只显示一个确认框，背景应该是个遮罩层来显示" | 拆 M9 重做 = scrim + 单 dialog | **AI 没"模拟真实用户态" sanity-check** |
| 16 | M9 scrim 用户精调 | 用户手动改 scrim 60% black → 20% + 加 BACKGROUND_BLUR radius 8 + 换 TVU Notification 480×182 | 记 B7 规则用户实证数值 | 用户 ground truth |
| 17 | A2 三重规则失效追问 | "A2 品牌色必须绑 var，禁裸 hex，已经有了规则，为什么还出现这个错误了？" | 诊断 5 层失效 + 提议 M42 Clone Gate | **诊断/反思** |
| 18 | 跨 session enforcement 问 | "我刚刚在另一个消费产品的设计图设计上让它写 UX 交付说明，但是它没有遵守 TVU 设计系统里面我约束的格式，这是为什么？你每次都拿对了" | 诊断 5 偶然条件 + 5 修复路径 | **诊断/反思** |
| 19 | 回流执行 | "好。然后看看其余的那些是不是一起回流了" → "Yes" | 12 处编辑跨 3 文件 + commit + push github | AI 主导执行 |
| 20 | 分支策略澄清 | "理论上我应该直接提交到 Master" + "docs-only 改动 Owner 可直 commit master" | Cherry-pick master + 清理 chore 分支 | AI 分支知识 gap |

---

## 3. Top 5 Process Gap（按返工成本排序）

### Gap 1 · 缺「模拟真实用户态」的 sanity check 步骤

**实证**：4 次同源同类违例 — 每次都靠用户原话纠正

| 违例 | 用户原话 | 返工 |
|---|---|---|
| M4 漏 Add CTA | "M4 为什么没有 Add another sync Session 的入口？" | 1 use_figma 补 |
| M9 用 multi-variant artifact 当 user 态 | "实际上只会有一个，应该模拟用户真实看到的效果" | 1 use_figma 拆重做 |
| Frame 间距 200 太挤 | "每个图之间的间距不够大...需要界限更清晰" | 1 use_figma 重排 11 帧 |
| Scrim 60% 黑太重 | 用户手动改 20% + 加 blur 8 | 用户自己改 |

**返工成本**：4 次 use_figma + 用户 5 句关键纠正 + 1 次 retrospect 把 user-validated 数值固化到规则

**原因**（次重要）：AI 把"完成需求"等同于"按 spec 把元素摆好"，**没有把自己代入真实 user 的视角再 sanity-check**「我现在看到的真的是 user 该看到的吗」。Spec 是 design tool 视角（含 artifact / variant 展示），user 视角是单一时刻的实际渲染。两者不分 = AI 把 design tool 物料当 user UI 交付。

**✅ 解决方案**：

- **当下修复**：M4 加 Add row / M9 拆 dialog artifact 重做 scrim+单 dialog / Frame pitch 1280→1480 / scrim 20% + blur 8（user-validated）
- **长期防护**：每个 user-flow frame 完成时 AI 必跑「**真实用户态 sanity check**」3 问：(1) 这帧若给 user 看一秒钟，他/她看到的是单一稳定状态吗？(2) 所有 user-actionable 入口（Add / Remove / Sync / Cancel）都在吗？(3) 间距/视觉权重对 user 任务有帮助还是干扰？任一不达标必返工。
- **真源落地**：✅ 已落 **M41**（Destructive modal 必 scrim + 单 dialog + 含 user-validated 数值）+ **M16.1**（Multi-state 默认+越权双 frame 覆盖）+ **M-INTEGRITY I1.1**（2-col grid + 间距 pitch ≥ 400）三条 TVU DS 真源规则；⏳ "真实用户态 sanity check 3 问"待累积 3+ session 实证后抽 design-process.md

---

### Gap 2 · 漏主动 trigger walkthrough — 用户必须问才跑

**实证**：Phase B Step 3 完成 11 帧后，我直接转去更新 handoff/memory/work log，**没主动 trigger `design-walkthrough` skill**。直到用户问 "执行设计走查了吗？" 才触发。

> **用户原话**："执行设计走查了吗？"

**返工成本**：表面看 0（walkthrough 后续跑了），但**深层成本**是 walkthrough 出的 3 个 high (stroke var binding / M10 chip / M9 modal) 本来该 in-flight 就被捕获，而不是 ship 后再补。

**原因**（次重要）：`design-walkthrough` skill 触发是 **opt-in**（用户唤醒词 / AI 自觉跑）。Phase B "Step 3 完成" 应该是**强制 trigger** 但规则未文档化。AI 没有"milestone-driven auto-walkthrough" 硬约束。

**✅ 解决方案**：

- **当下修复**：用户提示后立即跑 walkthrough + 修 3 highs
- **长期防护**：`tvu-design-mockup` skill 起手协议加 **"Phase-End Gate"**：任何 Phase（Step）完成或 wrap-up 前必跑 design-walkthrough，AI 不跑就不能 commit / handoff。
- **真源落地**：⏳ **待回流到 `tvu-design-mockup/SKILL.md` 起手协议** — 触发条件：再有 1-2 个 session 重现此 gap（避免单实证仓促入 skill）

---

### Gap 3 · Clone Gate 盲点：规则只 cover "写" 不 cover "clone propagate"

**实证**：M0/M1 selected row stroke 是裸 hex `{0.184, 0.71, 0.306}` 无 boundVariables（用户早期手画时未绑 var）。Phase B Step 2 我 `node.clone()` 该 row 作 5 anchor → 再派生 12 variants → 全部继承同一 bug → walkthrough 才 catch。

> **用户原话**："A2 品牌色必须绑 var，禁裸 hex，已经有了规则，为什么还出现这个错误了？"

**返工成本**：1 use_figma 修 6 selected variants stroke binding（不严重）+ **抽 M42 Clone Gate 新规则 + 扩 M-COLOR C1 wording（修盲点本身）**

**原因**（次重要）：TVU DS 现有 3 条规则（working-principles 原则 4 / consumer Rule 2 / M-COLOR C1）**全部假设"写"前置 grep**。Clone 流程不算"写" → 不触发任何规则 → bug propagate N×M 倍（N variants × M instances）。

**✅ 解决方案**：

- **当下修复**：6 selected variants stroke 全绑 `UX/Brand/Brand` (`3010:102`)
- **长期防护**：任何 `clone()` / `createInstance()` 起手必先 probe 源元素所有 brand-color paint 的 boundVariables；发现裸 hex 必先修源**或** clone 后立即补绑
- **真源落地**：✅ 已落 **M42 Clone Gate** (mockup-conventions.md NEW) + **M-COLOR C1 扩 stroke + text + frame fill 覆盖**（mod，修盲点 wording）+ **M21.1 Clone+mutate 派生 variant**（design-process.md NEW，绑 M42）

---

### Gap 4 · Multi-state 覆盖不完整 — 缺 user override demo

**实证**：原 Phase B spec §4.1 只列了 default accordion (M5: 1 expanded + 1 collapsed)，**没列**用户主动多展开 (M-MultiExp) 或全收起 (M8) 的 user-override 态。我严格按 spec 建完 10 frame 没主动加，直到 user 追问 bein sports case：

> **用户原话**："为什么没有展示两个 Session 都一起展开的状态？比如之前举例的那个 Case，就需要 2 个 Sync 同时开，一起展开比较方便"

**返工成本**：3 个 use_figma 建 M-MultiExp + 重排 11 帧 grid + 加 state-label + section 拓展 + 1 个回流规则 (M16.1)

**原因**（次重要）：Spec "完整性" 概念里没区分「**规则默认态**」vs「**用户越权态**」。Spec 列了规则但没列 override 实例 → AI 不知道该不该补 → 严格按 spec 交付就完事。**Spec writer（含我自己写 spec 时）也没意识到这是必须双覆盖的。**

**✅ 解决方案**：

- **当下修复**：加 M-MultiExp (bein sports case 2 sync 都展开) + 已有 M8 (全 collapse override) 完成 default + override 双覆盖
- **长期防护**：含 state-machine / interactive list 的 deliverable，spec 必同时含 default 态 + ≥1 user-override 态。Spec writer 起手必 audit 是否覆盖双类。
- **真源落地**：✅ 已落 **M16.1 Multi-state spec mockup 双 frame 覆盖** (design-process.md)

---

### Gap 5 · 跨 session enforcement 是 5 偶然条件叠加 — 不是规则可靠

**实证**：用户问 "为什么另一个 consumer 的 UX 交付说明不遵守 TVU DS 格式，你每次都拿对了"。诊断后发现我拿对是 5 偶然累加：(1) MicroApps 多 session memory 累积 (2) handoff doc 链 (3) skill 在 plugin (4) 用户经常用唤醒词 (5) walkthrough audit 偶尔跑。**少 1 个就翻车**。

> **用户原话**："我刚刚在另一个消费产品的设计图设计上让它写 UX 交付说明，但是它没有遵守 TVU 设计系统里面我约束的格式，这是为什么？你每次都拿对了"

**返工成本**：0 直接返工（诊断性问题），但**深层成本**是揭示 TVU DS 规则机制 **structural gap** — 规则是 doc-based + AI 自觉 + 没强制 Gate

**原因**（次重要）：TVU DS 规则真源都是 `.md` 文件。AI 必须**自觉读 + 自觉应用**。任何一层（skill load / 唤醒词触发 / 起手协议读真源 / Phase-end audit）都是 opt-in 不是 hook。**规则不是 enforcement，是 reference**。

**✅ 解决方案**：

- **当下修复**：本 session 拿对了，未来 session 看 ROI 排序的 5 修复：(1) consumer repo root 加 `CLAUDE.md` 显式 link TVU 真源 (2) skill 起手加 "Pre-Action Gate" 强制声明规则 (3) Figma 内嵌 sticky note (4) audit 脚本 hook (5) memory 跨 consumer 同步
- **长期防护**：把 enforcement 从 AI 自觉升级为强制 Gate
- **真源落地**：⏳ **待回流到 `setup-tvu-consumer` skill 默认生成 `CLAUDE.md`** + **`tvu-design-mockup` skill Pre-Action Gate** — 触发条件：用户决策推哪 5 个修复优先（ROI #1+#2 推荐先）

---

## 4. 高效对话 N 条建议（按 ROI 排序）

### 给 UX / PM（提需求方）

(1) **明确说"模拟真实用户态"或"工作区物料"** — 给 AI 任务时 prefix 说明这帧目的：
- ✅ "M9 模拟用户真实看到的效果"（user 态，单 dialog + scrim）
- ✅ "Variant Lab 工作区放所有 dialog variant 给设计师参考"（artifact 态）
- ❌ "M9 加个 dialog overlay"（歧义，AI 不知道选哪种）

(2) **用 user 原话不要 AI paraphrase** — 跟 AI 抱怨问题时用大白话原话比 AI 化的精确描述更管用：
- ✅ "看起来还是没有占满"（user 体感原话）
- ❌ "row 内 vertical content density 不足"（AI 化术语，反而漏 sanity check）

(3) **Spec 写 ≥3 个例子的字段必声明 N** — 写 PRD 时凡是用 "e.g. / 比如"开头的列表显式标 "本期 in-scope: N 选 X" 而不让 AI 默认全实施（呼应 TVU DS M-PRD-EG）

### 给 AI 协作流程（给下次 session 的 AI）

(4) **Phase-end 必跑 walkthrough，不要等用户问** — 每个 Step / Phase 完成或 wrap-up 前自动 trigger `design-walkthrough` skill，把发现的 highs 列出来再 commit。不要"完成了 → 直接进 handoff" — 中间漏了 audit。

(5) **`clone()` 起手必 probe 源元素 brand-color paint binding** — 不只是 "我画了什么 hex" 要 grep，"我 clone 了什么有 raw hex 的 paint" 也要 probe + 修源 + 才能 clone 安全（M42 Clone Gate）

(6) **Multi-state spec 必双覆盖** — 含 state-machine / list / accordion 的 deliverable，spec 起手 audit "我画了 default 态吗？画了 user-override 态吗？"。两态各 ≥1 frame 不允许只画 default。

(7) **规则盲点优先扩 wording 而非加新规则** — 发现规则没覆盖的 case 时，先看是否能扩现有规则 wording（如 M-COLOR C1 从 "Icon path fill" → "all brand-color paint applications"）而非急着创新规则。本 session 14 候选中 4 条是扩现有规则，避免规则数量膨胀。

### 给 PM / Stakeholder（review 方）

(8) **Review spec mockup 用 "user 态 vs artifact 态" checklist** — 看到一帧时先问 "这是 user 实际看到的吗，还是 design tool 的展示物料？" 两类不分容易把 artifact 当交付误解需求

(9) **看 state-label 时找 what + why + invariants 三段** — state-label 只写 what (这帧画了什么) 不够，必须含 why (业务场景为什么需要这态) + invariants (这帧在演示哪些规则编号)。M23.7 规则化了。

---

## 5. 规则回流清单

### ✅ 已落回流（本 session 写入真源）— commit `795bb2dc` push github

| 规则 ID | 真源文件 | 类型 | 简述 |
|---|---|---|---|
| M10 | `domain-tvu.md` | ⊕ NEW | List row Inactive 至少分 Idle / NeverStarted 两子型 |
| M11 | `domain-tvu.md` | ⊕ NEW | Trend 可视化 icon + 数值颜色双层信号（绿↓收敛 / 橙红↑发散） |
| M16.1 | `design-process.md` | ⊕ NEW sub | Multi-state spec mockup 默认 + 越权双 frame 覆盖 |
| M21.1 | `design-process.md` | ⊕mod sub | 建新 component 优先 clone existing functional row + mutate |
| M-COLOR C1 | `mockup-conventions.md` | ⊕mod | 扩 wording 从 "Icon path fill" → 所有 brand-color paint（fill / stroke / text / frame） |
| M38 | `mockup-conventions.md` | ⊕mod | Selected indicator 从 2 层扩 3 层（加 selection-driven action chrome） |
| M-INTEGRITY I1.1 | `mockup-conventions.md` | ⊕mod sub | Section 含 10+ frames 推荐 2-col × N-row reading-order grid (pitch = h+400) |
| M23.7 | `mockup-conventions.md` | ⊕mod sub | State-label = what + why + invariants |
| M39 | `mockup-conventions.md` | ⊕ NEW | Variant text property abstraction（≥3 instances 不同值必抽 property） |
| M40 | `mockup-conventions.md` | ⊕ NEW | `#N` list item 标号必须文档化 sequence vs name semantic |
| M41 | `mockup-conventions.md` | ⊕ NEW | Destructive modal: 全屏 scrim (20% black + blur 8) + 居中单 TVU Notification 480×182 |
| M42 | `mockup-conventions.md` | ⊕ NEW | **Clone Gate** — probe brand-color paint bindings before mutate（填规则盲点） |

**总计**：7 NEW + 4 mod = 11 处 TVU DS 真源更新。

### ⏳ 待回流（下 session 完成 / 等触发条件）

| 候选规则 | 目标真源 | 触发条件 |
|---|---|---|
| 真实用户态 sanity check 3 问 | `design-process.md` 或 `mockup-conventions.md` | 累积 3+ session 实证 Gap 1（本 session 1 个） |
| Phase-end mandatory walkthrough trigger | `tvu-design-mockup/SKILL.md` 起手协议 | 累积 1-2 session 再现 Gap 2 |
| `setup-tvu-consumer` 默认生成 `CLAUDE.md` 显式 link TVU 真源 | `skills/setup-tvu-consumer/SKILL.md` | 用户决策推 enforcement 修复 ROI #1 |
| `tvu-design-mockup` Pre-Action Gate 强制声明规则 | `skills/tvu-design-mockup/SKILL.md` | 用户决策推 enforcement 修复 ROI #2 |
| 不回流但留草稿：A3 row 80px / B5 cap chip 位置 | MicroApps `docs/handoffs/2026-05-26-tvu-ds-回流候选-draft.md` | 项目特定，需抽象后再考虑 |

---

## 6. Model 选型实证

| 模型 | 适合场景 | 本 session 起作用时刻 |
|---|---|---|
| **Opus 4.7** | 主对话 / 架构推理 / 自审 / 跨文件回流 | (a) 12-variant 拆解 + 12 处编辑跨 3 文件回流 (b) 5 偶然条件 + 5 ROI 修复诊断 (c) Gap 1-5 抽象 + Top N 排序 |
| **Sonnet 4.6** | 执行 batch 改动 / probe / 简单 swap | (a) `use_figma` 38+ 调用大半可委托 (b) 节点 inspect / property 读取 (c) 重排 11 frame 的纯坐标设置 |
| **Haiku 4.5** | probe / 简单查询 | 不适合主对话（本 session 多次需 cross-file 推理） |

**Hybrid 推荐**：Opus 做 plan owner（决策 + 抽象 + 反思 + 回流），Sonnet subagent 做 executor（按 prompt 跑 `use_figma` / git edit）。本 session 全 Opus 跑，估算 Sonnet 拆分可省 ~40% 推理 token，但跨文件回流（涉及 5 个 TVU DS 文件 cross-reference）必须 Opus 主导。

**纯 Sonnet 推算**：若全 Sonnet 跑本 session：
- 高风险：Gap 1-5 抽象 + ROI 排序可能跑成 surface-level "增加 sanity check" 而非"模拟真实用户态"这类深层洞察
- 高风险：A2 三重重复诊断 + M42 Clone Gate 抽象需要跨 working-principles + consumer skill + M-COLOR + 我自己当前行为 4-source 综合推理
- 估算返工率：60-80%（关键决策需用户介入纠正）

---

## 7. 给团队的 3 个 Action Items

**1. 推 `CLAUDE.md` enforcement 升级（ROI #1 修复）**

> 修改 `setup-tvu-consumer` skill 默认在新 consumer repo root 生成 `CLAUDE.md` 显式 link TVU 真源（`tvu-design-system/docs/internal/mockup-conventions.md` 等）。期望影响：新 consumer 起项目时不依赖唤醒词或 memory 累积，任何 session start 都自动加载 TVU 规则到 system reminder。

**2. 推 `tvu-design-mockup` skill Pre-Action Gate（ROI #2 修复）**

> 在 skill 起手协议加 mandatory step："写 mockup 前必声明本任务将应用的 M-rule 编号列表"。AI 不声明就不能 use_figma 写。期望影响：从"读了规则"升级为"主动 trace 规则"，pre-fire 拦住跳步。

**3. 跨 session 多产品规则同步审计**

> Nancy 当前多 session 多 consumer 并行（本 session + bridge-mockup-008 + 另一 consumer UX 交付说明 issue）。建议每周末跑一次「TVU DS 规则被消费产品实证使用情况 audit」—哪些 M-rule 多次被引用 / 哪些规则盲区被发现 / 哪些 consumer session 实际遵守哪些规则。期望影响：让 TVU DS 真源演进有量化反馈而不是单点回流，且能提前发现规则空白区。

---

## 附录 A · 改动统计

| 改动类型 | 次数 |
|---|---|
| `use_figma` calls | 38+ |
| Figma 节点创建（含 12 variants + 5 new frames + 11 state-labels + scrim + dialog + chip + 12 mod inputs） | 50+ |
| TVU DS 真源 .md 编辑 | 12（跨 3 文件） |
| MicroApps `docs/handoffs/*` 写 | 3 篇 |
| Memory `figma-video-sync-source.md` 编辑 | 3 次（架构 / Step 3 / reading-order） |
| Work log `~/.claude/work-logs/2026-05-26.md` append | 4 次 |
| 总用户原话纠正 | 7-8 次 |
| Walkthrough surfaced highs 修复 | 3 个 |
| TVU DS commit on master | `795bb2dc` push github ✅，push origin gitea ⏸ 待网络 |

## 附录 B · 关联文档

- **本 session 前置 handoff**：[2026-05-26 Phase B 启动](../handoffs/2026-05-26-video-sync-cap-confirm-pickup.md)
- **本 session 中间产物**：[Phase B Step 2 完成](../handoffs/2026-05-26-video-sync-phaseB-step2-pickup.md) / [Phase B Step 3 完成](../handoffs/2026-05-26-video-sync-phaseB-step3-done.md)
- **回流候选 draft**：[TVU DS 回流候选 draft](../handoffs/2026-05-26-tvu-ds-回流候选-draft.md)
- **TVU DS master commit**：`795bb2dc docs(rules): 回流 7 NEW + 4 mod from Video Sync Phase B walkthrough`
- **真源链入口**：[memory/figma-video-sync-source](../../../../.claude/projects/-Users-nancy-Documents-AICoding-VS-Code-MicroApps/memory/figma-video-sync-source.md)

---

> **复盘人**：Claude Opus 4.7 (1M context) + Nancy Zeng (UX)
> **复盘时间**：2026-05-26
> **目标受众**：TVU 内部 — UX team + AI 协作流程改进 + design system maintainer
> **联系**：真源文件全部在 `tvu-design-system` repo 内可查
