# 回归清单 · 简化产品页头部

- 产品：CoDelphi
- 提交：[24135a7](https://github.com/gzhanlei/codelphi/compare/1d568051324d34641e2420e989ff8ce917349f26...24135a7a575d14bf930e5827d97ba1ada945b965)
- 生成时间：2026-11-15 03:51 UTC

## 产品简介编辑
- [ ] [变化] 更新功能「产品简介编辑」（行为变化）（待验证）
- [ ] [变化] EC-1 — 「产品简介编辑」更新场景 EC-1（行为变化；证据路径命中 components/product-description-line.tsx）（待验证）
  情境：产品简介为空且当前用户可编辑｜操作：渲染产品页头部｜结果：显示「尚无产品简介——点击 ✎ 由 AI 生成或手写。」与编辑入口
- [ ] [变化] EC-2 — 「产品简介编辑」更新场景 EC-2（行为变化；证据路径命中 components/product-description-line.tsx）（待验证）
  情境：产品简介为空且当前用户不可编辑｜操作：渲染产品页头部｜结果：不渲染简介行
- [ ] [新增] EC-3 — 「产品简介编辑」新增场景 EC-3（行为变化；证据路径命中 components/product-description-line.tsx）（待验证）
  情境：产品简介超过 90 字｜操作：渲染产品页头部｜结果：仍全文展示，不出现截断或「展开全文」按钮
- [ ] [新增] EC-4 — 「产品简介编辑」新增场景 EC-4（行为变化；证据路径命中 components/product-description-line.tsx）（待验证）
  情境：只读或匿名用户查看有简介的产品页｜操作：查看简介行｜结果：简介全文展示，不显示编辑入口，也不显示展开/收起按钮。
- [ ] [变化] ER-1 — 「产品简介编辑」更新场景 ER-1（行为变化）（待验证）
  情境：保存简介时接口返回错误｜操作：在编辑对话框点击保存｜结果：对话框内显示错误消息，保持打开可重试
- [ ] [变化] HP-1 — 「产品简介编辑」更新场景 HP-1（行为变化；证据路径命中 components/product-description-line.tsx）（待验证）
  情境：产品已有非空简介且当前用户可编辑｜操作：渲染产品页头部｜结果：简介全文展示，右侧显示 ✎ 编辑入口
- [ ] [新增] HP-2 — 「产品简介编辑」新增场景 HP-2（行为变化）（待验证）
  情境：编辑者点击 ✎ 打开编辑对话框｜操作：修改内容并点击保存｜结果：调用 updateDescription 保存后关闭对话框并刷新页面
- [ ] [新增] HP-3 — 「产品简介编辑」新增场景 HP-3（行为变化；证据路径命中 components/product-description-line.tsx）（待验证）
  情境：编辑者打开有简介的产品页｜操作：查看简介行｜结果：简介全文展示，右侧显示 ✎ 编辑入口。

## 产品页头部与演示只读入口
- [ ] [新增] 新增功能「产品页头部与演示只读入口」（行为变化）（待验证）
- [ ] [回归] EC-1 — 已登录但对该产品仅有只读权限 渲染分析入口（影响面推荐）（证据路径命中 components/analyze-button.tsx）（待验证）
- [ ] [回归] EC-2 — 产品页头部渲染 查看标题下方区域（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx）（待验证）
- [ ] [回归] ER-1 — 编辑者点击分析且请求失败 调用 requestAnalysis（影响面推荐）（证据路径命中 components/analyze-button.tsx）（待验证）
- [ ] [回归] HP-1 — 已登录且有编辑权限的用户打开产品页 渲染头部操作区（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx；证据路径命中 components/analyze-button.tsx）（待验证）
- [ ] [回归] HP-2 — 匿名访客打开公开演示产品页 渲染头部操作区（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/analyze-button.tsx）（待验证）

## 产品页头部与简介展示
- [ ] [新增] 新增功能「产品页头部与简介展示」（行为变化）（待验证）
- [ ] [回归] EC-1 — 产品简介为空或仅空白 打开产品页头部（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-10 — 产品简介为空且访问者不可编辑 渲染产品页头部（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-11 — 产品简介为空且访问者可编辑 渲染产品页头部（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-12 — 产品页头部渲染 查看标题下方区域（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx）（待验证）
- [ ] [回归] EC-13 — 产品简介为空且访问者无编辑权限 打开产品页（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-14 — 产品简介为空且访问者为编辑者 打开产品页（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-15 — 产品页头部渲染 查看标题下方区域（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 app/products/[slug]/[product]/page.tsx）（待验证）
- [ ] [回归] EC-2 — 访问者为只读成员 打开产品页头部（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-3 — 产品页头部渲染 查看标题下方区域（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx）（待验证）
- [ ] [回归] EC-4 — 产品简介为空或仅空白字符且访问者不可编辑 打开产品页（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-5 — 产品简介为空或仅空白字符且访问者可编辑 打开产品页（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-6 — 访问者无编辑权限 打开产品页（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-7 — 任意产品页头部 查看标题下方区域（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx）（待验证）
- [ ] [回归] EC-8 — 产品简介为空或仅空白字符 打开产品页（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] EC-9 — 访问者查看产品页头部 浏览标题区域（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx）（待验证）
- [ ] [回归] HP-1 — 产品有非空简介且访问者为编辑者 打开产品页头部（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-10 — 产品已有非空简介且访问者无编辑权限 打开产品页（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx；证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-11 — 产品简介超过 90 字且访问者为编辑者 打开产品页（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-2 — 产品简介长度超过 90 字 打开产品页头部（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-3 — 产品已有非空简介且访问者可编辑 打开产品页（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx；证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-4 — 产品简介长度超过 90 字 打开产品页（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-5 — 产品已有非空简介且访问者无编辑权限 打开产品页（影响面推荐）（证据路径命中 app/products/[slug]/[product]/page.tsx；证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-6 — 产品简介超过 90 字且访问者可编辑 打开产品页（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-7 — 产品简介非空且访问者可编辑 渲染产品页头部（影响面推荐）（证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-8 — 产品简介超过 90 字 渲染产品页头部（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/product-description-line.tsx）（待验证）
- [ ] [回归] HP-9 — 匿名访客以 demo 模式查看产品页 渲染分析操作区（影响面推荐）（证据路径命中 components/analyze-button.tsx）（待验证）

