@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,238 @@
|
|
|
1
|
+
# 任务
|
|
2
|
+
|
|
3
|
+
- [x] T001.01 评审生成的 spec 覆盖
|
|
4
|
+
- type: governance
|
|
5
|
+
- done: 生成的 agent-requirements spec 符合 PRD 意图
|
|
6
|
+
- verify: openprd change . --validate --change docs-anti-pollution-and-design-direction-review
|
|
7
|
+
- test-layer: manual
|
|
8
|
+
- test-size: manual
|
|
9
|
+
- test-scope: governance
|
|
10
|
+
- evidence-plan: openprd change . --validate --change docs-anti-pollution-and-design-direction-review
|
|
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 docs-anti-pollution-and-design-direction-review
|
|
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 docs-anti-pollution-and-design-direction-review --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 docs-anti-pollution-and-design-direction-review --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 docs-anti-pollution-and-design-direction-review --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 docs-anti-pollution-and-design-direction-review --item T001.03 --evidence-required
|
|
51
|
+
- integration-owner: main-agent
|
|
52
|
+
|
|
53
|
+
- [x] T001.04 实现standards verify 新增 docsQuality 检查(巨行、平均行长、prd.md 版本落后);新增 openprd docs-compact 命令输出压缩重写建议稿;quality verify 后按 retention 策略清理旧报告(保留 latest + 最近 N);change --archive 在收口路径默认执行;review-presentation --template 输出含 designDirections 的模板;review.html 渲染 3 方向卡片区块
|
|
54
|
+
- type: implementation
|
|
55
|
+
- deps: T001.03
|
|
56
|
+
- done: 已完成:standards verify 新增 docsQuality 检查(巨行、平均行长、prd.md 版本落后);新增 openprd docs-compact 命令输出压缩重写建议稿;quality verify 后按 retention 策略清理旧报告(保留 latest + 最近 N);change --archive 在收口路径默认执行;review-presentation --template 输出含 designDirections 的模板;review.html 渲染 3 方向卡片区块
|
|
57
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.04 --evidence-required
|
|
58
|
+
- test-layer: manual
|
|
59
|
+
- test-size: manual
|
|
60
|
+
- test-scope: docs
|
|
61
|
+
- evidence-plan: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.04 --evidence-required
|
|
62
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
63
|
+
- execution-mode: parallel-workers
|
|
64
|
+
- parallel-group: docs
|
|
65
|
+
- write-scope: docs/basic/**, README*.md
|
|
66
|
+
- owner-role: worker
|
|
67
|
+
- local-verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.04 --evidence-required
|
|
68
|
+
- integration-owner: main-agent
|
|
69
|
+
|
|
70
|
+
- [x] T001.05 打通主流程闭环:文档治理流:Agent 改代码 -> dev-check/standards verify 报巨行与 stale
|
|
71
|
+
- type: implementation
|
|
72
|
+
- deps: T001.04
|
|
73
|
+
- done: 主流程关键节点已经打通,用户可以按预期从入口走到结果收尾。 涉及: 文档治理流:Agent 改代码 -> dev-check/standards verify 报巨行与 stale -> docs-compact。
|
|
74
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.05 --evidence-required
|
|
75
|
+
- test-layer: manual
|
|
76
|
+
- test-size: manual
|
|
77
|
+
- test-scope: docs
|
|
78
|
+
- evidence-plan: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.05 --evidence-required
|
|
79
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
80
|
+
- execution-mode: parallel-workers
|
|
81
|
+
- parallel-group: docs
|
|
82
|
+
- write-scope: docs/basic/**, README*.md
|
|
83
|
+
- owner-role: worker
|
|
84
|
+
- local-verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.05 --evidence-required
|
|
85
|
+
- integration-owner: main-agent
|
|
86
|
+
|
|
87
|
+
- [x] T001.06 验证在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据
|
|
88
|
+
- type: verification
|
|
89
|
+
- deps: T001.05
|
|
90
|
+
- done: 已验证:在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据
|
|
91
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --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 docs-anti-pollution-and-design-direction-review --item T001.06 --evidence-required
|
|
102
|
+
- integration-owner: main-agent
|
|
103
|
+
|
|
104
|
+
- [x] T001.07 回归非功能约束:所有新检查默认 warning 级不阻塞存量项目,可通过 config 升级为 error;retention
|
|
105
|
+
- type: verification
|
|
106
|
+
- deps: T001.06
|
|
107
|
+
- done: 非功能约束已经回归确认。 涉及: 所有新检查默认 warning 级不阻塞存量项目,可通过 config 升级为 error;retention 清理幂等且不删 latest.j。
|
|
108
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --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: verification
|
|
116
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
117
|
+
- owner-role: worker
|
|
118
|
+
- local-verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.07 --evidence-required
|
|
119
|
+
- integration-owner: main-agent
|
|
120
|
+
|
|
121
|
+
- [x] T001.08 回归边界条件与失败处理:边界情况:非界面类 L2 需求不触发 designDirections 且 review 校验不因缺失阻塞;im 等 2 项
|
|
122
|
+
- type: verification
|
|
123
|
+
- deps: T001.07
|
|
124
|
+
- done: 边界条件与失败处理已经回归确认。 涉及: 边界情况:非界面类 L2 需求不触发 designDirections 且 review 校验不因缺失阻塞;imagegen 不可用或限流时评审 等 2 项。
|
|
125
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --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: parallel-workers
|
|
132
|
+
- parallel-group: verification
|
|
133
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
134
|
+
- owner-role: worker
|
|
135
|
+
- local-verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.08 --evidence-required
|
|
136
|
+
- integration-owner: main-agent
|
|
137
|
+
|
|
138
|
+
- [x] T001.09 验证成本与额度护栏
|
|
139
|
+
- type: verification
|
|
140
|
+
- deps: T001.08
|
|
141
|
+
- done: 已验证免费、试用或低权限用户不能绕过额度、并发、频率或总量限制
|
|
142
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.09 --evidence-required
|
|
143
|
+
- test-layer: integration, security
|
|
144
|
+
- test-size: medium
|
|
145
|
+
- test-scope: security
|
|
146
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
147
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
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 docs-anti-pollution-and-design-direction-review --item T001.09 --evidence-required
|
|
153
|
+
- integration-owner: main-agent
|
|
154
|
+
|
|
155
|
+
- [x] T001.10 验证滥用与越权路径
|
|
156
|
+
- type: verification
|
|
157
|
+
- deps: T001.09
|
|
158
|
+
- done: 已覆盖重复请求、并发请求、越权身份和异常恢复等负向场景
|
|
159
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.10 --evidence-required
|
|
160
|
+
- test-layer: integration, security
|
|
161
|
+
- test-size: medium
|
|
162
|
+
- test-scope: security
|
|
163
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
164
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
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 docs-anti-pollution-and-design-direction-review --item T001.10 --evidence-required
|
|
170
|
+
- integration-owner: main-agent
|
|
171
|
+
|
|
172
|
+
- [x] T001.11 验证成本监控、报警和止损
|
|
173
|
+
- type: verification
|
|
174
|
+
- deps: T001.10
|
|
175
|
+
- done: 已确认用量或成本信号、报警阈值和人工/自动止损动作可执行
|
|
176
|
+
- verify: openprd tasks . --change docs-anti-pollution-and-design-direction-review --item T001.11 --evidence-required
|
|
177
|
+
- test-layer: integration, security
|
|
178
|
+
- test-size: medium
|
|
179
|
+
- test-scope: security
|
|
180
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
181
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
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 docs-anti-pollution-and-design-direction-review --item T001.11 --evidence-required
|
|
187
|
+
- integration-owner: main-agent
|
|
188
|
+
|
|
189
|
+
- [x] T001.12 维护 docs/basic 项目基础文档
|
|
190
|
+
- type: documentation
|
|
191
|
+
- deps: T001.11
|
|
192
|
+
- done: 已检查 docs/basic 是否缺失或因本次需求、流程、结构、依赖、产品行为变化而过期;若涉及后端、脚本、Agent 或工具链变更,已同步评估 CLI 与 API 接入面,并在 backend-structure.md 中记录事实或不适用原因;需要更新的基础文档已同步
|
|
193
|
+
- verify: openprd standards . --verify
|
|
194
|
+
- test-layer: manual
|
|
195
|
+
- test-size: manual
|
|
196
|
+
- test-scope: docs
|
|
197
|
+
- evidence-plan: openprd standards . --verify
|
|
198
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
199
|
+
- execution-mode: parallel-workers
|
|
200
|
+
- parallel-group: docs
|
|
201
|
+
- write-scope: docs/basic/**, README*.md
|
|
202
|
+
- owner-role: worker
|
|
203
|
+
- local-verify: openprd standards . --verify
|
|
204
|
+
- integration-owner: main-agent
|
|
205
|
+
|
|
206
|
+
- [x] T001.13 更新文件说明书和文件夹 README
|
|
207
|
+
- type: documentation
|
|
208
|
+
- deps: T001.12
|
|
209
|
+
- done: 本次变更涉及的文件说明书和文件夹 README 已检查;缺失的已补齐,过期的已更新
|
|
210
|
+
- verify: openprd standards . --verify
|
|
211
|
+
- test-layer: manual
|
|
212
|
+
- test-size: manual
|
|
213
|
+
- test-scope: docs
|
|
214
|
+
- evidence-plan: openprd standards . --verify
|
|
215
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
216
|
+
- execution-mode: parallel-workers
|
|
217
|
+
- parallel-group: docs
|
|
218
|
+
- write-scope: docs/basic/**, README*.md
|
|
219
|
+
- owner-role: worker
|
|
220
|
+
- local-verify: openprd standards . --verify
|
|
221
|
+
- integration-owner: main-agent
|
|
222
|
+
|
|
223
|
+
- [x] T001.14 运行 OpenPrd spec 校验
|
|
224
|
+
- type: governance
|
|
225
|
+
- deps: T001.13
|
|
226
|
+
- done: 生成的 change 通过 OpenPrd 校验
|
|
227
|
+
- verify: openprd change . --validate --change docs-anti-pollution-and-design-direction-review
|
|
228
|
+
- test-layer: manual
|
|
229
|
+
- test-size: manual
|
|
230
|
+
- test-scope: governance
|
|
231
|
+
- evidence-plan: openprd change . --validate --change docs-anti-pollution-and-design-direction-review
|
|
232
|
+
- upgrade-reason: 治理任务以结构校验、评审确认和变更状态证据为主
|
|
233
|
+
- execution-mode: serial
|
|
234
|
+
- parallel-group: governance
|
|
235
|
+
- write-scope: .openprd/changes/**, .openprd/**
|
|
236
|
+
- owner-role: main-agent
|
|
237
|
+
- local-verify: openprd change . --validate --change docs-anti-pollution-and-design-direction-review
|
|
238
|
+
- integration-owner: main-agent
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# 设计
|
|
2
|
+
|
|
3
|
+
## 背景
|
|
4
|
+
|
|
5
|
+
最近一个月里 loop 仍有 finish 通过,但没有稳定产出你期望的逐任务 commit 闭环;当前 openprd 仓库也出现了 done 任务没有 commitSha 的情况。要把 L2 和长程实现真正挂到 loop 上,就需要先把隔离执行、提交流程和状态留痕补齐。
|
|
6
|
+
|
|
7
|
+
## 目标
|
|
8
|
+
|
|
9
|
+
- 让 loop 在需要时显式进入隔离 worktree / branch 中执行,而不是默认污染主工作区。
|
|
10
|
+
- 让逐任务 commit 只包含当前任务的改动,便于单独审查和回归。
|
|
11
|
+
- 让 worktree、branch、commitSha 和 session 形成完整可追踪链路。
|
|
12
|
+
|
|
13
|
+
## 范围
|
|
14
|
+
|
|
15
|
+
- 给 openprd loop --run 增加显式 --worktree / --branch,或提供先创建隔离 worktree 再执行的包装入口。
|
|
16
|
+
- 在 commit 前增加主工作区脏状态门禁和显式 override 机制。
|
|
17
|
+
- 把提交范围从 git add -A 收窄到 task write-scope 或本轮 touched files。
|
|
18
|
+
- 把 worktreePath、branch、commitSha 写入 loop-state.json、agent-sessions.jsonl 以及相关状态输出。
|
|
19
|
+
|
|
20
|
+
## 约束
|
|
21
|
+
|
|
22
|
+
- 基于现有 openprd loop / git 流程扩展,不重写整套任务调度。
|
|
23
|
+
- 兼容当前 feature-list、loop-state、agent-sessions 与 test-reports 结构。
|
|
24
|
+
- 需要同时考虑 worktree、命名分支与 detached HEAD 的兼容行为。
|
|
25
|
+
- 提交与状态写回不能泄露用户本地无关改动或敏感信息。
|
|
26
|
+
- Git worktree 能力。
|
|
27
|
+
- 现有 loop task executionStrategy.writeScope 与 finish / verify 流程。
|
|
28
|
+
- OpenPrd 的状态文件、review / change / tasks 主流程。
|
|
29
|
+
|
|
30
|
+
## 业务护栏
|
|
31
|
+
|
|
32
|
+
- 成本来源: 这次主要要避免无关改动混入 commit、回滚成本升高,以及逐任务审查和回归失去抓手。
|
|
33
|
+
- 额度限制: 默认不允许在脏主工作区直接完成高风险 commit;需要显式进入隔离路径或明确豁免。
|
|
34
|
+
- 滥用防护: 不能把未在当前任务范围内的文件静默加入 commit。
|
|
35
|
+
- 滥用防护: 不能把 detached HEAD 上的匿名提交伪装成可回归的标准 loop 结果。
|
|
36
|
+
- 监控信号: 需要持续看 loop 任务完成后是否稳定写回 commitSha。
|
|
37
|
+
- 监控信号: 需要看 worktreePath、branch、commitSha 是否在状态和 session 日志里一致。
|
|
38
|
+
- 监控信号: 需要看脏主工作区门禁是否挡住了无关改动被带进提交。
|
|
39
|
+
- 报警阈值: 只要出现用户要求 commit 但任务完成后没有 commitSha,就算这条闭环没有打通。
|
|
40
|
+
- 报警阈值: 只要出现主工作区无关改动被带进 loop commit,就应立即视为高风险回退。
|
|
41
|
+
- 止损动作: 无法安全判定提交范围时,停止自动 commit,保留任务验证结果并提示人工处理。
|
|
42
|
+
- 止损动作: worktree / branch 状态异常时,不把任务标记为已完成提交。
|
|
43
|
+
|
|
44
|
+
## 风险与开放问题
|
|
45
|
+
|
|
46
|
+
- 假设: 第一版默认以一个 change / 一段 loop 对应一个隔离 worktree 为优先模型,而不是每个 task 一个 worktree。
|
|
47
|
+
- 假设: 已有 task write-scope 在多数实现任务里足够收窄 commit 范围;不足时需要 touched files 补位。
|
|
48
|
+
- 风险: 如果 worktree / branch 生命周期设计不清,会显著抬高 loop 使用复杂度。
|
|
49
|
+
- 风险: 如果 touched files 收集不稳定,可能出现漏提或误提。
|
|
50
|
+
- 风险: 如果状态写回与 git 操作顺序不当,会出现 done / commitSha 不一致。
|
|
51
|
+
- 问题: 第一版是否明确采用一个 change 一个 worktree、一个 task 一个 commit。
|
|
52
|
+
- 问题: worktree / branch 命名规范是否要产品化成 CLI 默认值。
|
|
53
|
+
- 问题: override 脏仓库门禁时,CLI 需要多强的显式确认语义。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# OpenPrd loop 隔离 worktree 提交闭环
|
|
2
|
+
|
|
3
|
+
## 背景与原因
|
|
4
|
+
|
|
5
|
+
OpenPrd 的 loop 虽然支持逐任务 finish 和可选 commit,但最近没有稳定形成“隔离 worktree + 单任务 commit + 可审查回归”的闭环。当前 loop --run 不会自动切到隔离环境,loop --finish --commit 仍按全仓 git add -A 提交,主工作区一旦有脏改动就容易把无关内容卷进来,导致任务虽然 done 却没有可靠的 commit 留痕。
|
|
6
|
+
|
|
7
|
+
## 变更内容
|
|
8
|
+
|
|
9
|
+
- 给 openprd loop --run 增加显式 --worktree / --branch,或提供先创建隔离 worktree 再执行的包装入口。
|
|
10
|
+
- 在 commit 前增加主工作区脏状态门禁和显式 override 机制。
|
|
11
|
+
- 把提交范围从 git add -A 收窄到 task write-scope 或本轮 touched files。
|
|
12
|
+
- 把 worktreePath、branch、commitSha 写入 loop-state.json、agent-sessions.jsonl 以及相关状态输出。
|
|
13
|
+
- 支持显式 worktree / branch 配置,或提供隔离运行包装命令。
|
|
14
|
+
- 支持检测主工作区脏状态,并在 finish --commit 前阻断高风险路径。
|
|
15
|
+
- 支持基于 write-scope 或 touched files 生成本任务提交集。
|
|
16
|
+
- 支持在 loop 状态、session 日志和测试报告中记录 commit 关联信息。
|
|
17
|
+
- 支持为未满足 commit 前置条件的任务给出清晰诊断与恢复指引。
|
|
18
|
+
- 在隔离 worktree 中连续完成多个 loop 任务时,每个任务都能生成独立 commit,并把 commitSha 写回状态。
|
|
19
|
+
- 在脏主工作区直接尝试 finish --commit 时,会收到明确阻断和豁免提示。
|
|
20
|
+
- 从状态文件和 session 日志可以追溯每个任务对应的 worktree、branch、commit 和测试报告。
|
|
21
|
+
- 新能力不破坏现有 loop 的 plan、next、run、finish、verify 基本路径。
|
|
22
|
+
|
|
23
|
+
## 能力范围
|
|
24
|
+
|
|
25
|
+
- `agent-requirements`: OpenPrd loop 隔离 worktree 提交闭环 需求。
|
|
26
|
+
|
|
27
|
+
## 影响范围
|
|
28
|
+
|
|
29
|
+
- 主要用户: 需要用 OpenPrd loop 执行中等到长程实现的维护者
|
|
30
|
+
- 主要用户: 希望逐任务 commit、可审查、可回归且不污染主工作区的 Agent 协作者
|
|
31
|
+
- 成本来源: 这次主要要避免无关改动混入 commit、回滚成本升高,以及逐任务审查和回归失去抓手。
|
|
32
|
+
- 额度限制: 默认不允许在脏主工作区直接完成高风险 commit;需要显式进入隔离路径或明确豁免。
|
|
33
|
+
- 依赖: Git worktree 能力。
|
|
34
|
+
- 依赖: 现有 loop task executionStrategy.writeScope 与 finish / verify 流程。
|
|
35
|
+
- 依赖: OpenPrd 的状态文件、review / change / tasks 主流程。
|
|
36
|
+
- 风险: 如果 worktree / branch 生命周期设计不清,会显著抬高 loop 使用复杂度。
|
|
37
|
+
- 风险: 如果 touched files 收集不稳定,可能出现漏提或误提。
|
|
38
|
+
- 风险: 如果状态写回与 git 操作顺序不当,会出现 done / commitSha 不一致。
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## 新增需求
|
|
2
|
+
|
|
3
|
+
### 需求:OpenPrd loop 隔离 worktree 提交闭环
|
|
4
|
+
OpenPrd 的 loop 虽然支持逐任务 finish 和可选 commit,但最近没有稳定形成“隔离 worktree + 单任务 commit + 可审查回归”的闭环。当前 loop --run 不会自动切到隔离环境,loop --finish --commit 仍按全仓 git add -A 提交,主工作区一旦有脏改动就容易把无关内容卷进来,导致任务虽然 done 却没有可靠的 commit 留痕。
|
|
5
|
+
|
|
6
|
+
#### 场景:主流程成功
|
|
7
|
+
- **当** 用户为一个 change 进入 loop 开发时,OpenPrd 可显式创建或接入隔离 worktree 与命名分支,再在其中逐任务运行和提交。
|
|
8
|
+
- **则** 在隔离 worktree 中连续完成多个 loop 任务时,每个任务都能生成独立 commit,并把 commitSha 写回状态。
|
|
9
|
+
|
|
10
|
+
#### 场景:边界情况保持可见
|
|
11
|
+
- **当** 用户在脏主工作区里直接尝试 finish --commit。
|
|
12
|
+
- **则** 产品应保持该情况明确可见,以支持实现和验证
|
|
13
|
+
|
|
14
|
+
#### 场景:失败模式得到处理
|
|
15
|
+
- **当** 误把主工作区无关改动一起提交。
|
|
16
|
+
- **则** 产品应提供有边界且可评审的结果
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{"version":1,"at":"2026-06-07 13:22:58","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.01","taskTitle":"评审生成的 spec 覆盖","ok":true,"verify":{"ok":true,"command":"openprd change . --validate --change loop-isolated-worktree-commit","exitCode":0,"stdout":"OpenPrd change 验证: 通过\nChange: loop-isolated-worktree-commit\n- OpenPrd change loop-isolated-worktree-commit: 1 个 spec delta。\n- openprd/changes/loop-isolated-worktree-commit/specs/agent-requirements/spec.md: 1 个需求。\n- 结构化 OpenPrd 任务: 21 个任务,20 条依赖;测试策略显式 21 个、推导 0 个;执行策略显式 21 个、推导 0 个。\n- OpenPrd 任务文件: 1 个文件,21 个 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; code-extension candidates can auto-apply, remaining candidates stay in wrap-up review.\n","stderr":""},"evidence":null,"notes":null}
|
|
2
|
+
{"version":1,"at":"2026-06-07 13:25:11","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.01","taskTitle":"评审生成的 spec 覆盖","ok":true,"verify":{"ok":true,"command":"openprd change . --validate --change loop-isolated-worktree-commit","exitCode":0,"stdout":"OpenPrd change 验证: 通过\nChange: loop-isolated-worktree-commit\n- OpenPrd change loop-isolated-worktree-commit: 1 个 spec delta。\n- openprd/changes/loop-isolated-worktree-commit/specs/agent-requirements/spec.md: 1 个需求。\n- 结构化 OpenPrd 任务: 21 个任务,20 条依赖;测试策略显式 21 个、推导 0 个;执行策略显式 21 个、推导 0 个。\n- OpenPrd 任务文件: 1 个文件,21 个 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; code-extension candidates can auto-apply, remaining candidates stay in wrap-up review.\n","stderr":""},"evidence":null,"notes":null}
|
|
3
|
+
{"version":1,"at":"2026-06-09 11:56:30","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.02","taskTitle":"接通界面入口、导航与页面挂载","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.02 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
4
|
+
{"version":1,"at":"2026-06-09 11:56:30","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.03","taskTitle":"支持显式 worktree / branch 配置,或提供隔离运行包装命令","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.03 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
5
|
+
{"version":1,"at":"2026-06-09 11:56:30","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.04","taskTitle":"支持检测主工作区脏状态,并在 finish --commit 前阻断高风险路径","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.04 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
6
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.05","taskTitle":"支持基于 write-scope 或 touched files 生成本任务提交集","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.05 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
7
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.06","taskTitle":"支持在 loop 状态、session 日志和测试报告中记录 commit 关联信息","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.06 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
8
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.07","taskTitle":"支持为未满足 commit 前置条件的任务给出清晰诊断与恢复指引","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.07 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
9
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.08","taskTitle":"打通主流程闭环:用户为一个 change 进入 loop 开发时,OpenPrd 可显式创建或接入隔离 worktree 与命名 等 3 项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.08 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
10
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.09","taskTitle":"验证在隔离 worktree 中连续完成多个 loop 任务时,每个任务都能生成独立 commit,并把 commitSha 写回状态","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.09 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
11
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.10","taskTitle":"验证在脏主工作区直接尝试 finish --commit 时,会收到明确阻断和豁免提示","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.10 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
12
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.11","taskTitle":"验证从状态文件和 session 日志可以追溯每个任务对应的 worktree、branch、commit 和测试报告","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.11 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
13
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.12","taskTitle":"验证新能力不破坏现有 loop 的 plan、next、run、finish、verify 基本路径","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.12 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
14
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.13","taskTitle":"回归非功能约束:默认路径必须安全,不能把无关改动静默卷入 commit / 行为必须可追踪,可从状态文件复原任务执行链路","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.13 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
15
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.14","taskTitle":"回归非功能约束:对现有 loop 用户保持兼容,新增能力应尽量显式开启或有明确默认策略 等 2 项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.14 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
16
|
+
{"version":1,"at":"2026-06-09 11:56:31","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.15","taskTitle":"回归边界条件与失败处理:边界情况:用户在脏主工作区里直接尝试 finish --commit 等 8 项","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.15 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
17
|
+
{"version":1,"at":"2026-06-09 11:56:32","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.16","taskTitle":"验证成本与额度护栏","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.16 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
18
|
+
{"version":1,"at":"2026-06-09 11:56:32","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.17","taskTitle":"验证滥用与越权路径","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.17 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
19
|
+
{"version":1,"at":"2026-06-09 11:56:32","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.18","taskTitle":"验证成本监控、报警和止损","ok":true,"verify":{"ok":true,"command":"openprd tasks . --change loop-isolated-worktree-commit --item T001.18 --evidence-required","exitCode":0,"stdout":"OpenPrd task evidence: passed\nevidence: /tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)\nscope: task-only; workspace quality is reserved for phase/final gates","stderr":""},"evidence":"/tmp/openprd-full-test.log (2026-06-09 full regression 195/195 plus targeted worker/package verification)","notes":null}
|
|
20
|
+
{"version":1,"at":"2026-06-09 11:56:32","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.19","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; code-extension candidates can auto-apply, remaining candidates stay in wrap-up review.\n","stderr":""},"evidence":null,"notes":null}
|
|
21
|
+
{"version":1,"at":"2026-06-09 11:56:32","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.20","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; code-extension candidates can auto-apply, remaining candidates stay in wrap-up review.\n","stderr":""},"evidence":null,"notes":null}
|
|
22
|
+
{"version":1,"at":"2026-06-09 11:56:32","changeId":"loop-isolated-worktree-commit","action":"advance","taskId":"T001.21","taskTitle":"运行 OpenPrd spec 校验","ok":true,"verify":{"ok":true,"command":"openprd change . --validate --change loop-isolated-worktree-commit","exitCode":0,"stdout":"OpenPrd change 验证: 通过\nChange: loop-isolated-worktree-commit\n- OpenPrd change loop-isolated-worktree-commit: 1 个 spec delta。\n- openprd/changes/loop-isolated-worktree-commit/specs/agent-requirements/spec.md: 1 个需求。\n- 结构化 OpenPrd 任务: 21 个任务,20 条依赖;测试策略显式 21 个、推导 0 个;执行策略显式 21 个、推导 0 个。\n- OpenPrd 任务文件: 1 个文件,21 个 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; code-extension candidates can auto-apply, remaining candidates stay in wrap-up review.\n","stderr":""},"evidence":null,"notes":null}
|