@openprd/cli 0.1.11 → 0.1.19
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.
- package/.openprd/changes/adaptive-project-framing/.openprd.yaml +2 -0
- package/.openprd/changes/adaptive-project-framing/design.md +47 -0
- package/.openprd/changes/adaptive-project-framing/proposal.md +35 -0
- package/.openprd/changes/adaptive-project-framing/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/adaptive-project-framing/task-events.jsonl +20 -0
- package/.openprd/changes/adaptive-project-framing/tasks.md +340 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/.openprd.yaml +2 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/design.md +34 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/proposal.md +23 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/task-events.jsonl +14 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/tasks.md +238 -0
- package/.openprd/changes/loop-isolated-worktree-commit/.openprd.yaml +2 -0
- package/.openprd/changes/loop-isolated-worktree-commit/design.md +53 -0
- package/.openprd/changes/loop-isolated-worktree-commit/proposal.md +38 -0
- package/.openprd/changes/loop-isolated-worktree-commit/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/loop-isolated-worktree-commit/task-events.jsonl +22 -0
- package/.openprd/changes/loop-isolated-worktree-commit/tasks.md +357 -0
- package/.openprd/changes/openprd/.openprd.yaml +2 -0
- package/.openprd/changes/openprd/design.md +46 -0
- package/.openprd/changes/openprd/proposal.md +36 -0
- package/.openprd/changes/openprd/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/openprd/task-events.jsonl +23 -0
- package/.openprd/changes/openprd/tasks.md +242 -0
- package/.openprd/changes/openprd-generated-change/.openprd.yaml +2 -0
- package/.openprd/changes/openprd-generated-change/design.md +50 -0
- package/.openprd/changes/openprd-generated-change/proposal.md +37 -0
- package/.openprd/changes/openprd-generated-change/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/openprd-generated-change/task-events.jsonl +21 -0
- package/.openprd/changes/openprd-generated-change/tasks.md +357 -0
- package/.openprd/changes/pm-human-in-the-loop/.openprd.yaml +2 -0
- package/.openprd/changes/pm-human-in-the-loop/design.md +38 -0
- package/.openprd/changes/pm-human-in-the-loop/proposal.md +29 -0
- package/.openprd/changes/pm-human-in-the-loop/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/pm-human-in-the-loop/task-events.jsonl +18 -0
- package/.openprd/changes/pm-human-in-the-loop/tasks.md +306 -0
- package/.openprd/changes/test-strategy-router/.openprd.yaml +2 -0
- package/.openprd/changes/test-strategy-router/design.md +65 -0
- package/.openprd/changes/test-strategy-router/proposal.md +45 -0
- package/.openprd/changes/test-strategy-router/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/test-strategy-router/task-events.jsonl +1 -0
- package/.openprd/changes/test-strategy-router/tasks.md +132 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/.openprd.yaml +2 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/design.md +28 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/proposal.md +23 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/task-events.jsonl +11 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/tasks.md +66 -0
- package/.openprd/changes/vibe-coding-dev-check/.openprd.yaml +2 -0
- package/.openprd/changes/vibe-coding-dev-check/design.md +37 -0
- package/.openprd/changes/vibe-coding-dev-check/proposal.md +28 -0
- package/.openprd/changes/vibe-coding-dev-check/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/vibe-coding-dev-check/task-events.jsonl +18 -0
- package/.openprd/changes/vibe-coding-dev-check/tasks.md +306 -0
- package/.openprd/design/README.md +11 -6
- package/.openprd/design/README_EN.md +4 -1
- package/.openprd/design/active/asset-spec.md +6 -0
- package/.openprd/design/active/direction-plan.md +5 -5
- package/.openprd/design/active/selected-direction.md +2 -0
- package/.openprd/design/anti-slop.md +26 -1
- package/.openprd/design/assets/surface-presets.md +6 -0
- package/.openprd/design/checklists/ui-quality-gate.md +7 -0
- package/.openprd/design/lenses/frontend-lenses.md +28 -0
- package/.openprd/design/recipes/content-experience.md +8 -1
- package/.openprd/design/recipes/operational-tool.md +7 -0
- package/.openprd/design/recipes/product-launch.md +8 -1
- package/.openprd/design/templates/README.md +6 -3
- package/.openprd/design/templates/README_EN.md +6 -3
- package/.openprd/design/templates/ops-dashboard.html +8 -1
- package/.openprd/design/templates/product-launch.html +2 -1
- package/.openprd/design/themes/theme-catalog.json +23 -5
- package/.openprd/engagements/active/prd.md +137 -112
- package/.openprd/standards/config.json +7 -1
- package/AGENTS.md +13 -3
- package/README.md +127 -14
- package/README_EN.md +156 -13
- package/package.json +1 -1
- package/scripts/dev-check-wrapup-copy.mjs +46 -21
- package/skills/openprd-diagram-review/SKILL.md +27 -2
- package/skills/openprd-diagram-review/references/explanation-svg-patterns.md +131 -0
- package/skills/openprd-discovery-loop/SKILL.md +2 -2
- package/skills/openprd-frontend-design/SKILL.md +44 -20
- package/skills/openprd-frontend-design/references/design-asset-contract.md +6 -0
- package/skills/openprd-frontend-design/references/direction-engine.md +29 -4
- package/skills/openprd-harness/SKILL.md +22 -16
- package/skills/openprd-quality/SKILL.md +10 -8
- package/skills/openprd-requirement-intake/SKILL.md +2 -0
- package/skills/openprd-router/SKILL.md +2 -1
- package/skills/openprd-shared/SKILL.md +26 -16
- package/skills/openprd-standards/SKILL.md +4 -2
- package/src/agent-canonical-content.js +810 -0
- package/src/agent-integration.js +258 -777
- package/src/canvas-app-client-app.js +838 -0
- package/src/canvas-app-client-helpers.js +1138 -0
- package/src/canvas-app-styles.js +898 -0
- package/src/canvas-app.html.js +135 -0
- package/src/canvas-binding.js +414 -0
- package/src/canvas-codex-relay.js +430 -0
- package/src/canvas-i18n.js +282 -0
- package/src/canvas-scene.js +377 -0
- package/src/canvas-session-store.js +148 -0
- package/src/canvas-workspace.js +1264 -0
- package/src/cli/args.js +72 -4
- package/src/cli/basic-print.js +3 -0
- package/src/cli/canvas-print.js +106 -0
- package/src/cli/doctor-print.js +20 -0
- package/src/cli/print.js +2 -0
- package/src/cli/quality-commands.js +222 -0
- package/src/cli/quality-print.js +28 -2
- package/src/cli/run-print.js +5 -0
- package/src/cli/workflow-print.js +3 -0
- package/src/codex-app-server-relay.js +251 -0
- package/src/codex-hook-runner-template.mjs +978 -58
- package/src/design-starter-support.js +2 -2
- package/src/design-starter.js +39 -3
- package/src/dev-standards.js +125 -10
- package/src/diagram-core.js +6 -20
- package/src/discovery.js +2 -8
- package/src/docs-compact.js +125 -0
- package/src/execution-strategy.js +1 -1
- package/src/fleet.js +9 -3
- package/src/guide.js +227 -0
- package/src/html-artifacts.js +428 -7
- package/src/knowledge.js +45 -11
- package/src/language-policy.js +63 -3
- package/src/learning-review.js +1 -1
- package/src/loop.js +1 -1
- package/src/openprd.js +68 -131
- package/src/openspec/change-validate.js +2 -2
- package/src/openspec/constants.js +6 -7
- package/src/openspec/execute.js +2 -2
- package/src/openspec/generate.js +318 -102
- package/src/openspec/migration.js +168 -0
- package/src/openspec/paths.js +1 -22
- package/src/prd-core.js +1 -1
- package/src/quality-visual-review.js +257 -14
- package/src/quality.js +46 -8
- package/src/review-presentation.js +60 -0
- package/src/run-harness.js +41 -3
- package/src/session-evidence.js +363 -0
- package/src/standards.js +64 -0
- package/src/test-strategy.js +7 -4
- package/src/visual-compare-centering.js +622 -0
- package/src/visual-compare-core.js +1123 -0
- package/src/visual-compare.js +620 -698
- package/src/workspace-core.js +94 -4
- 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,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,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 管理历史项目的项目维护者
|
package/.openprd/changes/verify-boundaries-and-historical-refresh/specs/agent-requirements/spec.md
ADDED
|
@@ -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
|
+
- **则** 产品应提供有边界且可评审的结果
|