# AI 协作复盘 — Self-serviced Connection Priority 设计（FB-10014 / Config-T V3 / TM930）

> 受众：UX 团队 / PM 内部分享。区别于 design-record（实现层）与 TVU 工程 retrospect，本文复盘 **AI 与用户的协作过程**。日期 2026-06-15。

## 1. TL;DR
- **任务**：FB-10014 *Self-serviced Connection Priority* 的 Config-T (V3/TM930) mockup，含入口、Priority 列、Connection Priority 弹窗、UX/dev handoff。
- **最终交付**：Figma `rJJjWWs51n2iFOlCIC7aYG` page `7070:2`，3 个独立 Section（PRD `7070:3` / BEFORE `7099:314` / AFTER `7124:2205`）；FB-10014 评论 247872；tvu-design-system commit `e3b7cf39`。
- **核心 process gap 数**：8。
- **关键 insight**：**需求在 session 期间仍在 Slack（38 楼）并行演进**是本次最大返工源——需求未定型就开建，导致关系模型与命名反复重做。其余高频坑沿袭历史：BEFORE/AFTER 混入同一 Section（已复发数次）、legacy 文件字体沙盒不可加载、表格 auto-layout 语义未先 probe。
- **约 40+ 次 use_figma 调用**，强迭代 + 多约束 + 跨 Figma/JIRA/Slack/Git 工具链。

## 2. Session 概览
- **起点**：FB-10014 进入 Config-T mockup 阶段，但需求模型与 feature 命名仍在 Slack 38 楼讨论。
- **过程**：在需求未定型时即开建 → Data Priority 关系模型反复（"UI 改 feature 值？"→ 最终定为"新增独立 feature 门控自助 GUI、未授权走 TPC data weight、向下兼容"）→ feature 命名三易（Connection Priority → Self-serviced Connection Priority → code name `Self_Serviced_Connection_Priority`）→ Config-T 表格加 Priority 列（砍→加、末列→第 3 列）+ 弹窗 + 入口按钮 + handoff 卡。
- **最终落地**：AFTER Section 含 Network 入口按钮（图标+文字）、Priority 列、Connection Priority 弹窗、UX/dev handoff 卡。
- **process artifacts**：FB-10014 评论 247872、本复盘、回流 commit `e3b7cf39`（BEFORE/AFTER 分 Section 规则四处补强）。

## 3. 时间线 / 主要迭代
| # | 阶段 | 用户 feedback 触发 | 改动 |
|---|---|---|---|
| 1 | 关系模型 v1 | "UI 直接改 feature 值？" | 反复——最终定独立 feature 门控自助 GUI、未授权回退 TPC data weight、向下兼容 |
| 2 | feature 命名 | 三易其名 | Connection Priority → Self-serviced Connection Priority → code name `Self_Serviced_Connection_Priority` |
| 3 | Section 划分 | owner：BEFORE/AFTER 不能同 Section（已复发数次）| 拆成 PRD / BEFORE / AFTER 三个独立 Section |
| 4 | 字体 | legacy Helvetica/PingFang SC 沙盒加载不了 | 新文本统一 Roboto/Noto Sans SC，只移动/新增、不编辑旧 Helvetica cell |
| 5 | Priority 列存废 | "维持现有列" vs "列表要显示当前优先级" | 先砍后加 |
| 6 | Priority 列位置 | 末列 vs 第 3 列 | 调到第 3 列 |
| 7 | 表格 auto-layout | 直接设 x 被忽略 / ABSOLUTE 与 flow 重叠 | 改回 AUTO flow + reorder + 调 itemSpacing/padding 做全宽 |
| 8 | 入口按钮 | owner 抓：叠到收起 chevron | 拉开 40px |
| 9 | PRD scope | owner：PRD 只含背景+需求，设计内容不进 PRD | 设计内容移出 PRD |
| 10 | handoff 卡 | owner 质疑：pending backend/API 段属工程层 | 从 UX 交付卡删除 |

