# AI 协作复盘 — Per-SIM Roaming + Access-Tech 显示设计（V4-1864 / V4-2326 / V4-1360）

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

## 1. TL;DR
- **总轮次**：~13 轮视觉精修（Config-T 一处） + Jira/Stage0 起手若干。
- **最终交付（本 session）**：Config-T 状态语言**定稿** + Section/Jira 组件；剩余（PRD/UX卡/LCD/F1）跨 session 续跑。
- **核心 process gap 数**：6。
- **关键 insight**：需求方的 mockup 图（Jira 内联）AI 读不到是最大卡点；状态模型应起手想全（全组合矩阵）再画，而非逐态补；颜色语义（中性 vs 警示）该一次定。

## 2. Session 概览
- **起点**：V4-1864 per-SIM roaming 两处显示，进入设计阶段。
- **过程**：Stage0 读 Jira 评论链（追 FB-8727 拿到 feature-control gate 关键约束）→ 建 V4-2326 LCD 票 + 拆票 → Config-T 一处 proof-of-concept 反复精修状态语言 → 结合 V4-1360 做模块级优化。
- **最终落地**：Config-T Network 表格 Roaming 列(Yes/No/—) + Access Tec 三态(Auto/🔒一致/🔒ⓘ不一致)，状态语言定稿。
- **process artifacts**：design-record、本复盘、续跑 prompt、回流 commit efde055f（图标/字体三道防线）。

## 3. 时间线 / 主要迭代
| # | 版本 | 用户 feedback 触发 | 改动 |
|---|---|---|---|
| 1 | 橙 badge | 起手 proof | Carrier 旁橙"Roaming"badge |
| 2 | 撞列/位置 | badge 跑右(行 autolayout) | 改绝对定位 |
| 3 | "不融合" | 用户：橙 badge 不融现有页 | — |
| 4 | Johannes 列 | "结合 JIRA 推荐"（需贴图）| 独立 Roaming 列 yes/no |
| 5 | 语义修正 B | UX：绿 yes 误导 | Yes 橙/—，表头中性 |
| 6 | "宽度不够" | 用户疑独立列挤 | 实测 946<950 放得下 |
| 7 | 布局填满 | "Slot 收紧+留白 16" | padding16+Slot36+间距20=918 |
| 8 | 双行锁定 | 实际/设置不分 | LTE/🔒5G-NSA 双行 |
| 9 | hover 否决 | "不明显+要支持手机" | 废 hover |
| 10 | warning 状态判断 | "一致看起来怪+先锁定才有一致" | warning 仅不一致时 |
| 11 | error→warning | "要 warning 给了 error" | 换 warning 1 橙 |
| 12 | lock+warning 并存 | "不一致也要 lock" | LTE 🔒 ⓘ |
| 13 | roaming 颜色/Yes-No | "为什么橙 / Yes-No or ON-OFF" | roaming 白 + Yes/No/— 三态 |

## 4. Top process gaps（按返工成本排序）
1. **Jira 内联图 / 附件读不到（403）** — 需求方 Johannes 的 dreamland 位置图、Danner 的 ui_show 图，文本 API 全取不到，AI 卡住、需用户贴图。**返工成本：中（卡 1 轮）**。回流落点：`design-process.md` Step A.1（评论/附件含图 → 起手即请用户贴图，别假设文本=全部 context）。
2. **状态模型未起手想全** — roaming/锁定的"全组合矩阵"（Yes/No/— × Auto/一致/不一致）是用户逐条带出的（"一致看起来怪""先锁定才有一致""不一致也要 lock"），AI 逐态补、反复改。**返工成本：高（~5 轮）**。建议：起手先列全状态矩阵 + 颜色语义，再画。
3. **颜色语义反复**（roaming 橙→白）— roaming 是中性状态事实，AI 初判用警示橙、且与 warning 橙撞色。**返工成本：中**。建议：起手区分"中性状态 vs 警示"再上色。
4. **图标 error vs warning** — catalog 早登记 `icon/Message/warning 1`(橙) vs `Error 4`(红)，AI 起手没查准用了 error。**返工成本：低**。复用刚立的 M0「图标当场定 component key」规则可防。
5. **Section 模块缺位** — proof-of-concept 停太久，没按流程 ②④ 把 Jira/PRD/UX 卡建进 Section，用户抓"为什么没加 Jira"。**返工成本：低（认领补建）**。
6. **legacy 文件坑** — Helvetica 加载不了（Roboto stand-in）、行是 HORIZONTAL autolayout（badge 跑位）、Group 嵌套（FILL 失败）、Jira widget 144px 巨型（resize）。**返工成本：累积中**。

## 5. 高效对话建议（按 ROI）
**给 UX/PM 提需求方**：
- 需求方在 Jira 给的 mockup/位置图，**起手就贴进对话或 Figma**——AI 读不到 Jira 内联图/附件（403）。
- 关键产品逻辑（如"先锁定才有一致性""feature-control gate"）越早说越省返工。

**给 AI 协作流程**：
- 状态类设计**起手先产出完整状态矩阵 + 颜色语义表**，用户一次校全，再开画——比逐态补省 ~5 轮。
- 颜色先分类"中性状态 / 警示 / 品牌"，避免撞色。

**给 PM/Stakeholder review 方**：
- **分阶段 review**：先定"状态语言/设计模型"，再 review"完整交付物铺设"——本 session 证明先定语言、后铺设效率高。

## 6. 已回流 / 待回流规则
| 规则 | 真源文件 | 状态 |
|---|---|---|
| 图标/字体三道防线（M0 源头 + M48 字体自查 + audit-typography-icon）| mockup-conventions / design-process / scripts | ✅ 已回流 commit efde055f |
| 评论/附件含图 → 起手请用户贴图（候选 C）| design-process.md Step A.1 | ⏳ 待回流（本 session 第 3 次实证）|
| 状态类设计起手先出全状态矩阵 + 颜色语义 | design-process.md | ⏳ 待用户拍板是否规则级 |

## 7. Model 选型推荐
- 本 session（Opus）：复杂多轮 UX 判断 + legacy Figma API 调试，Opus 胜任。状态逻辑推理（"先锁定才有一致性"的图标叠加）需较强推理。
- 建议：mockup 视觉精修 + 状态建模用 Opus；后续机械铺设（clone 行/建卡）可 Sonnet。

## 8. Action items
- [ ] PM/Nancy：向 Danner 确认 feature-control "show roaming status" flag 载体。
- [ ] 需求方：FB-8727 的 dreamland / ui_show 图若需 AI 参考，贴进 Figma 或对话。
- [ ] Nancy：拍板"评论含图→起手贴图"与"起手全状态矩阵"是否回流 design-process.md。
- [ ] 下 session：按续跑 prompt 完成 PRD/UX卡/BEFORE/状态行/lock展开/LCD/F1/收尾转单。

### 附录：use_figma 改动统计（本 session Config-T）
~20 次 use_figma：建 page/section、clone AFTER、roaming 列(insertChild)、布局填满、Access Tec 双行→warning→lock+warning、roaming 配色、Jira widget clone+resize。截图迭代 v1–v13。
