@openprd/cli 0.1.11 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/.openprd/changes/adaptive-project-framing/.openprd.yaml +2 -0
  2. package/.openprd/changes/adaptive-project-framing/design.md +47 -0
  3. package/.openprd/changes/adaptive-project-framing/proposal.md +35 -0
  4. package/.openprd/changes/adaptive-project-framing/specs/agent-requirements/spec.md +16 -0
  5. package/.openprd/changes/adaptive-project-framing/task-events.jsonl +20 -0
  6. package/.openprd/changes/adaptive-project-framing/tasks.md +340 -0
  7. package/.openprd/changes/docs-anti-pollution-and-design-direction-review/.openprd.yaml +2 -0
  8. package/.openprd/changes/docs-anti-pollution-and-design-direction-review/design.md +34 -0
  9. package/.openprd/changes/docs-anti-pollution-and-design-direction-review/proposal.md +23 -0
  10. package/.openprd/changes/docs-anti-pollution-and-design-direction-review/specs/agent-requirements/spec.md +16 -0
  11. package/.openprd/changes/docs-anti-pollution-and-design-direction-review/task-events.jsonl +14 -0
  12. package/.openprd/changes/docs-anti-pollution-and-design-direction-review/tasks.md +238 -0
  13. package/.openprd/changes/loop-isolated-worktree-commit/.openprd.yaml +2 -0
  14. package/.openprd/changes/loop-isolated-worktree-commit/design.md +53 -0
  15. package/.openprd/changes/loop-isolated-worktree-commit/proposal.md +38 -0
  16. package/.openprd/changes/loop-isolated-worktree-commit/specs/agent-requirements/spec.md +16 -0
  17. package/.openprd/changes/loop-isolated-worktree-commit/task-events.jsonl +22 -0
  18. package/.openprd/changes/loop-isolated-worktree-commit/tasks.md +357 -0
  19. package/.openprd/changes/openprd/.openprd.yaml +2 -0
  20. package/.openprd/changes/openprd/design.md +46 -0
  21. package/.openprd/changes/openprd/proposal.md +36 -0
  22. package/.openprd/changes/openprd/specs/agent-requirements/spec.md +16 -0
  23. package/.openprd/changes/openprd/task-events.jsonl +23 -0
  24. package/.openprd/changes/openprd/tasks.md +242 -0
  25. package/.openprd/changes/pm-human-in-the-loop/.openprd.yaml +2 -0
  26. package/.openprd/changes/pm-human-in-the-loop/design.md +38 -0
  27. package/.openprd/changes/pm-human-in-the-loop/proposal.md +29 -0
  28. package/.openprd/changes/pm-human-in-the-loop/specs/agent-requirements/spec.md +16 -0
  29. package/.openprd/changes/pm-human-in-the-loop/task-events.jsonl +18 -0
  30. package/.openprd/changes/pm-human-in-the-loop/tasks.md +306 -0
  31. package/.openprd/changes/test-strategy-router/.openprd.yaml +2 -0
  32. package/.openprd/changes/test-strategy-router/design.md +65 -0
  33. package/.openprd/changes/test-strategy-router/proposal.md +45 -0
  34. package/.openprd/changes/test-strategy-router/specs/agent-requirements/spec.md +16 -0
  35. package/.openprd/changes/test-strategy-router/task-events.jsonl +1 -0
  36. package/.openprd/changes/test-strategy-router/tasks.md +132 -0
  37. package/.openprd/changes/verify-boundaries-and-historical-refresh/.openprd.yaml +2 -0
  38. package/.openprd/changes/verify-boundaries-and-historical-refresh/design.md +28 -0
  39. package/.openprd/changes/verify-boundaries-and-historical-refresh/proposal.md +23 -0
  40. package/.openprd/changes/verify-boundaries-and-historical-refresh/specs/agent-requirements/spec.md +16 -0
  41. package/.openprd/changes/verify-boundaries-and-historical-refresh/task-events.jsonl +11 -0
  42. package/.openprd/changes/verify-boundaries-and-historical-refresh/tasks.md +66 -0
  43. package/.openprd/changes/vibe-coding-dev-check/.openprd.yaml +2 -0
  44. package/.openprd/changes/vibe-coding-dev-check/design.md +37 -0
  45. package/.openprd/changes/vibe-coding-dev-check/proposal.md +28 -0
  46. package/.openprd/changes/vibe-coding-dev-check/specs/agent-requirements/spec.md +16 -0
  47. package/.openprd/changes/vibe-coding-dev-check/task-events.jsonl +18 -0
  48. package/.openprd/changes/vibe-coding-dev-check/tasks.md +306 -0
  49. package/.openprd/design/README.md +11 -6
  50. package/.openprd/design/README_EN.md +4 -1
  51. package/.openprd/design/active/asset-spec.md +6 -0
  52. package/.openprd/design/active/direction-plan.md +5 -5
  53. package/.openprd/design/active/selected-direction.md +2 -0
  54. package/.openprd/design/anti-slop.md +26 -1
  55. package/.openprd/design/assets/surface-presets.md +6 -0
  56. package/.openprd/design/checklists/ui-quality-gate.md +7 -0
  57. package/.openprd/design/lenses/frontend-lenses.md +28 -0
  58. package/.openprd/design/recipes/content-experience.md +8 -1
  59. package/.openprd/design/recipes/operational-tool.md +7 -0
  60. package/.openprd/design/recipes/product-launch.md +8 -1
  61. package/.openprd/design/templates/README.md +6 -3
  62. package/.openprd/design/templates/README_EN.md +6 -3
  63. package/.openprd/design/templates/ops-dashboard.html +8 -1
  64. package/.openprd/design/templates/product-launch.html +2 -1
  65. package/.openprd/design/themes/theme-catalog.json +23 -5
  66. package/.openprd/engagements/active/prd.md +103 -100
  67. package/.openprd/standards/config.json +7 -1
  68. package/AGENTS.md +13 -3
  69. package/README.md +107 -14
  70. package/README_EN.md +131 -13
  71. package/package.json +1 -1
  72. package/scripts/dev-check-wrapup-copy.mjs +46 -21
  73. package/skills/openprd-diagram-review/SKILL.md +27 -2
  74. package/skills/openprd-diagram-review/references/explanation-svg-patterns.md +131 -0
  75. package/skills/openprd-discovery-loop/SKILL.md +2 -2
  76. package/skills/openprd-frontend-design/SKILL.md +44 -20
  77. package/skills/openprd-frontend-design/references/design-asset-contract.md +6 -0
  78. package/skills/openprd-frontend-design/references/direction-engine.md +29 -4
  79. package/skills/openprd-harness/SKILL.md +22 -16
  80. package/skills/openprd-quality/SKILL.md +10 -8
  81. package/skills/openprd-requirement-intake/SKILL.md +2 -0
  82. package/skills/openprd-router/SKILL.md +2 -1
  83. package/skills/openprd-shared/SKILL.md +26 -16
  84. package/skills/openprd-standards/SKILL.md +4 -2
  85. package/src/agent-canonical-content.js +808 -0
  86. package/src/agent-integration.js +258 -777
  87. package/src/canvas-app.html.js +2910 -0
  88. package/src/canvas-i18n.js +274 -0
  89. package/src/canvas-workspace.js +2271 -0
  90. package/src/cli/args.js +72 -4
  91. package/src/cli/basic-print.js +3 -0
  92. package/src/cli/canvas-print.js +106 -0
  93. package/src/cli/doctor-print.js +20 -0
  94. package/src/cli/print.js +2 -0
  95. package/src/cli/quality-commands.js +222 -0
  96. package/src/cli/quality-print.js +28 -2
  97. package/src/cli/run-print.js +5 -0
  98. package/src/cli/workflow-print.js +3 -0
  99. package/src/codex-app-server-relay.js +251 -0
  100. package/src/codex-hook-runner-template.mjs +957 -59
  101. package/src/design-starter-support.js +2 -2
  102. package/src/design-starter.js +39 -3
  103. package/src/dev-standards.js +125 -10
  104. package/src/diagram-core.js +6 -20
  105. package/src/discovery.js +2 -8
  106. package/src/docs-compact.js +125 -0
  107. package/src/execution-strategy.js +1 -1
  108. package/src/fleet.js +9 -3
  109. package/src/guide.js +227 -0
  110. package/src/html-artifacts.js +428 -7
  111. package/src/knowledge.js +45 -11
  112. package/src/language-policy.js +63 -3
  113. package/src/learning-review.js +1 -1
  114. package/src/loop.js +1 -1
  115. package/src/openprd.js +68 -131
  116. package/src/openspec/change-validate.js +2 -2
  117. package/src/openspec/constants.js +6 -7
  118. package/src/openspec/execute.js +2 -2
  119. package/src/openspec/generate.js +318 -102
  120. package/src/openspec/migration.js +168 -0
  121. package/src/openspec/paths.js +1 -22
  122. package/src/prd-core.js +1 -1
  123. package/src/quality-visual-review.js +257 -14
  124. package/src/quality.js +46 -8
  125. package/src/review-presentation.js +60 -0
  126. package/src/run-harness.js +41 -3
  127. package/src/session-evidence.js +363 -0
  128. package/src/standards.js +64 -0
  129. package/src/test-strategy.js +7 -4
  130. package/src/visual-compare-centering.js +622 -0
  131. package/src/visual-compare-core.js +1123 -0
  132. package/src/visual-compare.js +620 -698
  133. package/src/workspace-core.js +94 -4
  134. package/src/workspace-workflow.js +46 -1