## 匿名演示态分析入口
- [ ] [新增] 新增功能「匿名演示态分析入口」（行为变化）（待验证）
- [ ] [回归] EC-1 — 访问者具备编辑权限 查看分析入口区域（影响面推荐）（证据路径命中 components/analyze-button.tsx）（待验证）
- [ ] [回归] EC-2 — 匿名访客以 demo 权限打开产品页且视口较窄 查看分析操作区（影响面推荐）（证据路径命中 app/globals.css）（待验证）
- [ ] [回归] HP-1 — 匿名访客以演示模式打开产品页 查看分析入口区域（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/analyze-button.tsx）（待验证）
- [ ] [回归] HP-2 — 匿名访客以 demo 权限打开产品页 查看分析操作区（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/analyze-button.tsx）（待验证）

## 只读演示下的分析入口
- [ ] [新增] 新增功能「只读演示下的分析入口」（行为变化）（待验证）
- [ ] [回归] EC-1 — 匿名访客点击「登录后可分析」 点击该按钮（影响面推荐）（证据路径命中 components/analyze-button.tsx）（待验证）
- [ ] [回归] HP-1 — 匿名访客以只读演示身份打开产品页 查看分析操作区（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/analyze-button.tsx）（待验证）
- [ ] [回归] HP-2 — 用户拥有编辑权限 查看分析操作区（影响面推荐）（证据路径命中 components/analyze-button.tsx）（待验证）

## 演示模式分析入口
- [ ] [新增] 新增功能「演示模式分析入口」（行为变化）（待验证）
- [ ] [回归] EC-1 — 匿名访客在窄屏查看演示页头部 渲染分析入口区域（影响面推荐）（证据路径命中 app/globals.css）（待验证）
- [ ] [回归] HP-1 — 匿名访客以演示模式查看产品页 查看分析入口区域（影响面推荐）（证据路径命中 app/globals.css；证据路径命中 components/analyze-button.tsx）（待验证）