@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.
- 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/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 +103 -100
- package/.openprd/standards/config.json +7 -1
- package/AGENTS.md +13 -3
- package/README.md +107 -14
- package/README_EN.md +131 -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 +808 -0
- package/src/agent-integration.js +258 -777
- package/src/canvas-app.html.js +2910 -0
- package/src/canvas-i18n.js +274 -0
- package/src/canvas-workspace.js +2271 -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 +957 -59
- 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,357 @@
|
|
|
1
|
+
# 任务
|
|
2
|
+
|
|
3
|
+
- [x] T001.01 评审生成的 spec 覆盖
|
|
4
|
+
- type: governance
|
|
5
|
+
- done: 生成的 agent-requirements spec 符合 PRD 意图
|
|
6
|
+
- verify: openprd change . --validate --change loop-isolated-worktree-commit
|
|
7
|
+
- test-layer: manual
|
|
8
|
+
- test-size: manual
|
|
9
|
+
- test-scope: governance
|
|
10
|
+
- evidence-plan: openprd change . --validate --change loop-isolated-worktree-commit
|
|
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 loop-isolated-worktree-commit
|
|
17
|
+
- integration-owner: main-agent
|
|
18
|
+
|
|
19
|
+
- [x] T001.02 接通界面入口、导航与页面挂载
|
|
20
|
+
- type: implementation
|
|
21
|
+
- deps: T001.01
|
|
22
|
+
- done: 用户可以从正确入口进入对应界面,页面挂载与状态收尾已经接通。 涉及: OpenPrd 的状态文件、review / change / tasks 主流程。
|
|
23
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.02 --evidence-required
|
|
24
|
+
- test-layer: integration, e2e
|
|
25
|
+
- test-size: large
|
|
26
|
+
- test-scope: user-flow
|
|
27
|
+
- evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令
|
|
28
|
+
- upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据
|
|
29
|
+
- execution-mode: serial
|
|
30
|
+
- parallel-group: integration
|
|
31
|
+
- write-scope: src/**, test/**, docs/basic/**
|
|
32
|
+
- owner-role: main-agent
|
|
33
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.02 --evidence-required
|
|
34
|
+
- integration-owner: main-agent
|
|
35
|
+
|
|
36
|
+
- [x] T001.03 支持显式 worktree / branch 配置,或提供隔离运行包装命令
|
|
37
|
+
- type: implementation
|
|
38
|
+
- deps: T001.02
|
|
39
|
+
- done: 已完成:支持显式 worktree / branch 配置,或提供隔离运行包装命令
|
|
40
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --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 loop-isolated-worktree-commit --item T001.03 --evidence-required
|
|
51
|
+
- integration-owner: main-agent
|
|
52
|
+
|
|
53
|
+
- [x] T001.04 支持检测主工作区脏状态,并在 finish --commit 前阻断高风险路径
|
|
54
|
+
- type: implementation
|
|
55
|
+
- deps: T001.03
|
|
56
|
+
- done: 已完成:支持检测主工作区脏状态,并在 finish --commit 前阻断高风险路径
|
|
57
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.04 --evidence-required
|
|
58
|
+
- test-layer: unit, integration
|
|
59
|
+
- test-size: medium
|
|
60
|
+
- test-scope: cli-contract
|
|
61
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
62
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
63
|
+
- execution-mode: parallel-workers
|
|
64
|
+
- parallel-group: domain
|
|
65
|
+
- write-scope: src/**, test/**
|
|
66
|
+
- owner-role: worker
|
|
67
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.04 --evidence-required
|
|
68
|
+
- integration-owner: main-agent
|
|
69
|
+
|
|
70
|
+
- [x] T001.05 支持基于 write-scope 或 touched files 生成本任务提交集
|
|
71
|
+
- type: implementation
|
|
72
|
+
- deps: T001.04
|
|
73
|
+
- done: 已完成:支持基于 write-scope 或 touched files 生成本任务提交集
|
|
74
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.05 --evidence-required
|
|
75
|
+
- test-layer: integration, security
|
|
76
|
+
- test-size: medium
|
|
77
|
+
- test-scope: security
|
|
78
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
79
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
80
|
+
- execution-mode: parallel-workers
|
|
81
|
+
- parallel-group: implementation
|
|
82
|
+
- write-scope: src/**, test/**
|
|
83
|
+
- owner-role: worker
|
|
84
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.05 --evidence-required
|
|
85
|
+
- integration-owner: main-agent
|
|
86
|
+
|
|
87
|
+
- [x] T001.06 支持在 loop 状态、session 日志和测试报告中记录 commit 关联信息
|
|
88
|
+
- type: implementation
|
|
89
|
+
- deps: T001.05
|
|
90
|
+
- done: 已完成:支持在 loop 状态、session 日志和测试报告中记录 commit 关联信息
|
|
91
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.06 --evidence-required
|
|
92
|
+
- test-layer: unit, integration
|
|
93
|
+
- test-size: medium
|
|
94
|
+
- test-scope: cli-contract
|
|
95
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
96
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
97
|
+
- execution-mode: parallel-workers
|
|
98
|
+
- parallel-group: verification
|
|
99
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
100
|
+
- owner-role: worker
|
|
101
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.06 --evidence-required
|
|
102
|
+
- integration-owner: main-agent
|
|
103
|
+
|
|
104
|
+
- [x] T001.07 支持为未满足 commit 前置条件的任务给出清晰诊断与恢复指引
|
|
105
|
+
- type: implementation
|
|
106
|
+
- deps: T001.06
|
|
107
|
+
- done: 已完成:支持为未满足 commit 前置条件的任务给出清晰诊断与恢复指引
|
|
108
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.07 --evidence-required
|
|
109
|
+
- test-layer: unit, integration
|
|
110
|
+
- test-size: medium
|
|
111
|
+
- test-scope: cli-contract
|
|
112
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
113
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
114
|
+
- execution-mode: parallel-workers
|
|
115
|
+
- parallel-group: implementation
|
|
116
|
+
- write-scope: src/**, test/**
|
|
117
|
+
- owner-role: worker
|
|
118
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.07 --evidence-required
|
|
119
|
+
- integration-owner: main-agent
|
|
120
|
+
|
|
121
|
+
- [x] T001.08 打通主流程闭环:用户为一个 change 进入 loop 开发时,OpenPrd 可显式创建或接入隔离 worktree 与命名 等 3 项
|
|
122
|
+
- type: implementation
|
|
123
|
+
- deps: T001.07
|
|
124
|
+
- done: 主流程关键节点已经打通,用户可以按预期从入口走到结果收尾。涉及: 用户为一个 change 进入 loop 开发时,OpenPrd 可显式创建或接入隔离 worktree 与命名分支,再在其中逐任务运行和提交 等 3 项。
|
|
125
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --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 命令
|
|
130
|
+
- upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据
|
|
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 loop-isolated-worktree-commit --item T001.08 --evidence-required
|
|
136
|
+
- integration-owner: main-agent
|
|
137
|
+
|
|
138
|
+
- [x] T001.09 验证在隔离 worktree 中连续完成多个 loop 任务时,每个任务都能生成独立 commit,并把 commitSha 写回状态
|
|
139
|
+
- type: verification
|
|
140
|
+
- deps: T001.08
|
|
141
|
+
- done: 已验证:在隔离 worktree 中连续完成多个 loop 任务时,每个任务都能生成独立 commit,并把 commitSha 写回状态
|
|
142
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --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 loop-isolated-worktree-commit --item T001.09 --evidence-required
|
|
153
|
+
- integration-owner: main-agent
|
|
154
|
+
|
|
155
|
+
- [x] T001.10 验证在脏主工作区直接尝试 finish --commit 时,会收到明确阻断和豁免提示
|
|
156
|
+
- type: verification
|
|
157
|
+
- deps: T001.09
|
|
158
|
+
- done: 已验证:在脏主工作区直接尝试 finish --commit 时,会收到明确阻断和豁免提示
|
|
159
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.10 --evidence-required
|
|
160
|
+
- test-layer: unit, integration
|
|
161
|
+
- test-size: medium
|
|
162
|
+
- test-scope: cli-contract
|
|
163
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
164
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
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 loop-isolated-worktree-commit --item T001.10 --evidence-required
|
|
170
|
+
- integration-owner: main-agent
|
|
171
|
+
|
|
172
|
+
- [x] T001.11 验证从状态文件和 session 日志可以追溯每个任务对应的 worktree、branch、commit 和测试报告
|
|
173
|
+
- type: verification
|
|
174
|
+
- deps: T001.10
|
|
175
|
+
- done: 已验证:从状态文件和 session 日志可以追溯每个任务对应的 worktree、branch、commit 和测试报告
|
|
176
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --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 loop-isolated-worktree-commit --item T001.11 --evidence-required
|
|
187
|
+
- integration-owner: main-agent
|
|
188
|
+
|
|
189
|
+
- [x] T001.12 验证新能力不破坏现有 loop 的 plan、next、run、finish、verify 基本路径
|
|
190
|
+
- type: verification
|
|
191
|
+
- deps: T001.11
|
|
192
|
+
- done: 已验证:新能力不破坏现有 loop 的 plan、next、run、finish、verify 基本路径
|
|
193
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --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 loop-isolated-worktree-commit --item T001.12 --evidence-required
|
|
204
|
+
- integration-owner: main-agent
|
|
205
|
+
|
|
206
|
+
- [x] T001.13 回归非功能约束:默认路径必须安全,不能把无关改动静默卷入 commit / 行为必须可追踪,可从状态文件复原任务执行链路
|
|
207
|
+
- type: verification
|
|
208
|
+
- deps: T001.12
|
|
209
|
+
- done: 非功能约束已经回归确认。涉及: 默认路径必须安全,不能把无关改动静默卷入 commit / 行为必须可追踪,可从状态文件复原任务执行链路。
|
|
210
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --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 loop-isolated-worktree-commit --item T001.13 --evidence-required
|
|
221
|
+
- integration-owner: main-agent
|
|
222
|
+
|
|
223
|
+
- [x] T001.14 回归非功能约束:对现有 loop 用户保持兼容,新增能力应尽量显式开启或有明确默认策略 等 2 项
|
|
224
|
+
- type: verification
|
|
225
|
+
- deps: T001.13
|
|
226
|
+
- done: 非功能约束已经回归确认。涉及: 对现有 loop 用户保持兼容,新增能力应尽量显式开启或有明确默认策略 / 失败路径必须可恢复,不能留下半记录状态。
|
|
227
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.14 --evidence-required
|
|
228
|
+
- test-layer: unit, integration
|
|
229
|
+
- test-size: medium
|
|
230
|
+
- test-scope: cli-contract
|
|
231
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
232
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
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 loop-isolated-worktree-commit --item T001.14 --evidence-required
|
|
238
|
+
- integration-owner: main-agent
|
|
239
|
+
|
|
240
|
+
- [x] T001.15 回归边界条件与失败处理:边界情况:用户在脏主工作区里直接尝试 finish --commit 等 8 项
|
|
241
|
+
- type: verification
|
|
242
|
+
- deps: T001.14
|
|
243
|
+
- done: 边界条件与失败处理已经回归确认。涉及: 边界情况:用户在脏主工作区里直接尝试 finish --commit 等 8 项。
|
|
244
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.15 --evidence-required
|
|
245
|
+
- test-layer: unit, integration
|
|
246
|
+
- test-size: medium
|
|
247
|
+
- test-scope: cli-contract
|
|
248
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
249
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
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 loop-isolated-worktree-commit --item T001.15 --evidence-required
|
|
255
|
+
- integration-owner: main-agent
|
|
256
|
+
|
|
257
|
+
- [x] T001.16 验证成本与额度护栏
|
|
258
|
+
- type: verification
|
|
259
|
+
- deps: T001.15
|
|
260
|
+
- done: 已验证免费、试用或低权限用户不能绕过额度、并发、频率或总量限制
|
|
261
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.16 --evidence-required
|
|
262
|
+
- test-layer: integration, security
|
|
263
|
+
- test-size: medium
|
|
264
|
+
- test-scope: security
|
|
265
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
266
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
267
|
+
- execution-mode: parallel-workers
|
|
268
|
+
- parallel-group: verification
|
|
269
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
270
|
+
- owner-role: worker
|
|
271
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.16 --evidence-required
|
|
272
|
+
- integration-owner: main-agent
|
|
273
|
+
|
|
274
|
+
- [x] T001.17 验证滥用与越权路径
|
|
275
|
+
- type: verification
|
|
276
|
+
- deps: T001.16
|
|
277
|
+
- done: 已覆盖重复请求、并发请求、越权身份和异常恢复等负向场景
|
|
278
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.17 --evidence-required
|
|
279
|
+
- test-layer: integration, security
|
|
280
|
+
- test-size: medium
|
|
281
|
+
- test-scope: security
|
|
282
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
283
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
284
|
+
- execution-mode: parallel-workers
|
|
285
|
+
- parallel-group: verification
|
|
286
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
287
|
+
- owner-role: worker
|
|
288
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.17 --evidence-required
|
|
289
|
+
- integration-owner: main-agent
|
|
290
|
+
|
|
291
|
+
- [x] T001.18 验证成本监控、报警和止损
|
|
292
|
+
- type: verification
|
|
293
|
+
- deps: T001.17
|
|
294
|
+
- done: 已确认用量或成本信号、报警阈值和人工/自动止损动作可执行
|
|
295
|
+
- verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.18 --evidence-required
|
|
296
|
+
- test-layer: integration, security
|
|
297
|
+
- test-size: medium
|
|
298
|
+
- test-scope: security
|
|
299
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
300
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
301
|
+
- execution-mode: parallel-workers
|
|
302
|
+
- parallel-group: verification
|
|
303
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
304
|
+
- owner-role: worker
|
|
305
|
+
- local-verify: openprd tasks . --change loop-isolated-worktree-commit --item T001.18 --evidence-required
|
|
306
|
+
- integration-owner: main-agent
|
|
307
|
+
|
|
308
|
+
- [x] T001.19 维护 docs/basic 项目基础文档
|
|
309
|
+
- type: documentation
|
|
310
|
+
- deps: T001.18
|
|
311
|
+
- done: 已检查 docs/basic 是否缺失或因本次需求、流程、结构、依赖、产品行为变化而过期;若涉及后端、脚本、Agent 或工具链变更,已同步评估 CLI 与 API 接入面,并在 backend-structure.md 中记录事实或不适用原因;需要更新的基础文档已同步
|
|
312
|
+
- verify: openprd standards . --verify
|
|
313
|
+
- test-layer: manual
|
|
314
|
+
- test-size: manual
|
|
315
|
+
- test-scope: docs
|
|
316
|
+
- evidence-plan: openprd standards . --verify
|
|
317
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
318
|
+
- execution-mode: parallel-workers
|
|
319
|
+
- parallel-group: docs
|
|
320
|
+
- write-scope: docs/basic/**, README*.md
|
|
321
|
+
- owner-role: worker
|
|
322
|
+
- local-verify: openprd standards . --verify
|
|
323
|
+
- integration-owner: main-agent
|
|
324
|
+
|
|
325
|
+
- [x] T001.20 更新文件说明书和文件夹 README
|
|
326
|
+
- type: documentation
|
|
327
|
+
- deps: T001.19
|
|
328
|
+
- done: 本次变更涉及的文件说明书和文件夹 README 已检查;缺失的已补齐,过期的已更新
|
|
329
|
+
- verify: openprd standards . --verify
|
|
330
|
+
- test-layer: manual
|
|
331
|
+
- test-size: manual
|
|
332
|
+
- test-scope: docs
|
|
333
|
+
- evidence-plan: openprd standards . --verify
|
|
334
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
335
|
+
- execution-mode: parallel-workers
|
|
336
|
+
- parallel-group: docs
|
|
337
|
+
- write-scope: docs/basic/**, README*.md
|
|
338
|
+
- owner-role: worker
|
|
339
|
+
- local-verify: openprd standards . --verify
|
|
340
|
+
- integration-owner: main-agent
|
|
341
|
+
|
|
342
|
+
- [x] T001.21 运行 OpenPrd spec 校验
|
|
343
|
+
- type: governance
|
|
344
|
+
- deps: T001.20
|
|
345
|
+
- done: 生成的 change 通过 OpenPrd 校验
|
|
346
|
+
- verify: openprd change . --validate --change loop-isolated-worktree-commit
|
|
347
|
+
- test-layer: manual
|
|
348
|
+
- test-size: manual
|
|
349
|
+
- test-scope: governance
|
|
350
|
+
- evidence-plan: openprd change . --validate --change loop-isolated-worktree-commit
|
|
351
|
+
- upgrade-reason: 治理任务以结构校验、评审确认和变更状态证据为主
|
|
352
|
+
- execution-mode: serial
|
|
353
|
+
- parallel-group: governance
|
|
354
|
+
- write-scope: openprd/changes/**, .openprd/**
|
|
355
|
+
- owner-role: main-agent
|
|
356
|
+
- local-verify: openprd change . --validate --change loop-isolated-worktree-commit
|
|
357
|
+
- integration-owner: main-agent
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 设计
|
|
2
|
+
|
|
3
|
+
## 背景
|
|
4
|
+
|
|
5
|
+
用户已经确认,希望在现有短文案变化摘要的基础上,再补一个可选的项目级版本轨道:既能维护当前版本和版本内更新内容,也能在 commit 流里利用版本信息辅助打 tag,让 release notes、handoff 和外部同步有稳定来源。
|
|
6
|
+
|
|
7
|
+
## 目标
|
|
8
|
+
|
|
9
|
+
- 在 OpenPrd 现有内部 PRD 版本之上,新增一个可选的项目级 release/version 轨道,用来维护当前版本号与版本内更新项。
|
|
10
|
+
- 把现有用户视角短文案摘要和项目版本轨道结合起来,让 commit、handoff、release notes 与外部同步都能复用同一套版本内变化条目。
|
|
11
|
+
- 在用户显式使用 commit 流且版本信息可用时,提供与版本号协同的 tag 辅助能力,但保留高风险 git 行为的安全护栏。
|
|
12
|
+
|
|
13
|
+
## 范围
|
|
14
|
+
|
|
15
|
+
- 新增可选的项目级 release/version ledger,用于维护当前版本号、版本状态和版本内更新项。
|
|
16
|
+
- 把现有变化摘要条目挂载到具体项目版本下,支持需求、Bug、handoff 摘要和 release notes 候选的累计。
|
|
17
|
+
- 扩展 commit 流,在版本轨道已启用且用户显式执行 commit 时读取当前版本,并辅助创建或更新本地版本 tag。
|
|
18
|
+
- 扩展 handoff、release notes 与后续外部同步出口,让它们可以从项目版本轨道导出版本内变化内容。
|
|
19
|
+
- 补充 README、skills、文档和测试,并验证项目版本轨道与短文案摘要的协同效果。
|
|
20
|
+
|
|
21
|
+
## 约束
|
|
22
|
+
|
|
23
|
+
- 需要兼容现有 loop、handoff、review-presentation 和 html-artifacts 的调用契约。
|
|
24
|
+
- 需要在 dirty workspace 中做窄改动,避免误伤正在进行的 test-strategy-router 等历史工作。
|
|
25
|
+
- 依赖现有 OpenPrd CLI、review-presentation、html-artifacts、loop 和 handoff 导出流程。
|
|
26
|
+
|
|
27
|
+
## 业务护栏
|
|
28
|
+
|
|
29
|
+
- 成本来源: 无新增第三方付费调用成本;变化摘要完全基于本地上下文生成。
|
|
30
|
+
- 额度限制: 不引入新的用户额度或发布配额限制;沿用现有 commit / handoff 执行门禁。
|
|
31
|
+
- 滥用防护: 不默认自动 push、自动发布或自动 force 更新远端 tag。
|
|
32
|
+
- 滥用防护: 只有在用户显式执行 commit 且版本轨道启用时,才进入版本 tag 辅助路径。
|
|
33
|
+
- 滥用防护: 远端已有同名版本 tag 时,系统只提示风险和当前指向,不静默改写历史。
|
|
34
|
+
- 监控信号: 关注生成摘要是否频繁退回技术细节、是否在测试中出现失真或空摘要。
|
|
35
|
+
- 报警阈值: 如果三处输出中任一处无法生成可信摘要并持续回退,需要在测试中显式暴露。
|
|
36
|
+
- 止损动作: 当上下文不足或摘要质量不可信时,回退到现有安全文案,不自动包装。
|
|
37
|
+
|
|
38
|
+
## 风险与开放问题
|
|
39
|
+
|
|
40
|
+
- 假设: 用户更看重人能快速扫懂的变化摘要,而不是技术完整性优先的底层说明。
|
|
41
|
+
- 假设: 三处落点可以共用一套核心 formatter,再按场景做轻量渲染差异。
|
|
42
|
+
- 风险: 如果 formatter 规则过死,可能把一些纯技术任务描述得失真。
|
|
43
|
+
- 风险: 如果只改一处而没有共用 contract,后续很快会再次分叉。
|
|
44
|
+
- 问题: 版本轨道是否需要支持 Unreleased 这种未定版态,还是只维护一个明确 current version。
|
|
45
|
+
- 问题: 本地 tag 跟最新 commit 的策略是否只在未推远端前自动生效,还是需要更细的项目级配置。
|
|
46
|
+
- 问题: Feishu 等外部同步出口首期是否只导出版本说明,不直接回写外部系统。
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# OpenPrd 项目级版本轨道与变化摘要
|
|
2
|
+
|
|
3
|
+
## 背景与原因
|
|
4
|
+
|
|
5
|
+
OpenPrd 现在已经有内部 PRD 版本和用户视角变化摘要,但还没有一个可选的项目级 release/version 轨道来维护当前版本号、版本内更新项,以及与 commit tag 的协同规则。结果是版本号已经在项目里被真实使用,却缺少一个本地真源来累计本版本的需求、Bug、handoff 摘要和最终发布说明。
|
|
6
|
+
|
|
7
|
+
## 变更内容
|
|
8
|
+
|
|
9
|
+
- 新增可选的项目级 release/version ledger,用于维护当前版本号、版本状态和版本内更新项。
|
|
10
|
+
- 把现有变化摘要条目挂载到具体项目版本下,支持需求、Bug、handoff 摘要和 release notes 候选的累计。
|
|
11
|
+
- 扩展 commit 流,在版本轨道已启用且用户显式执行 commit 时读取当前版本,并辅助创建或更新本地版本 tag。
|
|
12
|
+
- 扩展 handoff、release notes 与后续外部同步出口,让它们可以从项目版本轨道导出版本内变化内容。
|
|
13
|
+
- 补充 README、skills、文档和测试,并验证项目版本轨道与短文案摘要的协同效果。
|
|
14
|
+
- OpenPrd 提供可选的项目级 release/version ledger,支持记录 current version、版本状态和版本内变化项。
|
|
15
|
+
- 现有共享变化摘要规则支持把新增、修复、优化、调整、移除等条目关联到具体项目版本。
|
|
16
|
+
- handoff 与 release notes 导出优先从项目版本轨道读取对应版本的变化条目。
|
|
17
|
+
- 当版本轨道已启用且用户通过 OpenPrd 显式执行 commit 时,commit 流可以读取当前版本号并辅助创建或更新本地版本 tag。
|
|
18
|
+
- 当用户未更新版本号时,后续变化默认继续累计到当前版本;当用户显式更新版本号后,新的变化进入下一个版本。
|
|
19
|
+
- 新增项目级 release/version ledger,支持 current version、版本状态和版本内变化项存储。
|
|
20
|
+
- 现有变化摘要层继续复用新增、修复、优化、调整、移除等短文案动作词,并能挂到具体项目版本下。
|
|
21
|
+
- commit 流在启用版本轨道且用户明确执行时,可以读取当前版本并辅助创建或更新本地版本 tag;同版本多次提交时 tag 可移动到最新 commit。
|
|
22
|
+
- README、skills、handoff/release 导出和测试同步说明版本轨道与 tag 协同规则。
|
|
23
|
+
|
|
24
|
+
## 能力范围
|
|
25
|
+
|
|
26
|
+
- `agent-requirements`: OpenPrd 项目级版本轨道与变化摘要 需求。
|
|
27
|
+
|
|
28
|
+
## 影响范围
|
|
29
|
+
|
|
30
|
+
- 主要用户: 维护 OpenPrd CLI、skills 和 review 产物的 OpenPrd maintainer
|
|
31
|
+
- 主要用户: 使用 OpenPrd 执行任务并需要生成 commit、handoff 或版本说明的 Agent 使用者
|
|
32
|
+
- 成本来源: 无新增第三方付费调用成本;变化摘要完全基于本地上下文生成。
|
|
33
|
+
- 额度限制: 不引入新的用户额度或发布配额限制;沿用现有 commit / handoff 执行门禁。
|
|
34
|
+
- 依赖: 依赖现有 OpenPrd CLI、review-presentation、html-artifacts、loop 和 handoff 导出流程。
|
|
35
|
+
- 风险: 如果 formatter 规则过死,可能把一些纯技术任务描述得失真。
|
|
36
|
+
- 风险: 如果只改一处而没有共用 contract,后续很快会再次分叉。
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## 新增需求
|
|
2
|
+
|
|
3
|
+
### 需求:OpenPrd 项目级版本轨道与变化摘要
|
|
4
|
+
OpenPrd 现在已经有内部 PRD 版本和用户视角变化摘要,但还没有一个可选的项目级版本轨道来维护当前版本号、版本内更新项,以及与提交标签的协同规则。结果是版本号已经在项目里被真实使用,却缺少一个本地真源来累计本版本的需求、问题修复、交接摘要和最终发布说明。
|
|
5
|
+
|
|
6
|
+
#### 场景:主流程成功
|
|
7
|
+
- **当** 用户在项目里启用版本轨道后,OpenPrd 记录当前版本号,例如 0.1.23,并把后续变化条目累计到该版本下。
|
|
8
|
+
- **则** 新增项目级版本账本,支持当前版本、版本状态和版本内变化项存储。
|
|
9
|
+
|
|
10
|
+
#### 场景:边界情况保持可见
|
|
11
|
+
- **当** 项目可能已经有自己的一套版本号规则,OpenPrd 需要允许手动修正当前版本号,而不是强推默认策略。
|
|
12
|
+
- **则** 产品应保持该情况明确可见,以支持实现和验证
|
|
13
|
+
|
|
14
|
+
#### 场景:失败模式得到处理
|
|
15
|
+
- **当** 版本轨道和内部 PRD 版本被混用,导致用户误以为 v0003 就是项目发版号。
|
|
16
|
+
- **则** 产品应提供有边界且可评审的结果
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{"version":1,"at":"2026-06-02 13:24:40","changeId":"openprd","action":"advance","taskId":"T001.01","taskTitle":"评审生成的 spec 覆盖","ok":true,"verify":{"ok":true,"command":"openprd change . --validate --change openprd","exitCode":0,"stdout":"OpenPrd change 验证: 通过\nChange: openprd\n- OpenPrd change openprd: 1 个 spec delta。\n- openprd/changes/openprd/specs/agent-requirements/spec.md: 1 个需求。\n- 结构化 OpenPrd 任务: 22 个任务,21 条依赖;测试策略显式 22 个、推导 0 个;执行策略显式 0 个、推导 22 个。\n- OpenPrd 任务文件: 1 个文件,22 个 checkbox 任务,每个文件最多 25 个。\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
2
|
+
{"version":1,"at":"2026-06-02 14:56:28","changeId":"openprd","action":"advance","taskId":"T001.02","taskTitle":"接通界面入口、导航与页面挂载","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.02 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
3
|
+
{"version":1,"at":"2026-06-02 14:56:28","changeId":"openprd","action":"advance","taskId":"T001.03","taskTitle":"对齐共享契约与 Host API 调用边界","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.03 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
4
|
+
{"version":1,"at":"2026-06-02 14:56:28","changeId":"openprd","action":"advance","taskId":"T001.04","taskTitle":"实现OpenPrd 提供可选的项目级 release/version ledger,支持记录 current version、版本状态和版本内变化项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.04 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
5
|
+
{"version":1,"at":"2026-06-02 14:56:28","changeId":"openprd","action":"advance","taskId":"T001.05","taskTitle":"实现现有共享变化摘要规则支持把新增、修复、优化、调整、移除等条目关联到具体项目版本","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.05 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
6
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.06","taskTitle":"实现handoff 与 release notes 导出优先从项目版本轨道读取对应版本的变化条目","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.06 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
7
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.07","taskTitle":"实现当版本轨道已启用且用户通过 OpenPrd 显式执行 commit 时,commit 流可以读取当前版本号并辅助创建或更新本地版本 tag","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.07 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
8
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.08","taskTitle":"实现当用户未更新版本号时,后续变化默认继续累计到当前版本;当用户显式更新版本号后,新的变化进入下一个版本","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.08 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
9
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.09","taskTitle":"打通主流程闭环:用户在项目里启用版本轨道后,OpenPrd 记录当前版本号,例如 0.1.23,并把后续变化条目累计到该版本下 等 4 项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.09 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
10
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.10","taskTitle":"验证新增项目级 release/version ledger,支持 current version、版本状态和版本内变化项存储","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.10 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
11
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.11","taskTitle":"验证现有变化摘要层继续复用新增、修复、优化、调整、移除等短文案动作词,并能挂到具体项目版本下","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.11 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
12
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.12","taskTitle":"验证commit 流在启用版本轨道且用户明确执行时,可以读取当前版本并辅助创建或更新本地版本 tag;同版本多次提交时 tag 可移动到最新 commit","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.12 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
13
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.13","taskTitle":"验证README、skills、handoff/release 导出和测试同步说明版本轨道与 tag 协同规则","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.13 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
14
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.14","taskTitle":"回归非功能约束:版本轨道是可选辅助信息,不应破坏现有没有版本管理习惯的项目流程 等 2 项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.14 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
15
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.15","taskTitle":"回归非功能约束:现有显式 commit message、自定义 handoff 内容和已有版本体系优先级不能被新能力静默覆盖 等 2 项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.15 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
16
|
+
{"version":1,"at":"2026-06-02 14:56:29","changeId":"openprd","action":"advance","taskId":"T001.16","taskTitle":"回归边界条件与失败处理:边界情况:项目可能已经有自己的一套版本号规则,OpenPrd 需要允许手动修正当前版本号,而不是强推默认策略 等 8 项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.16 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
17
|
+
{"version":1,"at":"2026-06-02 14:56:30","changeId":"openprd","action":"advance","taskId":"T001.17","taskTitle":"验证成本与额度护栏","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.17 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
18
|
+
{"version":1,"at":"2026-06-02 14:56:30","changeId":"openprd","action":"advance","taskId":"T001.18","taskTitle":"验证滥用与越权路径","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.18 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
19
|
+
{"version":1,"at":"2026-06-02 14:56:30","changeId":"openprd","action":"advance","taskId":"T001.19","taskTitle":"验证成本监控、报警和止损","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.19 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/quality/evidence/evo-quality-gates-20260602.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/quality/evidence/evo-quality-gates-20260602.md","notes":null}
|
|
20
|
+
{"version":1,"at":"2026-06-02 14:56:51","changeId":"openprd","action":"advance","taskId":"T001.20","taskTitle":"维护 docs/basic 项目基础文档","ok":true,"verify":{"ok":true,"command":"openprd standards . --verify","exitCode":0,"stdout":"OpenPrd standards: 通过\nDocs root: docs/basic\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
21
|
+
{"version":1,"at":"2026-06-02 14:56:52","changeId":"openprd","action":"advance","taskId":"T001.21","taskTitle":"更新文件说明书和文件夹 README","ok":true,"verify":{"ok":true,"command":"openprd standards . --verify","exitCode":0,"stdout":"OpenPrd standards: 通过\nDocs root: docs/basic\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
22
|
+
{"version":1,"at":"2026-06-02 14:56:52","changeId":"openprd","action":"advance","taskId":"T001.22","taskTitle":"运行 OpenPrd spec 校验","ok":true,"verify":{"ok":true,"command":"openprd change . --validate --change openprd","exitCode":0,"stdout":"OpenPrd change 验证: 通过\nChange: openprd\n- OpenPrd change openprd: 1 个 spec delta。\n- openprd/changes/openprd/specs/agent-requirements/spec.md: 1 个需求。\n- 结构化 OpenPrd 任务: 22 个任务,21 条依赖;测试策略显式 22 个、推导 0 个;执行策略显式 0 个、推导 22 个。\n- OpenPrd 任务文件: 1 个文件,22 个 checkbox 任务,每个文件最多 25 个。\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
23
|
+
{"version":1,"at":"2026-06-08 23:18:48","changeId":"openprd","action":"advance","taskId":"T001.03","taskTitle":"对齐共享契约与 Host API 调用边界","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change openprd --item T001.03 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: .openprd/harness/test-reports/openprd-session-registry-followup-20260608.md\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":".openprd/harness/test-reports/openprd-session-registry-followup-20260608.md","notes":null}
|