@@ -0,0 +1,306 @@
1
+ # 任务
2
+
3
+ - [x] T001.01 评审生成的 spec 覆盖
4
+ - type: governance
5
+ - done: 生成的 agent-requirements spec 符合 PRD 意图
6
+ - verify: openprd change . --validate --change pm-human-in-the-loop
7
+ - test-layer: manual
8
+ - test-size: manual
9
+ - test-scope: governance
10
+ - evidence-plan: openprd change . --validate --change pm-human-in-the-loop
11
+ - upgrade-reason: 治理任务以结构校验、评审确认和变更状态证据为主
12
+ - execution-mode: serial
13
+ - parallel-group: governance
14
+ - write-scope: .openprd/changes/**, .openprd/**
15
+ - owner-role: main-agent
16
+ - local-verify: openprd change . --validate --change pm-human-in-the-loop
17
+ - integration-owner: main-agent
18
+
19
+ - [x] T001.02 接通界面入口、导航与页面挂载
20
+ - type: implementation
21
+ - deps: T001.01
22
+ - done: 用户可以从正确入口进入对应界面,页面挂载与状态收尾已经接通。 涉及: 改动集中在 src/standards.js、src/quality.js、src/openspec/change-lifecycle.js、s 等 2 项。
23
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.02 --evidence-required
24
+ - test-layer: integration, e2e
25
+ - test-size: large
26
+ - test-scope: visual-flow
27
+ - evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
28
+ - upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
29
+ - execution-mode: parallel-workers
30
+ - parallel-group: surface
31
+ - write-scope: src/cli/**, src/**, test/**
32
+ - owner-role: worker
33
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.02 --evidence-required
34
+ - integration-owner: main-agent
35
+
36
+ - [x] T001.03 补齐日志、诊断与可观测性信号
37
+ - type: implementation
38
+ - deps: T001.02
39
+ - done: 关键阶段日志和诊断信号已经保留,后续排查可以直接定位到断点。 涉及: 改动集中在 src/standards.js、src/quality.js、src/openspec/change-lifecycle.js、s。
40
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.03 --evidence-required
41
+ - test-layer: unit, integration
42
+ - test-size: medium
43
+ - test-scope: cli-contract
44
+ - evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
45
+ - upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
46
+ - execution-mode: parallel-workers
47
+ - parallel-group: implementation
48
+ - write-scope: src/**, test/**
49
+ - owner-role: worker
50
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.03 --evidence-required
51
+ - integration-owner: main-agent
52
+
53
+ - [x] T001.04 实现guide 命令基于工作区状态推断 7 步流程位置
54
+ - type: implementation
55
+ - deps: T001.03
56
+ - done: 已完成:guide 命令基于工作区状态推断 7 步流程位置
57
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.04 --evidence-required
58
+ - test-layer: integration, e2e
59
+ - test-size: large
60
+ - test-scope: visual-flow
61
+ - evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
62
+ - upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
63
+ - execution-mode: parallel-workers
64
+ - parallel-group: domain
65
+ - write-scope: src/**, test/**
66
+ - owner-role: worker
67
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.04 --evidence-required
68
+ - integration-owner: main-agent
69
+
70
+ - [x] T001.05 实现review.html 渲染 stepper
71
+ - type: implementation
72
+ - deps: T001.04
73
+ - done: 已完成:review.html 渲染 stepper
74
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.05 --evidence-required
75
+ - test-layer: unit, integration
76
+ - test-size: medium
77
+ - test-scope: cli-contract
78
+ - evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
79
+ - upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
80
+ - execution-mode: parallel-workers
81
+ - parallel-group: surface
82
+ - write-scope: src/cli/**, src/**, test/**
83
+ - owner-role: worker
84
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.05 --evidence-required
85
+ - integration-owner: main-agent
86
+
87
+ - [x] T001.06 实现canvas /api/review-directions 返回方向元数据与图片
88
+ - type: implementation
89
+ - deps: T001.05
90
+ - done: 已完成:canvas /api/review-directions 返回方向元数据与图片
91
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.06 --evidence-required
92
+ - test-layer: unit, integration
93
+ - test-size: medium
94
+ - test-scope: api-contract
95
+ - evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
96
+ - upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
97
+ - execution-mode: parallel-workers
98
+ - parallel-group: contracts
99
+ - write-scope: src/**, test/**, docs/basic/backend-structure.md
100
+ - owner-role: worker
101
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.06 --evidence-required
102
+ - integration-owner: main-agent
103
+
104
+ - [x] T001.07 实现canvas 前端导入方向卡片组
105
+ - type: implementation
106
+ - deps: T001.06
107
+ - done: 已完成:canvas 前端导入方向卡片组
108
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.07 --evidence-required
109
+ - test-layer: integration, e2e
110
+ - test-size: large
111
+ - test-scope: visual-flow
112
+ - evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
113
+ - upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
114
+ - execution-mode: parallel-workers
115
+ - parallel-group: implementation
116
+ - write-scope: src/**, test/**
117
+ - owner-role: worker
118
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.07 --evidence-required
119
+ - integration-owner: main-agent
120
+
121
+ - [x] T001.08 打通主流程闭环:PM 打开终端或让 Agent 运行 openprd guide,看到 7 步流程和当前位置,按提示进入下一步 等 3 项
122
+ - type: implementation
123
+ - deps: T001.07
124
+ - done: 主流程关键节点已经打通,用户可以按预期从入口走到结果收尾。 涉及: PM 打开终端或让 Agent 运行 openprd guide,看到 7 步流程和当前位置,按提示进入下一步 等 3 项。
125
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.08 --evidence-required
126
+ - test-layer: integration, e2e
127
+ - test-size: large
128
+ - test-scope: user-flow
129
+ - evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
130
+ - upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
131
+ - execution-mode: serial
132
+ - parallel-group: integration
133
+ - write-scope: src/**, test/**, docs/basic/**
134
+ - owner-role: main-agent
135
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.08 --evidence-required
136
+ - integration-owner: main-agent
137
+
138
+ - [x] T001.09 验证在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据
139
+ - type: verification
140
+ - deps: T001.08
141
+ - done: 已验证:在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据
142
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.09 --evidence-required
143
+ - test-layer: unit, integration
144
+ - test-size: medium
145
+ - test-scope: cli-contract
146
+ - evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
147
+ - upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
148
+ - execution-mode: parallel-workers
149
+ - parallel-group: verification
150
+ - write-scope: test/**, .openprd/harness/test-reports/**
151
+ - owner-role: worker
152
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.09 --evidence-required
153
+ - integration-owner: main-agent
154
+
155
+ - [x] T001.10 回归非功能约束:不新增外部依赖 / guide 与画布 API 只读工作区状态,不写状态
156
+ - type: verification
157
+ - deps: T001.09
158
+ - done: 非功能约束已经回归确认。 涉及: 不新增外部依赖 / guide 与画布 API 只读工作区状态,不写状态。
159
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.10 --evidence-required
160
+ - test-layer: integration, e2e
161
+ - test-size: large
162
+ - test-scope: visual-flow
163
+ - evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
164
+ - upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
165
+ - execution-mode: parallel-workers
166
+ - parallel-group: verification
167
+ - write-scope: test/**, .openprd/harness/test-reports/**
168
+ - owner-role: worker
169
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.10 --evidence-required
170
+ - integration-owner: main-agent
171
+
172
+ - [x] T001.11 回归非功能约束:全部文案用 PM 能看懂的普通语言
173
+ - type: verification
174
+ - deps: T001.10
175
+ - done: 非功能约束已经回归确认。 涉及: 全部文案用 PM 能看懂的普通语言。
176
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.11 --evidence-required
177
+ - test-layer: unit, integration
178
+ - test-size: medium
179
+ - test-scope: cli-contract
180
+ - evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
181
+ - upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
182
+ - execution-mode: parallel-workers
183
+ - parallel-group: verification
184
+ - write-scope: test/**, .openprd/harness/test-reports/**
185
+ - owner-role: worker
186
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.11 --evidence-required
187
+ - integration-owner: main-agent
188
+
189
+ - [x] T001.12 回归边界条件与失败处理:边界情况:工作区还没有任何需求版本时 guide 显示第 1 步并给出起步动作 等 3 项
190
+ - type: verification
191
+ - deps: T001.11
192
+ - done: 边界条件与失败处理已经回归确认。 涉及: 边界情况:工作区还没有任何需求版本时 guide 显示第 1 步并给出起步动作 等 3 项。
193
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.12 --evidence-required
194
+ - test-layer: unit, integration
195
+ - test-size: medium
196
+ - test-scope: cli-contract
197
+ - evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
198
+ - upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
199
+ - execution-mode: parallel-workers
200
+ - parallel-group: verification
201
+ - write-scope: test/**, .openprd/harness/test-reports/**
202
+ - owner-role: worker
203
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.12 --evidence-required
204
+ - integration-owner: main-agent
205
+
206
+ - [x] T001.13 验证成本与额度护栏
207
+ - type: verification
208
+ - deps: T001.12
209
+ - done: 已验证免费、试用或低权限用户不能绕过额度、并发、频率或总量限制
210
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.13 --evidence-required
211
+ - test-layer: integration, security
212
+ - test-size: medium
213
+ - test-scope: security
214
+ - evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
215
+ - upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
216
+ - execution-mode: parallel-workers
217
+ - parallel-group: verification
218
+ - write-scope: test/**, .openprd/harness/test-reports/**
219
+ - owner-role: worker
220
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.13 --evidence-required
221
+ - integration-owner: main-agent
222
+
223
+ - [x] T001.14 验证滥用与越权路径
224
+ - type: verification
225
+ - deps: T001.13
226
+ - done: 已覆盖重复请求、并发请求、越权身份和异常恢复等负向场景
227
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.14 --evidence-required
228
+ - test-layer: integration, security
229
+ - test-size: medium
230
+ - test-scope: security
231
+ - evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
232
+ - upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
233
+ - execution-mode: parallel-workers
234
+ - parallel-group: verification
235
+ - write-scope: test/**, .openprd/harness/test-reports/**
236
+ - owner-role: worker
237
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.14 --evidence-required
238
+ - integration-owner: main-agent
239
+
240
+ - [x] T001.15 验证成本监控、报警和止损
241
+ - type: verification
242
+ - deps: T001.14
243
+ - done: 已确认用量或成本信号、报警阈值和人工/自动止损动作可执行
244
+ - verify: openprd tasks . --change pm-human-in-the-loop --item T001.15 --evidence-required
245
+ - test-layer: integration, security
246
+ - test-size: medium
247
+ - test-scope: security
248
+ - evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
249
+ - upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
250
+ - execution-mode: parallel-workers
251
+ - parallel-group: verification
252
+ - write-scope: test/**, .openprd/harness/test-reports/**
253
+ - owner-role: worker
254
+ - local-verify: openprd tasks . --change pm-human-in-the-loop --item T001.15 --evidence-required
255
+ - integration-owner: main-agent
256
+
257
+ - [x] T001.16 维护 docs/basic 项目基础文档
258
+ - type: documentation
259
+ - deps: T001.15
260
+ - done: 已检查 docs/basic 是否缺失或因本次需求、流程、结构、依赖、产品行为变化而过期;若涉及后端、脚本、Agent 或工具链变更,已同步评估 CLI 与 API 接入面,并在 backend-structure.md 中记录事实或不适用原因;需要更新的基础文档已同步
261
+ - verify: openprd standards . --verify
262
+ - test-layer: manual
263
+ - test-size: manual
264
+ - test-scope: docs
265
+ - evidence-plan: openprd standards . --verify
266
+ - upgrade-reason: 文档任务以标准校验和人工审查证据为主
267
+ - execution-mode: parallel-workers
268
+ - parallel-group: docs
269
+ - write-scope: docs/basic/**, README*.md
270
+ - owner-role: worker
271
+ - local-verify: openprd standards . --verify
272
+ - integration-owner: main-agent
273
+
274
+ - [x] T001.17 更新文件说明书和文件夹 README
275
+ - type: documentation
276
+ - deps: T001.16
277
+ - done: 本次变更涉及的文件说明书和文件夹 README 已检查;缺失的已补齐,过期的已更新
278
+ - verify: openprd standards . --verify
279
+ - test-layer: manual
280
+ - test-size: manual
281
+ - test-scope: docs
282
+ - evidence-plan: openprd standards . --verify
283
+ - upgrade-reason: 文档任务以标准校验和人工审查证据为主
284
+ - execution-mode: parallel-workers
285
+ - parallel-group: docs
286
+ - write-scope: docs/basic/**, README*.md
287
+ - owner-role: worker
288
+ - local-verify: openprd standards . --verify
289
+ - integration-owner: main-agent
290
+
291
+ - [x] T001.18 运行 OpenPrd spec 校验
292
+ - type: governance
293
+ - deps: T001.17
294
+ - done: 生成的 change 通过 OpenPrd 校验
295
+ - verify: openprd change . --validate --change pm-human-in-the-loop
296
+ - test-layer: manual
297
+ - test-size: manual
298
+ - test-scope: governance
299
+ - evidence-plan: openprd change . --validate --change pm-human-in-the-loop
300
+ - upgrade-reason: 治理任务以结构校验、评审确认和变更状态证据为主
301
+ - execution-mode: serial
302
+ - parallel-group: governance
303
+ - write-scope: .openprd/changes/**, .openprd/**
304
+ - owner-role: main-agent
305
+ - local-verify: openprd change . --validate --change pm-human-in-the-loop
306
+ - integration-owner: main-agent
@@ -0,0 +1,2 @@
1
+ schema: openprd.change.v1
2
+ generatedFrom: v0003
@@ -0,0 +1,65 @@
1
+ # 设计
2
+
3
+ ## 背景
4
+
5
+ 用户希望 OpenPrd 在测试阶段帮助项目建立分层测试体系,让不同大小和风险的需求获得合适的验证强度,并沉淀到任务、质量报告和 agent skill 中。
6
+
7
+ ## 目标
8
+
9
+ - 新增测试策略分流器,按风险和证据成本推荐单元测试、集成测试、端到端测试、人工审查、预演、视觉对比或专项验证组合。
10
+ - 让 OpenSpec 任务、循环测试报告和质量报告能展示本轮验证计划、执行证据和豁免理由。
11
+ - 把测试分流接入生成的 skills、AGENTS 指引和 OpenPrd 质量评估,而不是另起一套平行门禁。
12
+
13
+ ## 范围
14
+
15
+ - 新增 OpenPrd 测试策略分流指引。
16
+ - 扩展 OpenSpec 任务元数据,支持测试层级、测试规模、验证范围、风险或证据计划等验证字段。
17
+ - 扩展任务生成,根据需求分流、主流程、非功能、边界和失败路径给出默认测试策略。
18
+ - 扩展质量评估执行环境和 HTML 报告,展示单元、集成、端到端、人工、专项验证证据的覆盖情况。
19
+ - 扩展循环阶段性测试报告,让单任务执行记录选择的测试策略和证据路径。
20
+ - 更新 README、基础文档和相关测试。
21
+
22
+ ## 约束
23
+
24
+ - OpenPrd 是基于 Node.js 的命令行工具,测试使用 node --test。
25
+ - 现有质量评估、循环、OpenSpec 任务、Agent 指引生成和 README 已有验证相关职责,需要在原有链路上扩展。
26
+ - 标准 skill 变更会影响 Codex、Claude 和 Cursor 生成物。
27
+ - 不得把外部方法论中的比例当成未经项目确认的硬性合规要求。
28
+ - 不得让测试证据包含密钥、令牌、个人信息或完整敏感日志。
29
+ - 涉及微信小程序验证时仍必须使用 weapp-dev-mcp,不能仅靠普通端到端文字声明。
30
+ - 依赖现有 openprd-quality、openprd-requirement-intake、openprd-harness 和 Agent 指引生成机制。
31
+ - 依赖 .openprd/quality/evidence、.openprd/harness/test-reports、coverage、tests/reports 等证据源。
32
+ - 外部方法论参考 Martin Fowler 测试金字塔、Google 测试规模和端到端测试建议、Kent C. Dodds 测试奖杯以及 Thoughtworks Agent 反馈信号。
33
+
34
+ ## 业务护栏
35
+
36
+ - 成本来源: E2E、真实浏览器、小程序、visual-compare、性能或极端数据测试会增加本地执行时间和排队成本。
37
+ - 成本来源: 默认新增能力不引入第三方服务调用或联网依赖;只有项目已有测试命令要求时才使用对应工具。
38
+ - 额度限制: 第一版测试策略以 advisory 和证据提示为主,不把固定比例作为硬性阻断。
39
+ - 额度限制: 大型或慢速测试必须有风险理由、执行范围和替代证据说明。
40
+ - 额度限制: 缺少本次执行证据时不能宣称已验证。
41
+ - 滥用防护: 不允许用旧日志、空测试、脚本存在或截图存在冒充本次测试证据。
42
+ - 滥用防护: 不允许把 70/20/10 当成硬指标诱导无意义单测或过度 E2E。
43
+ - 滥用防护: 测试豁免必须记录原因和风险。
44
+ - 监控信号: quality JSON/HTML 报告展示各测试层级的能力、执行证据、缺口和豁免理由。
45
+ - 监控信号: loop test report 记录任务级 test-layer、test-size、test-scope、verify command 和 evidence。
46
+ - 监控信号: run --verify 汇总 quality 的 productionReady 与测试证据缺口。
47
+ - 报警阈值: 必测层级缺少本次执行证据时显示 needs-evidence。
48
+ - 报警阈值: 任务触碰权限、成本、安全、用户主路径、发布或外部依赖却未升级验证时显示需关注。
49
+ - 报警阈值: 检测到大量 E2E 但缺少单测或集成/契约测试时提示倒金字塔风险。
50
+ - 止损动作: 发现证据不足时要求补测、补证据或记录明确豁免原因。
51
+ - 止损动作: 慢测试或 flaky 测试不能反复重跑掩盖,需要记录风险并建议拆出更稳定的中间层验证。
52
+ - 止损动作: 涉及小程序运行态时回到 weapp-dev-mcp 实测,不允许普通文字替代。
53
+
54
+ ## 风险与开放问题
55
+
56
+ - 假设: 多数项目可以通过命令名、目录名、依赖和任务元数据推断测试层级。
57
+ - 假设: 用户更需要最小足够证据,而不是固定比例或形式化覆盖率。
58
+ - 假设: 新增字段以 advisory 起步,比一开始强阻断更容易兼容历史项目。
59
+ - 风险: 过度分流可能增加用户和 Agent 的流程负担。
60
+ - 风险: 规则太硬会导致过度 E2E 或无意义单测。
61
+ - 风险: 规则太松又可能被 Agent 用旧证据或空测试绕过。
62
+ - 风险: 不同技术栈对 integration、component、contract、e2e 的定义不一致。
63
+ - 问题: 测试策略字段命名最终使用 test-layer、test-size、test-scope,还是使用 evidence-plan 或 test-strategy。
64
+ - 问题: 第一版是否只做提示报告,还是对缺少本次证据的必测层级直接阻断。
65
+ - 问题: 是否需要新增 CLI 子命令 openprd test-strategy,或仅作为 skill、质量评估和任务能力存在。
@@ -0,0 +1,45 @@
1
+ # OpenPrd 测试策略分流器
2
+
3
+ ## 背景与原因
4
+
5
+ OpenPrd 现在有质量门禁和验证证据机制,但缺少能按需求风险分流单元测试、集成测试、端到端测试、人工审查和专项验证的统一机制,导致测试要求不够可解释、证据不够结构化。
6
+
7
+ ## 变更内容
8
+
9
+ - 新增 OpenPrd 测试策略分流指引。
10
+ - 扩展 OpenSpec 任务元数据,支持测试层级、测试规模、验证范围、风险或证据计划等验证字段。
11
+ - 扩展任务生成,根据需求分流、主流程、非功能、边界和失败路径给出默认测试策略。
12
+ - 扩展质量评估执行环境和 HTML 报告,展示单元、集成、端到端、人工、专项验证证据的覆盖情况。
13
+ - 扩展循环阶段性测试报告,让单任务执行记录选择的测试策略和证据路径。
14
+ - 更新 README、基础文档和相关测试。
15
+ - 新增测试策略分流指引,定义风险驱动的证据矩阵和需求分流后的默认验证建议。
16
+ - OpenSpec 任务支持测试层级、测试规模、验证范围等测试策略元数据,并在校验中校验取值。
17
+ - 任务生成时根据实现、主流程闭环、验收、非功能、边界和失败模式推导默认测试策略。
18
+ - 质量评估检测测试命令、测试目录、证据来源和激活任务,输出测试策略矩阵。
19
+ - 循环提示和完成报告展示本任务测试策略、执行命令、结果和证据路径。
20
+ - Agent 指引、README 和基础文档同步说明测试分流流程。
21
+ - OpenPrd 生成的任务支持测试策略元数据,并保留现有完成条件和验证命令行为兼容。
22
+ - 新增 openprd-test-strategy skill 或等价的标准指引,并被 Codex、Claude、Cursor 生成物引用。
23
+ - 质量评估报告包含测试策略矩阵,不把固定比例作为硬阻断。
24
+ - 本地测试覆盖任务元数据解析、任务生成、质量检测、循环报告和生成 skill 更新。
25
+
26
+ ## 能力范围
27
+
28
+ - `agent-requirements`: OpenPrd 测试策略分流器 需求。
29
+
30
+ ## 影响范围
31
+
32
+ - 主要用户: 使用 OpenPrd 交付需求并依赖 Agent 自测的开发者
33
+ - 主要用户: 维护 OpenPrd quality、loop、tasks 和 agent guidance 的 OpenPrd maintainer
34
+ - 成本来源: E2E、真实浏览器、小程序、visual-compare、性能或极端数据测试会增加本地执行时间和排队成本。
35
+ - 成本来源: 默认新增能力不引入第三方服务调用或联网依赖;只有项目已有测试命令要求时才使用对应工具。
36
+ - 额度限制: 第一版测试策略以 advisory 和证据提示为主,不把固定比例作为硬性阻断。
37
+ - 额度限制: 大型或慢速测试必须有风险理由、执行范围和替代证据说明。
38
+ - 额度限制: 缺少本次执行证据时不能宣称已验证。
39
+ - 依赖: 依赖现有 openprd-quality、openprd-requirement-intake、openprd-harness 和 Agent 指引生成机制。
40
+ - 依赖: 依赖 .openprd/quality/evidence、.openprd/harness/test-reports、coverage、tests/reports 等证据源。
41
+ - 依赖: 外部方法论参考 Martin Fowler 测试金字塔、Google 测试规模和端到端测试建议、Kent C. Dodds 测试奖杯以及 Thoughtworks Agent 反馈信号。
42
+ - 风险: 过度分流可能增加用户和 Agent 的流程负担。
43
+ - 风险: 规则太硬会导致过度 E2E 或无意义单测。
44
+ - 风险: 规则太松又可能被 Agent 用旧证据或空测试绕过。
45
+ - 风险: 不同技术栈对 integration、component、contract、e2e 的定义不一致。
@@ -0,0 +1,16 @@
1
+ ## 新增需求
2
+
3
+ ### 需求:OpenPrd 测试策略分流器
4
+ OpenPrd 现在有质量门禁和验证证据机制,但缺少能按需求风险分流单元测试、集成测试、端到端测试、人工审查和专项验证的统一机制,导致测试要求不够可解释、证据不够结构化。
5
+
6
+ #### 场景:主流程成功
7
+ - **当** 用户提出需求后,OpenPrd 先做需求分流,再由测试策略分流器给出最低验证组合和升级条件。
8
+ - **则** OpenPrd 生成的任务支持测试策略元数据,并保留现有完成条件和验证命令行为兼容。
9
+
10
+ #### 场景:边界情况保持可见
11
+ - **当** 小改动触碰权限、数据写入、命令行或接口契约、生成物或用户主路径时,需要从单元测试升级到集成测试或端到端测试。
12
+ - **则** 产品应保持该情况明确可见,以支持实现和验证
13
+
14
+ #### 场景:失败模式得到处理
15
+ - **当** Agent 用旧日志、空测试或脚本存在冒充本次证据时,质量评估应提示缺少当前执行证据。
16
+ - **则** 产品应提供有边界且可评审的结果
@@ -0,0 +1 @@
1
+ {"version":1,"at":"2026-05-30 12:23:48","changeId":"test-strategy-router","action":"advance","taskId":"T001.01","taskTitle":"评审生成的 spec 覆盖","ok":true,"verify":null,"evidence":null,"notes":"T001.01 评审覆盖已人工复核:proposal/design/spec/tasks 已生成并匹配 v0003 PRD;openprd change --validate 的结构检查通过,但命令整体因既有 unrelated standards 文件说明书债务返回失败,债务路径包括 feishu-webhook-bridge-workspace、hyperframes-product-intro-case 和 tools/glm_coding_plan_installer.py,非本 change spec/task 覆盖问题。"}
@@ -0,0 +1,132 @@
1
+ # 任务
2
+
3
+ - [x] T001.01 评审生成的 spec 覆盖
4
+ - type: governance
5
+ - done: 生成的 agent-requirements spec 符合 PRD 意图
6
+ - verify: openprd change . --validate --change test-strategy-router
7
+
8
+ - [ ] T001.02 接通界面入口、导航与页面挂载
9
+ - type: implementation
10
+ - deps: T001.01
11
+ - done: 用户可以从正确入口进入对应界面,页面挂载与状态收尾已经接通。 涉及: 依赖现有 openprd-quality、openprd-requirement-intake、openprd-harness 和 Agent 。
12
+ - verify: openprd run . --verify
13
+
14
+ - [ ] T001.03 实现新增测试策略分流指引,定义风险驱动的证据矩阵和需求分流后的默认验证建议
15
+ - type: implementation
16
+ - deps: T001.02
17
+ - done: 已完成:新增测试策略分流指引,定义风险驱动的证据矩阵和需求分流后的默认验证建议
18
+ - verify: openprd run . --verify
19
+
20
+ - [ ] T001.04 实现OpenSpec 任务支持测试层级、测试规模、验证范围等测试策略元数据,并在校验中校验取值
21
+ - type: implementation
22
+ - deps: T001.03
23
+ - done: 已完成:OpenSpec 任务支持测试层级、测试规模、验证范围等测试策略元数据,并在校验中校验取值
24
+ - verify: openprd run . --verify
25
+
26
+ - [ ] T001.05 实现任务生成时根据实现、主流程闭环、验收、非功能、边界和失败模式推导默认测试策略
27
+ - type: implementation
28
+ - deps: T001.04
29
+ - done: 已完成:任务生成时根据实现、主流程闭环、验收、非功能、边界和失败模式推导默认测试策略
30
+ - verify: openprd run . --verify
31
+
32
+ - [ ] T001.06 实现质量评估检测测试命令、测试目录、证据来源和激活任务,输出测试策略矩阵
33
+ - type: implementation
34
+ - deps: T001.05
35
+ - done: 已完成:质量评估检测测试命令、测试目录、证据来源和激活任务,输出测试策略矩阵
36
+ - verify: openprd run . --verify
37
+
38
+ - [ ] T001.07 实现循环提示和完成报告展示本任务测试策略、执行命令、结果和证据路径
39
+ - type: implementation
40
+ - deps: T001.06
41
+ - done: 已完成:循环提示和完成报告展示本任务测试策略、执行命令、结果和证据路径
42
+ - verify: openprd run . --verify
43
+
44
+ - [ ] T001.08 实现Agent 指引、README 和基础文档同步说明测试分流流程
45
+ - type: implementation
46
+ - deps: T001.07
47
+ - done: 已完成:Agent 指引、README 和基础文档同步说明测试分流流程
48
+ - verify: openprd run . --verify
49
+
50
+ - [ ] T001.09 打通主流程闭环:用户提出需求后,OpenPrd 先做需求分流,再由测试策略分流器给出最低验证组合和升级条件 等 3 项
51
+ - type: implementation
52
+ - deps: T001.08
53
+ - done: 主流程关键节点已经打通,用户可以按预期从入口走到结果收尾。涉及: 用户提出需求后,OpenPrd 先做需求分流,再由测试策略分流器给出最低验证组合和升级条件 等 3 项。
54
+ - verify: openprd run . --verify
55
+
56
+ - [ ] T001.10 验证OpenPrd 生成的任务支持测试策略元数据,并保留现有完成条件和验证命令行为兼容
57
+ - type: verification
58
+ - deps: T001.09
59
+ - done: 已验证:OpenPrd 生成的任务支持测试策略元数据,并保留现有完成条件和验证命令行为兼容
60
+ - verify: openprd run . --verify
61
+
62
+ - [ ] T001.11 验证新增 openprd-test-strategy skill 或等价的标准指引,并被 Codex、Claude、Cursor 生成物引用
63
+ - type: verification
64
+ - deps: T001.10
65
+ - done: 已验证:新增 openprd-test-strategy skill 或等价的标准指引,并被 Codex、Claude、Cursor 生成物引用
66
+ - verify: openprd run . --verify
67
+
68
+ - [ ] T001.12 验证质量评估报告包含测试策略矩阵,不把固定比例作为硬阻断
69
+ - type: verification
70
+ - deps: T001.11
71
+ - done: 已验证:质量评估报告包含测试策略矩阵,不把固定比例作为硬阻断
72
+ - verify: openprd run . --verify
73
+
74
+ - [ ] T001.13 验证本地测试覆盖任务元数据解析、任务生成、质量检测、循环报告和生成 skill 更新
75
+ - type: verification
76
+ - deps: T001.12
77
+ - done: 已验证:本地测试覆盖任务元数据解析、任务生成、质量检测、循环报告和生成 skill 更新
78
+ - verify: openprd run . --verify
79
+
80
+ - [ ] T001.14 回归非功能约束:新增能力必须保持现有任务文件和旧 change 兼容,缺少测试策略字段时给出默认推导或提示 等 2 项
81
+ - type: verification
82
+ - deps: T001.13
83
+ - done: 非功能约束已经回归确认。涉及: 新增能力必须保持现有任务文件和旧 change 兼容,缺少测试策略字段时给出默认推导或提示 等 2 项。
84
+ - verify: openprd run . --verify
85
+
86
+ - [ ] T001.15 回归非功能约束:报告文案面向普通用户,避免把内部实现细节直接写成用户说明 等 2 项
87
+ - type: verification
88
+ - deps: T001.14
89
+ - done: 非功能约束已经回归确认。涉及: 报告文案面向普通用户,避免把内部实现细节直接写成用户说明 / 质量结论以本次执行证据为准,脚本存在只能说明具备能力。
90
+ - verify: openprd run . --verify
91
+
92
+ - [ ] T001.16 回归边界条件与失败处理:边界情况:小改动触碰权限、数据写入、命令行或接口契约、生成物或用户主路径时,需要从单元测试升级到集成测试或端到端 等 7 项
93
+ - type: verification
94
+ - deps: T001.15
95
+ - done: 边界条件与失败处理已经回归确认。涉及: 边界情况:小改动触碰权限、数据写入、命令行或接口契约、生成物或用户主路径时,需要从单元测试升级到集成测试或端到端测试 等 7 项。
96
+ - verify: openprd run . --verify
97
+
98
+ - [ ] T001.17 验证成本与额度护栏
99
+ - type: verification
100
+ - deps: T001.16
101
+ - done: 已验证免费、试用或低权限用户不能绕过额度、并发、频率或总量限制
102
+ - verify: openprd run . --verify
103
+
104
+ - [ ] T001.18 验证滥用与越权路径
105
+ - type: verification
106
+ - deps: T001.17
107
+ - done: 已覆盖重复请求、并发请求、越权身份和异常恢复等负向场景
108
+ - verify: openprd run . --verify
109
+
110
+ - [ ] T001.19 验证成本监控、报警和止损
111
+ - type: verification
112
+ - deps: T001.18
113
+ - done: 已确认用量或成本信号、报警阈值和人工/自动止损动作可执行
114
+ - verify: openprd run . --verify
115
+
116
+ - [ ] T001.20 维护 docs/basic 项目基础文档
117
+ - type: documentation
118
+ - deps: T001.19
119
+ - done: 已检查 docs/basic 是否缺失或因本次需求、流程、结构、依赖、产品行为变化而过期;若涉及后端、脚本、Agent 或工具链变更,已同步评估 CLI 与 API 接入面,并在 backend-structure.md 中记录事实或不适用原因;需要更新的基础文档已同步
120
+ - verify: openprd standards . --verify
121
+
122
+ - [ ] T001.21 更新文件说明书和文件夹 README
123
+ - type: documentation
124
+ - deps: T001.20
125
+ - done: 本次变更涉及的文件说明书和文件夹 README 已检查;缺失的已补齐,过期的已更新
126
+ - verify: openprd standards . --verify
127
+
128
+ - [ ] T001.22 运行 OpenPrd spec 校验
129
+ - type: governance
130
+ - deps: T001.21
131
+ - done: 生成的 change 通过 OpenPrd 校验
132
+ - verify: openprd change . --validate --change test-strategy-router
@@ -0,0 +1,2 @@
1
+ schema: openprd.change.v1
2
+ generatedFrom: v0001
@@ -0,0 +1,28 @@
1
+ # 设计
2
+
3
+ ## 背景
4
+
5
+ 历史项目的运行校验正在被参考目录噪音阻塞,需要尽快恢复运行上下文和运行校验的可信度。
6
+
7
+ ## 目标
8
+
9
+ - 让主验证只关注当前项目源码和当前实现门禁
10
+ - 让历史项目刷新后默认获得更干净的校验体验
11
+
12
+ ## 范围
13
+
14
+ - 调整 run context 与 run verify 对 discovery 的纳入规则
15
+ - 调整 standards/source-manual 默认对明显外部参考目录的处理策略
16
+ - 为历史项目执行 openprd fleet 更新与必要回填
17
+
18
+ ## 约束
19
+
20
+ - 待补充
21
+
22
+ ## 业务护栏
23
+
24
+ - 待补充
25
+
26
+ ## 风险与开放问题
27
+
28
+ - 问题: 本次只收敛默认边界,不自动猜测每个历史项目全部外部参考目录清单;如果某些项目还需要更细的目录级归类,仍由维护者显式确认和补充
@@ -0,0 +1,23 @@
1
+ # Verify 边界与历史项目刷新
2
+
3
+ ## 背景与原因
4
+
5
+ 修复 OpenPrd 校验边界,避免外部参考目录和参考调研状态污染主验证,并刷新历史项目生成物。
6
+
7
+ ## 变更内容
8
+
9
+ - 调整 run context 与 run verify 对 discovery 的纳入规则
10
+ - 调整 standards/source-manual 默认对明显外部参考目录的处理策略
11
+ - 为历史项目执行 openprd fleet 更新与必要回填
12
+ - 运行上下文与运行校验的默认结果不再把参考调研状态或明显外部参考目录当成主门禁噪音
13
+ - 历史项目刷新后生成物能承接这次边界修复
14
+ - 对需要人工确认的外部参考目录仍保留显式 `classify-external` 路径
15
+
16
+ ## 能力范围
17
+
18
+ - `agent-requirements`: Verify 边界与历史项目刷新 需求。
19
+
20
+ ## 影响范围
21
+
22
+ - 主要用户: 维护 OpenPrd 的 Agent 工程师
23
+ - 主要用户: 使用 OpenPrd 管理历史项目的项目维护者
@@ -0,0 +1,16 @@
1
+ ## 新增需求
2
+
3
+ ### 需求:Verify 边界与历史项目刷新
4
+ 修复 OpenPrd 校验边界,避免外部参考目录和参考调研状态污染主验证,并刷新历史项目生成物。
5
+
6
+ #### 场景:主流程成功
7
+ - **当** 维护者运行 `openprd run . --context` 或 `openprd run . --verify` 时,只看到当前项目主验证状态;仓库中存在 `research`、`toolkit-sources`、`marketplace-candidates` 等参考目录时,默认不会被当成本项目源码说明书缺口直接淹没结果;维护者可以继续按需显式运行 `classify-external`。
8
+ - **则** 默认运行上下文与运行校验结果不再把参考调研状态或明显外部参考目录当成主门禁噪音
9
+
10
+ #### 场景:边界情况保持可见
11
+ - **当** 出现边界情况
12
+ - **则** 产品应保持该情况明确可见,以支持实现和验证
13
+
14
+ #### 场景:失败模式得到处理
15
+ - **当** 参考调研状态仍然混入运行上下文或运行校验
16
+ - **则** 产品应提供有边界且可评审的结果