feat(req-prd): add HTML prototype delivery loop
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 模块设计访谈与缺陷收敛协议
|
||||
# 模块设计访谈、缺陷收敛与 HTML 原型闭环协议
|
||||
|
||||
本协议用于模块、系统、跨域流程等需要先澄清关键产品决策的设计任务。目标是让设计依据可追溯,并让 PRD 在提交评审前经过可验证的缺陷收敛。
|
||||
本协议用于模块、系统、跨域流程等需要先澄清关键产品决策的设计任务。目标是让设计依据可追溯,让 PRD 在提交评审前经过可验证的缺陷收敛,并让 UI 模块通过可访问的 HTML 原型完成交互验证。
|
||||
|
||||
## 1. 进入与退出条件
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
3. 用户明确确认讨论结论;
|
||||
4. PRD 已按结论创建或更新;
|
||||
5. `defect-analysis` 已对最新版 PRD 收敛;
|
||||
6. 用户确认收敛后的最终方案。
|
||||
6. UI 模块的 HTML 原型已生成、上传、关联、回填和验证;无 UI 模块已记录不适用理由并获得用户确认;
|
||||
7. 用户联合确认收敛后的最终 PRD 与原型(或无 UI 的跳过结论)。
|
||||
|
||||
## 2. 讨论文档是跨轮次事实源
|
||||
|
||||
@@ -125,7 +126,7 @@
|
||||
|
||||
若某个修复会改变已确认的目标、范围、实体关系、权限、用户流程、冲突规则或验收口径,不能由 AI 静默应用。将它追加为新的问答或“决策变更”,说明缺陷证据、推荐方案和代价,获得用户确认并更新决策快照后,再修订 PRD;随后重新开始最新版 PRD 的全量审计。
|
||||
|
||||
完成全维度基线后,只有 `defect-analysis` 对最新版完整 PRD 出现一轮“0 个新缺陷”时才能标记收敛。达到 20 轮仍有新发现只是阶段复盘点:汇总剩余风险并请求用户决定是否继续;不得把“达到轮数”写成“已收敛”。用户已明确要求持续审计时,按该技能规则继续下一阶段。
|
||||
完成全维度基线后,只有 `defect-analysis` 对最新版完整 PRD 出现一轮“0 个新缺陷”时才能标记 PRD 收敛。达到 20 轮仍有新发现只是阶段复盘点:汇总剩余风险并请求用户决定是否继续;不得把“达到轮数”写成“已收敛”。用户已明确要求持续审计时,按该技能规则继续下一阶段。
|
||||
|
||||
存在以下任一情况时,不得提交 PRD 评审或宣称完成:
|
||||
|
||||
@@ -133,16 +134,50 @@
|
||||
- 讨论文档缺失或有未成功写入的轮次;
|
||||
- PRD 与已确认决策不一致;
|
||||
- 缺少 0 新增缺陷的收敛轮;
|
||||
- 用户尚未确认收敛后的最终方案。
|
||||
- UI 模块缺少已验证并关联的最终 HTML 原型,或原型与最新版 PRD 不一致;
|
||||
- 无 UI 模块没有记录跳过理由及用户确认;
|
||||
- 用户尚未联合确认收敛后的最终 PRD 与原型(或跳过结论)。
|
||||
|
||||
## 6. 讨论文档结构
|
||||
## 6. HTML 原型闭环
|
||||
|
||||
### 6.1 适用性判断
|
||||
|
||||
PRD 包含页面、表单、列表、可视状态、用户操作或跨页面流程时,必须执行 `req-prototype` 的 HTML upload 模式。Stitch 截图或其他静态图片可以辅助探索,但不能替代可交互 HTML、Requirement 关联和 iframe 回填。
|
||||
|
||||
纯后端、批处理、基础设施等无用户界面的模块可以跳过。跳过前必须把理由、影响范围和待确认内容写入讨论文档,取得用户明确确认,并在 PRD `4.2 界面原型` 留下“不适用”记录。
|
||||
|
||||
### 6.2 生成基线与覆盖范围
|
||||
|
||||
1. 重新读取最新版 PRD,记录任务/文档标识、更新时间、版本和内容摘要或哈希;
|
||||
2. 从功能需求、交互设计和验收标准提取页面清单、角色入口、主流程与关键状态;
|
||||
3. 调用 `req-prototype` 生成独立 HTML。至少覆盖核心入口、主流程,以及 PRD 明确要求的空态、加载态、失败态、无权限态、确认和撤销反馈;
|
||||
4. 原型不得引入 PRD 未确认的新权限、状态、自动化规则或默认值。为了连贯展示所作的推断必须显式标注为待确认,不能伪装成既定需求。
|
||||
|
||||
### 6.3 上传、关联、回填与验证
|
||||
|
||||
1. 通过 `upload_prototype` 上传 HTML,并记录 Requirement 数字 ID、原型 URL、版本说明和上传时间;
|
||||
2. 重新读取 Requirement,确认返回的原型 URL/版本确实已关联。仅拿到上传成功响应不足以通过;
|
||||
3. 将 iframe、PRD 基线、原型版本、版本说明和验证结果回填 PRD `4.2 界面原型`;
|
||||
4. 用浏览器或等价方式验证 URL 可访问、iframe 可展示、核心导航和交互可操作、关键状态可识别。使用临时浏览器时按环境规则关闭;
|
||||
5. 将生成输入、上传结果、验证证据和待确认差异写入讨论文档。任何写入或验证失败都必须停止,不得声称原型已完成。
|
||||
|
||||
### 6.4 用户评审与回流
|
||||
|
||||
向用户展示最终关联的原型,并请其同时检查信息结构、流程、状态、权限提示和关键文案:
|
||||
|
||||
- 仅视觉样式、间距、颜色等不改变产品行为的反馈,可以直接生成新原型版本,并记录修改摘要;
|
||||
- 反馈改变目标、范围、实体关系、权限、状态、流程、异常策略、默认值或验收口径时,追加新的问答/决策变更,更新决策快照和 PRD,重新执行完整 `defect-analysis`,收敛后再生成新 HTML 原型版本;
|
||||
- 每个新版本都必须重新执行关联、PRD 回填和可访问性/交互验证,不得覆盖或伪造历史版本;
|
||||
- 只有用户明确确认“最终 PRD 与当前原型一致”后,模块产品设计才可结束。
|
||||
|
||||
## 7. 讨论文档结构
|
||||
|
||||
```markdown
|
||||
# {REQ-ID} 需求讨论记录
|
||||
|
||||
## 元数据
|
||||
- Requirement:...
|
||||
- 状态:访谈中 | 待方案确认 | PRD 优化中 | 待最终确认 | 已收敛
|
||||
- 状态:访谈中 | 待方案确认 | PRD 优化中 | 原型制作中 | 待最终确认 | 已收敛
|
||||
- 最新 PRD:任务/文档标识
|
||||
- 更新时间:...
|
||||
|
||||
@@ -175,14 +210,27 @@
|
||||
- PRD 修订:...
|
||||
- 剩余风险:...
|
||||
|
||||
## HTML 原型记录
|
||||
### Prototype v1 · {版本说明}
|
||||
- PRD 基线:任务/文档标识、版本、更新时间、摘要或哈希
|
||||
- 是否适用:是 | 否(理由与用户确认)
|
||||
- 原型 URL:...
|
||||
- Requirement 关联校验:...
|
||||
- iframe / 可访问性 / 关键交互验证:...
|
||||
- 用户反馈:...
|
||||
- 行为性变更回流:无 | 对应 Q/D、PRD 版本和 defect 轮次
|
||||
- 状态:待验证 | 待用户确认 | 已替代 | 已确认
|
||||
|
||||
## 收敛结论
|
||||
- 收敛轮次:...
|
||||
- 0 新增缺陷证据:...
|
||||
- 最终原型版本/URL:... | 无 UI,不适用(确认记录:...)
|
||||
- PRD 与原型一致性确认:...
|
||||
- 未解决的中/低风险及接受理由:...
|
||||
- 用户最终确认原话:...
|
||||
```
|
||||
|
||||
## 7. 最终交付说明
|
||||
## 8. 最终交付说明
|
||||
|
||||
最终回复必须同时给出:
|
||||
|
||||
@@ -190,7 +238,8 @@
|
||||
- 讨论任务/文档标识;
|
||||
- PRD 任务/文档标识;
|
||||
- 问答轮数、缺陷审计轮数和收敛轮;
|
||||
- HTML 原型版本、URL、Requirement 关联与验证状态;无 UI 时给出跳过理由和用户确认;
|
||||
- 仍被接受的中/低风险;
|
||||
- 用户两次确认:讨论方案确认、收敛后最终确认。
|
||||
- 用户两次确认:讨论方案确认、最终 PRD 与原型(或无 UI 结论)的联合确认。
|
||||
|
||||
任何标识或写入状态无法验证时,用“未验证/未写入”如实标注。
|
||||
|
||||
Reference in New Issue
Block a user