## 4. Top process gaps（按返工成本排序）
1. **需求在 session 期间仍在 Slack（38 楼）并行演进** — 在需求未定型时即开建。实证：Data Priority 关系模型反复（"UI 改 feature 值？"→ 最终"新增独立 feature 门控自助 GUI、未授权走 TPC data weight、向下兼容"）+ feature 命名三易。**返工成本：高（关系模型 + 命名多轮重做）**。回流落点：起手纪律——需求仍在讨论中时，先读完整讨论串 + 确认最终模型再建（待回流到 design-process）。
2. **BEFORE/AFTER 放进同一 Section**（owner 指出此问题已复发数次）。实证：本次又混入同一 Section 被 owner 抓。**返工成本：中（重建分 Section）**。回流落点：design-process 步骤① + 反模式 + design-walkthrough §3/§4 + design-qa-loop handoff，**commit `e3b7cf39` 已 push**。
3. **legacy 文件字体沙盒不可加载** — Config-T 用 Helvetica，Jira 旧组件/表格用 Helvetica/PingFang SC，use_figma 沙盒只有 Google Fonts。实证：反复踩字体加载失败。**返工成本：累积中**。最终统一：新文本用 Roboto/Noto Sans SC，且"只移动/新增、不编辑旧 Helvetica cell"。教训：legacy 文件起手先验字体可加载性。
4. **表格 auto-layout 语义未先 probe** — 行框是 HORIZONTAL auto-layout、cell 是 AUTO flow，直接设 x 被忽略；新 Priority cell 设 ABSOLUTE 又与 flow 重叠。实证：多轮才理顺（改回 AUTO flow + reorder + 调 itemSpacing/table padding 做全宽）。**返工成本：中（多轮）**。教训：动既有结构前先 probe layoutMode/layoutPositioning。
5. **Priority 列存废 + 位置摇摆** — 先按 spec 砍、后又被要求加（"维持现有列" vs "列表要显示当前优先级"）；位置"末列 vs 第 3 列"也调了一次。**返工成本：中**。教训：澄清"可展示"是可选还是必须。
6. **入口按钮叠到收起 chevron** — owner 抓，后走查复现。**返工成本：低**。改：拉开 40px。
7. **PRD scope 争议** — owner：PRD 只含背景+需求，设计内容不进 PRD。**返工成本：低（移出）**。
8. **Pending backend/API 段误放进 UX 交付卡** — owner 质疑后删除（属工程层）。**返工成本：低**。

## 5. 高效对话建议（分受众）
**给提需求方（UX/PM）**：
- 需求仍在 Slack 讨论时**先告知 AI"待定"**，别让 AI 在未定型模型上开建。
- 起手给：**全连接/slot 清单 + feature 门控模型 + 字体/文件类型约束**——这三项越早给越省返工。
- 澄清"可展示当前优先级"是**可选还是必须**，避免列存废来回。

**给 AI 协作流程**：
- legacy 文件**起手先验字体可加载性**（沙盒只有 Google Fonts），定下"新文本 Roboto/Noto Sans SC + 不编辑旧 cell"。
- 动既有结构（表格/行框）**前先 probe layoutMode / layoutPositioning**，别直接设 x。
- **需求未定先读全讨论串再建**——不要在 Slack 仍在演进时抢跑。

**给 review 方**：
- **分阶段 review**：先把 PRD / 关系模型定型，再建稿——本 session 证明边讨论边建代价高。

## 6. 已回流 / 待回流规则
| 规则 | 真源文件 | 状态 |
|---|---|---|
| BEFORE/AFTER 必须分属不同 Section | design-process 步骤① + 反模式 / design-walkthrough §3/§4 / design-qa-loop handoff | ✅ 已回流 commit `e3b7cf39` |
| 需求仍在讨论中 → 先读全讨论串 + 确认最终模型再建 | design-process（起手纪律）| ⏳ 待回流 |
| legacy 文件起手验字体可加载性（新文本 Roboto/Noto Sans SC、不编辑旧 cell）| mockup-conventions / design-process | ⏳ 待确认是否已覆盖 |
| 动既有结构前 probe layoutMode/layoutPositioning | mockup-conventions | ⏳ 待确认 |
| **PRD 只留需求、设计内容下沉 M0/设计稿**（owner 认定规则级）| design-process §Pre-Phase 0 | ⏳ **待回流，尚未 commit** |

## 7. Model 选型推荐
- 本任务**强迭代、多约束、跨 Figma/JIRA/Slack/Git 工具链**，需强推理 + 长上下文的高能力模型（**Opus 级**）。
- 关系模型推演（feature 门控 + 未授权回退 TPC data weight + 向下兼容）+ legacy 表格 auto-layout 调试均需较强推理与长上下文，Opus 胜任。
- 后续机械铺设（clone 行/建卡）可降级 Sonnet。

## 8. 给团队 action items
- [ ] **Nancy：把"PRD 只留需求、设计内容下沉"回流到 design-process.md §Pre-Phase 0**（owner 已认定规则级，尚未 commit）。
- [ ] Nancy/PM：拍板"需求仍在讨论 → 先读全讨论串再建"是否回流 design-process 起手纪律。
- [ ] 提需求方：FB-10014 后续需求若仍在 Slack 演进，先标"待定"再交给 AI。
- [ ] AI 流程：确认 legacy 字体自查 + 动结构前 probe layout 是否已在 mockup-conventions 覆盖，未覆盖则补。
- [ ] 复盘 BEFORE/AFTER 同 Section 反复复发的根因——`e3b7cf39` 是否足以防再犯。

### 附录：use_figma 改动统计（本 session）
约 40+ 次 use_figma：建 PRD 卡 / Jira widget / 弹窗 / 入口按钮 / Priority 列 / 表格全宽重排 / handoff 卡 + 多轮修正（关系模型/命名/Section 拆分/字体/列存废/按钮拉开/PRD scope/handoff 删段）。
