@openprd/cli 0.1.9 → 0.1.11
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/benchmarks/index.md +16 -0
- package/.openprd/benchmarks/sources.yaml +53 -1
- package/.openprd/config.yaml +10 -0
- package/.openprd/design/README.md +47 -0
- package/.openprd/design/README_EN.md +25 -0
- package/.openprd/design/active/asset-spec.md +15 -0
- package/.openprd/design/active/direction-plan.md +7 -0
- package/.openprd/design/active/facts-sheet.md +13 -0
- package/.openprd/design/active/image-preflight.md +9 -0
- package/.openprd/design/active/selected-direction.md +11 -0
- package/.openprd/design/anti-slop.md +16 -0
- package/.openprd/design/assets/dark-mesh.svg +14 -0
- package/.openprd/design/assets/paper-grid.svg +14 -0
- package/.openprd/design/assets/surface-presets.md +21 -0
- package/.openprd/design/assets/workbench-grid.svg +16 -0
- package/.openprd/design/checklists/ui-quality-gate.md +22 -0
- package/.openprd/design/components/component-catalog.md +42 -0
- package/.openprd/design/layouts/layout-catalog.json +45 -0
- package/.openprd/design/lenses/frontend-lenses.md +31 -0
- package/.openprd/design/recipes/content-experience.md +26 -0
- package/.openprd/design/recipes/operational-tool.md +25 -0
- package/.openprd/design/recipes/product-launch.md +26 -0
- package/.openprd/design/templates/README.md +36 -0
- package/.openprd/design/templates/README_EN.md +31 -0
- package/.openprd/design/templates/content-home.html +415 -0
- package/.openprd/design/templates/ops-dashboard.html +340 -0
- package/.openprd/design/templates/product-launch.html +360 -0
- package/.openprd/design/themes/theme-catalog.json +77 -0
- package/.openprd/engagements/active/prd.md +111 -100
- package/.openprd/schema/prd.schema.yaml +25 -0
- package/.openprd/templates/base/intake.md +17 -0
- package/.openprd/templates/base/prd.md +31 -6
- package/AGENTS.md +10 -7
- package/README.md +26 -28
- package/README_EN.md +3 -3
- package/package.json +41 -2
- package/scripts/openprd-codex-isolated-worker.mjs +799 -0
- package/skills/openprd-benchmark-router/SKILL.md +5 -0
- package/skills/openprd-frontend-design/SKILL.md +161 -0
- package/skills/openprd-frontend-design/references/design-asset-contract.md +34 -0
- package/skills/openprd-frontend-design/references/direction-engine.md +46 -0
- package/skills/openprd-harness/SKILL.md +37 -20
- package/skills/openprd-learning-review/SKILL.md +2 -1
- package/skills/openprd-learning-review/references/style-packs/xianxia-cultivation.prompt.md +1 -1
- package/skills/openprd-quality/SKILL.md +5 -3
- package/skills/openprd-requirement-intake/SKILL.md +27 -5
- package/skills/openprd-requirement-intake/references/prd-template-lenses.md +6 -3
- package/skills/openprd-requirement-intake/references/routing-rubric.md +9 -5
- package/skills/openprd-requirement-intake/references/startup-validation-lens.md +108 -0
- package/skills/openprd-router/SKILL.md +13 -5
- package/skills/openprd-shared/SKILL.md +38 -25
- package/src/agent-integration.js +120 -69
- package/src/brainstorm-artifacts.js +1805 -0
- package/src/brainstorm-presentation.js +233 -0
- package/src/brainstorm.js +766 -0
- package/src/cli/args.js +51 -3
- package/src/cli/doctor-print.js +34 -8
- package/src/cli/print.js +6 -0
- package/src/cli/quality-print.js +79 -3
- package/src/cli/run-print.js +43 -1
- package/src/cli/shared-print.js +33 -2
- package/src/cli/workflow-print.js +21 -0
- package/src/codex-hook-runner-template.mjs +838 -58
- package/src/design-starter-support.js +462 -0
- package/src/design-starter.js +1207 -0
- package/src/diagram-core.js +384 -151
- package/src/html-artifacts.js +403 -50
- package/src/knowledge.js +291 -32
- package/src/learning-review.js +3 -3
- package/src/loop.js +839 -101
- package/src/openprd.js +86 -1
- package/src/openspec/change-validate.js +1 -0
- package/src/prd-core.js +119 -2
- package/src/quality-html-artifact.js +30 -5
- package/src/quality-learning.js +50 -6
- package/src/quality.js +22 -12
- package/src/run-harness.js +191 -29
- package/src/self-update.js +301 -4
- package/src/standards.js +46 -5
- package/src/visual-prepare.js +940 -0
- package/src/workspace-core.js +175 -0
- package/src/workspace-workflow.js +307 -7
- package/.openprd/benchmarks/evidence/milvus-io-ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-code.md +0 -14
- package/.openprd/benchmarks/evidence/nolanlawson-com-using-ai-to-write-better-code-more-slowly.md +0 -14
- package/.openprd/discovery/config.json +0 -35
- package/.openprd/engagements/active/flows.md +0 -35
- package/.openprd/engagements/active/handoff.md +0 -16
- package/.openprd/engagements/active/review.html +0 -61
- package/.openprd/engagements/active/roles.md +0 -22
- package/.openprd/engagements/work-units/wu-20260524015648-6d33ded7.json +0 -23
- package/.openprd/engagements/work-units/wu-20260602113956-a99b5b88.json +0 -18
- package/.openprd/engagements/work-units/wu-20260602122244-78656aaf.json +0 -18
- package/.openprd/engagements/work-units/wu-20260602122442-e96489e2.json +0 -18
- package/.openprd/engagements/work-units/wu-20260602132835-695429e8.json +0 -18
- package/.openprd/exports/.gitkeep +0 -0
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/candidate.json +0 -78
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/diagnostic-report.json +0 -129
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/root-cause-candidates.json +0 -41
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/timeline.json +0 -14
- package/.openprd/knowledge/drafts/openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758/SKILL.md +0 -49
- package/.openprd/knowledge/index.json +0 -47
- package/.openprd/reviews/v0001.html +0 -1322
- package/.openprd/reviews/v0002.html +0 -1150
- package/.openprd/reviews/v0003.html +0 -1150
- package/.openprd/reviews/v0004.html +0 -1150
- package/.openprd/reviews/v0005.html +0 -1150
- package/.openprd/sessions/.gitkeep +0 -0
- package/.openprd/state/changes.json +0 -27
- package/.openprd/state/current.json +0 -505
- package/.openprd/state/release-ledger.json +0 -387
- package/.openprd/state/version-index.json +0 -67
- package/.openprd/state/versions/.gitkeep +0 -0
- package/.openprd/state/versions/v0001.json +0 -121
- package/.openprd/state/versions/v0001.md +0 -161
- package/.openprd/state/versions/v0002.json +0 -264
- package/.openprd/state/versions/v0002.md +0 -183
- package/.openprd/state/versions/v0003.json +0 -269
- package/.openprd/state/versions/v0003.md +0 -188
- package/.openprd/state/versions/v0004.json +0 -274
- package/.openprd/state/versions/v0004.md +0 -193
- package/.openprd/state/versions/v0005.json +0 -299
- package/.openprd/state/versions/v0005.md +0 -189
- package/docs/assets/openprd-capability-overview-en.png +0 -0
- package/docs/assets/openprd-capability-overview-zh.png +0 -0
- package/docs/assets/openprd-learning-html.png +0 -0
- package/docs/assets/openprd-quality-html.png +0 -0
- package/docs/assets/openprd-requirement-routing-en.png +0 -0
- package/docs/assets/openprd-requirement-routing-en.svg +0 -102
- package/docs/assets/openprd-requirement-routing-zh-refined.png +0 -0
- package/docs/assets/openprd-requirement-routing-zh.png +0 -0
- package/docs/assets/openprd-requirement-routing-zh.svg +0 -102
- package/docs/assets/openprd-review-html.png +0 -0
- package/docs/assets/openprd-scenario-overview.png +0 -0
- package/docs/assets/openprd-scenario-overview.svg +0 -114
- package/docs/assets/openprd-self-evolving-mechanisms-en.png +0 -0
- package/docs/assets/openprd-self-evolving-mechanisms-zh.png +0 -0
- package/docs/assets/openprd-visual-compare-case-study-en.png +0 -0
- package/docs/assets/openprd-visual-compare-case-study-zh.png +0 -0
|
@@ -1,387 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"enabled": true,
|
|
4
|
-
"strategy": "semver",
|
|
5
|
-
"currentVersion": "0.1.9",
|
|
6
|
-
"versions": [
|
|
7
|
-
{
|
|
8
|
-
"version": "0.1.2",
|
|
9
|
-
"status": "released",
|
|
10
|
-
"createdAt": "2026-06-02 21:28:04",
|
|
11
|
-
"updatedAt": "2026-06-03 01:00:00",
|
|
12
|
-
"notes": null,
|
|
13
|
-
"items": [
|
|
14
|
-
{
|
|
15
|
-
"type": "新增",
|
|
16
|
-
"summary": "新增",
|
|
17
|
-
"detail": "首轮项目画像,让冷启动工作区先形成项目画像和需求入口自省",
|
|
18
|
-
"sentence": "新增:首轮项目画像,让冷启动工作区先形成项目画像和需求入口自省",
|
|
19
|
-
"recordedAt": "2026-06-02 21:28:22",
|
|
20
|
-
"source": {
|
|
21
|
-
"kind": "manual-note",
|
|
22
|
-
"manualId": "manual-note-1780406902463"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"type": "新增",
|
|
27
|
-
"summary": "新增",
|
|
28
|
-
"detail": "review-presentation 门禁,评审页文案必须先通过展示契约校验",
|
|
29
|
-
"sentence": "新增:review-presentation 门禁,评审页文案必须先通过展示契约校验",
|
|
30
|
-
"recordedAt": "2026-06-02 21:28:22",
|
|
31
|
-
"source": {
|
|
32
|
-
"kind": "manual-note",
|
|
33
|
-
"manualId": "manual-note-1780406902656"
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"type": "新增",
|
|
38
|
-
"summary": "新增",
|
|
39
|
-
"detail": "测试策略与执行策略联动,让任务可以直接携带 worker 合同和证据计划",
|
|
40
|
-
"sentence": "新增:测试策略与执行策略联动,让任务可以直接携带 worker 合同和证据计划",
|
|
41
|
-
"recordedAt": "2026-06-02 21:28:22",
|
|
42
|
-
"source": {
|
|
43
|
-
"kind": "manual-note",
|
|
44
|
-
"manualId": "manual-note-1780406902835"
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"type": "优化",
|
|
49
|
-
"summary": "优化",
|
|
50
|
-
"detail": "历史会话续接,先通过全局 session registry 恢复真实 workspace",
|
|
51
|
-
"sentence": "优化:历史会话续接,先通过全局 session registry 恢复真实 workspace",
|
|
52
|
-
"recordedAt": "2026-06-02 21:28:23",
|
|
53
|
-
"source": {
|
|
54
|
-
"kind": "manual-note",
|
|
55
|
-
"manualId": "manual-note-1780406903019"
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"type": "新增",
|
|
60
|
-
"summary": "新增",
|
|
61
|
-
"detail": "benchmark observe、knowledge draft skill 和 Codex repair 等成长闭环",
|
|
62
|
-
"sentence": "新增:benchmark observe、knowledge draft skill 和 Codex repair 等成长闭环",
|
|
63
|
-
"recordedAt": "2026-06-02 21:28:23",
|
|
64
|
-
"source": {
|
|
65
|
-
"kind": "manual-note",
|
|
66
|
-
"manualId": "manual-note-1780406903180"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"type": "新增",
|
|
71
|
-
"summary": "新增",
|
|
72
|
-
"detail": "visual-compare 的 before/after 自检,方便无参考图界面改动做视觉回归",
|
|
73
|
-
"sentence": "新增:visual-compare 的 before/after 自检,方便无参考图界面改动做视觉回归",
|
|
74
|
-
"recordedAt": "2026-06-02 21:28:23",
|
|
75
|
-
"source": {
|
|
76
|
-
"kind": "manual-note",
|
|
77
|
-
"manualId": "manual-note-1780406903337"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
],
|
|
81
|
-
"tag": null
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"version": "0.1.3",
|
|
85
|
-
"status": "released",
|
|
86
|
-
"createdAt": "2026-06-03 01:00:00",
|
|
87
|
-
"updatedAt": "2026-06-03 12:53:20",
|
|
88
|
-
"notes": null,
|
|
89
|
-
"items": [
|
|
90
|
-
{
|
|
91
|
-
"type": "修复",
|
|
92
|
-
"summary": "修复",
|
|
93
|
-
"detail": "Windows 下带空格路径的 Codex hook command quoting,避免 hook 调用失败",
|
|
94
|
-
"sentence": "修复:Windows 下带空格路径的 Codex hook command quoting,避免 hook 调用失败",
|
|
95
|
-
"recordedAt": "2026-06-03 01:00:00",
|
|
96
|
-
"source": {
|
|
97
|
-
"kind": "manual-note",
|
|
98
|
-
"manualId": "manual-note-20260603-win-hook-quoting"
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"type": "优化",
|
|
103
|
-
"summary": "优化",
|
|
104
|
-
"detail": "Windows 全局安装排查说明,并提供 npx 启动兜底路径",
|
|
105
|
-
"sentence": "优化:Windows 全局安装排查说明,并提供 npx 启动兜底路径",
|
|
106
|
-
"recordedAt": "2026-06-03 01:00:00",
|
|
107
|
-
"source": {
|
|
108
|
-
"kind": "manual-note",
|
|
109
|
-
"manualId": "manual-note-20260603-win-install-docs"
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
],
|
|
113
|
-
"tag": null
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"version": "0.1.4",
|
|
117
|
-
"status": "released",
|
|
118
|
-
"createdAt": "2026-06-03 12:53:20",
|
|
119
|
-
"updatedAt": "2026-06-05 09:02:25",
|
|
120
|
-
"notes": null,
|
|
121
|
-
"items": [
|
|
122
|
-
{
|
|
123
|
-
"type": "优化",
|
|
124
|
-
"summary": "优化",
|
|
125
|
-
"detail": "run verify 在 taskReady 与 workspaceReady 之间做明确拆分",
|
|
126
|
-
"sentence": "优化:run verify 在 taskReady 与 workspaceReady 之间做明确拆分",
|
|
127
|
-
"recordedAt": "2026-06-03 12:53:20",
|
|
128
|
-
"source": {
|
|
129
|
-
"kind": "manual-note",
|
|
130
|
-
"manualId": "manual-note-1780462400734"
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"type": "优化",
|
|
135
|
-
"summary": "优化",
|
|
136
|
-
"detail": "feature-coverage 待补时改为任务账本或覆盖证据未收口,不再把本次实现说成失败",
|
|
137
|
-
"sentence": "优化:feature-coverage 待补时改为任务账本或覆盖证据未收口,不再把本次实现说成失败",
|
|
138
|
-
"recordedAt": "2026-06-03 12:53:20",
|
|
139
|
-
"source": {
|
|
140
|
-
"kind": "manual-note",
|
|
141
|
-
"manualId": "manual-note-1780462400854"
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
"type": "优化",
|
|
146
|
-
"summary": "优化",
|
|
147
|
-
"detail": "高风险 hook、AGENTS、skills 与 command catalog 复用同一套 workspace debt 话术",
|
|
148
|
-
"sentence": "优化:高风险 hook、AGENTS、skills 与 command catalog 复用同一套 workspace debt 话术",
|
|
149
|
-
"recordedAt": "2026-06-03 12:53:20",
|
|
150
|
-
"source": {
|
|
151
|
-
"kind": "manual-note",
|
|
152
|
-
"manualId": "manual-note-1780462400978"
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
],
|
|
156
|
-
"tag": null
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
"version": "0.1.5",
|
|
160
|
-
"status": "released",
|
|
161
|
-
"createdAt": "2026-06-05 09:02:25",
|
|
162
|
-
"updatedAt": "2026-06-05 12:35:25",
|
|
163
|
-
"notes": null,
|
|
164
|
-
"items": [
|
|
165
|
-
{
|
|
166
|
-
"type": "优化",
|
|
167
|
-
"summary": "优化",
|
|
168
|
-
"detail": "新需求默认先走需求分流,只有继续既有优化或恢复指定会话时才优先续接历史上下文",
|
|
169
|
-
"sentence": "优化:新需求默认先走需求分流,只有继续既有优化或恢复指定会话时才优先续接历史上下文",
|
|
170
|
-
"recordedAt": "2026-06-05 09:02:25",
|
|
171
|
-
"source": {
|
|
172
|
-
"kind": "manual-note",
|
|
173
|
-
"manualId": "manual-note-1780621345707"
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"type": "修复",
|
|
178
|
-
"summary": "修复",
|
|
179
|
-
"detail": "同一条需求已确认后,后续承接直接继续执行,不再重复索要确认",
|
|
180
|
-
"sentence": "修复:同一条需求已确认后,后续承接直接继续执行,不再重复索要确认",
|
|
181
|
-
"recordedAt": "2026-06-05 09:02:25",
|
|
182
|
-
"source": {
|
|
183
|
-
"kind": "manual-note",
|
|
184
|
-
"manualId": "manual-note-1780621345801"
|
|
185
|
-
}
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
"type": "优化",
|
|
189
|
-
"summary": "优化",
|
|
190
|
-
"detail": "历史会话恢复优先按显式 session id 和全局 session registry 找到真实工作区",
|
|
191
|
-
"sentence": "优化:历史会话恢复优先按显式 session id 和全局 session registry 找到真实工作区",
|
|
192
|
-
"recordedAt": "2026-06-05 09:02:25",
|
|
193
|
-
"source": {
|
|
194
|
-
"kind": "manual-note",
|
|
195
|
-
"manualId": "manual-note-1780621345896"
|
|
196
|
-
}
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
"type": "修复",
|
|
200
|
-
"summary": "修复",
|
|
201
|
-
"detail": "fleet 批量更新会补齐 active flows roles handoff,并忽略旧项目 docs basic 与 source manual 假失败",
|
|
202
|
-
"sentence": "修复:fleet 批量更新会补齐 active flows roles handoff,并忽略旧项目 docs basic 与 source manual 假失败",
|
|
203
|
-
"recordedAt": "2026-06-05 09:02:25",
|
|
204
|
-
"source": {
|
|
205
|
-
"kind": "manual-note",
|
|
206
|
-
"manualId": "manual-note-1780621345979"
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
],
|
|
210
|
-
"tag": null
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
"version": "0.1.6",
|
|
214
|
-
"status": "released",
|
|
215
|
-
"createdAt": "2026-06-05 12:35:24",
|
|
216
|
-
"updatedAt": "2026-06-05 17:33:02",
|
|
217
|
-
"notes": null,
|
|
218
|
-
"items": [
|
|
219
|
-
{
|
|
220
|
-
"type": "优化",
|
|
221
|
-
"summary": "优化",
|
|
222
|
-
"detail": "需求入口按快速修正、现有功能优化、新功能/新流程方案分流,L0/L1 默认不再走完整 PRD/change/tasks 流程",
|
|
223
|
-
"sentence": "优化:需求入口按快速修正、现有功能优化、新功能/新流程方案分流,L0/L1 默认不再走完整 PRD/change/tasks 流程",
|
|
224
|
-
"recordedAt": "2026-06-05 12:35:25",
|
|
225
|
-
"source": {
|
|
226
|
-
"kind": "manual-note",
|
|
227
|
-
"manualId": "manual-note-1780634125121"
|
|
228
|
-
}
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
"type": "优化",
|
|
232
|
-
"summary": "优化",
|
|
233
|
-
"detail": "clarify 默认先用业务和产品语言复述需求,并按 consumer、b2b、agent 视角聚焦场景、收益和风险",
|
|
234
|
-
"sentence": "优化:clarify 默认先用业务和产品语言复述需求,并按 consumer、b2b、agent 视角聚焦场景、收益和风险",
|
|
235
|
-
"recordedAt": "2026-06-05 12:35:25",
|
|
236
|
-
"source": {
|
|
237
|
-
"kind": "manual-note",
|
|
238
|
-
"manualId": "manual-note-1780634125234"
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
"type": "优化",
|
|
243
|
-
"summary": "优化",
|
|
244
|
-
"detail": "README 默认简体中文入口,新增中英文需求分流示意图,帮助非技术用户更快理解怎么提需求",
|
|
245
|
-
"sentence": "优化:README 默认简体中文入口,新增中英文需求分流示意图,帮助非技术用户更快理解怎么提需求",
|
|
246
|
-
"recordedAt": "2026-06-05 12:35:25",
|
|
247
|
-
"source": {
|
|
248
|
-
"kind": "manual-note",
|
|
249
|
-
"manualId": "manual-note-1780634125370"
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"type": "修复",
|
|
254
|
-
"summary": "修复",
|
|
255
|
-
"detail": "Codex requirement gate 对局部修正和低风险优化更保守放行,只把高风险新流程和跨系统需求升级到完整 intake",
|
|
256
|
-
"sentence": "修复:Codex requirement gate 对局部修正和低风险优化更保守放行,只把高风险新流程和跨系统需求升级到完整 intake",
|
|
257
|
-
"recordedAt": "2026-06-05 12:35:25",
|
|
258
|
-
"source": {
|
|
259
|
-
"kind": "manual-note",
|
|
260
|
-
"manualId": "manual-note-1780634125494"
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
],
|
|
264
|
-
"tag": null
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
"version": "0.1.7",
|
|
268
|
-
"status": "released",
|
|
269
|
-
"createdAt": "2026-06-05 17:33:02",
|
|
270
|
-
"updatedAt": "2026-06-06 14:06:15",
|
|
271
|
-
"notes": null,
|
|
272
|
-
"items": [
|
|
273
|
-
{
|
|
274
|
-
"type": "调整",
|
|
275
|
-
"summary": "调整",
|
|
276
|
-
"detail": "更新 README 需求分流图为 AI 生成的 PNG 版本,默认展示正式中英文路由图",
|
|
277
|
-
"sentence": "调整:更新 README 需求分流图为 AI 生成的 PNG 版本,默认展示正式中英文路由图",
|
|
278
|
-
"recordedAt": "2026-06-05 17:33:16",
|
|
279
|
-
"source": {
|
|
280
|
-
"kind": "manual-note",
|
|
281
|
-
"manualId": "manual-note-1780651996954"
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
],
|
|
285
|
-
"tag": null
|
|
286
|
-
},
|
|
287
|
-
{
|
|
288
|
-
"version": "0.1.8",
|
|
289
|
-
"status": "released",
|
|
290
|
-
"createdAt": "2026-06-06 14:06:15",
|
|
291
|
-
"updatedAt": "2026-06-06 15:46:43",
|
|
292
|
-
"notes": null,
|
|
293
|
-
"items": [
|
|
294
|
-
{
|
|
295
|
-
"type": "新增",
|
|
296
|
-
"summary": "新增",
|
|
297
|
-
"detail": "命中的项目经验会自动进入运行上下文和执行引导,减少重复补充规则",
|
|
298
|
-
"sentence": "新增:命中的项目经验会自动进入运行上下文和执行引导,减少重复补充规则",
|
|
299
|
-
"recordedAt": "2026-06-06 14:06:26",
|
|
300
|
-
"source": {
|
|
301
|
-
"kind": "manual-note",
|
|
302
|
-
"manualId": "manual-note-1780725986925"
|
|
303
|
-
}
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
"type": "修复",
|
|
307
|
-
"summary": "修复",
|
|
308
|
-
"detail": "用户已经认可后,后续默认直接继续推进,不再重复追问同一轮确认",
|
|
309
|
-
"sentence": "修复:用户已经认可后,后续默认直接继续推进,不再重复追问同一轮确认",
|
|
310
|
-
"recordedAt": "2026-06-06 14:06:27",
|
|
311
|
-
"source": {
|
|
312
|
-
"kind": "manual-note",
|
|
313
|
-
"manualId": "manual-note-1780725987012"
|
|
314
|
-
}
|
|
315
|
-
},
|
|
316
|
-
{
|
|
317
|
-
"type": "优化",
|
|
318
|
-
"summary": "优化",
|
|
319
|
-
"detail": "对外文案统一改成更好懂的表达,减少内部术语直接暴露给用户",
|
|
320
|
-
"sentence": "优化:对外文案统一改成更好懂的表达,减少内部术语直接暴露给用户",
|
|
321
|
-
"recordedAt": "2026-06-06 14:06:27",
|
|
322
|
-
"source": {
|
|
323
|
-
"kind": "manual-note",
|
|
324
|
-
"manualId": "manual-note-1780725987036"
|
|
325
|
-
}
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
"type": "新增",
|
|
329
|
-
"summary": "新增",
|
|
330
|
-
"detail": "项目经验命中、引用和注入会留下采用记录,方便判断自我成长有没有真的生效",
|
|
331
|
-
"sentence": "新增:项目经验命中、引用和注入会留下采用记录,方便判断自我成长有没有真的生效",
|
|
332
|
-
"recordedAt": "2026-06-06 14:06:53",
|
|
333
|
-
"source": {
|
|
334
|
-
"kind": "manual-note",
|
|
335
|
-
"manualId": "manual-note-1780726013537"
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
],
|
|
339
|
-
"tag": null
|
|
340
|
-
},
|
|
341
|
-
{
|
|
342
|
-
"version": "0.1.9",
|
|
343
|
-
"status": "current",
|
|
344
|
-
"createdAt": "2026-06-06 15:46:43",
|
|
345
|
-
"updatedAt": "2026-06-06 15:46:44",
|
|
346
|
-
"notes": null,
|
|
347
|
-
"items": [
|
|
348
|
-
{
|
|
349
|
-
"type": "优化",
|
|
350
|
-
"summary": "优化",
|
|
351
|
-
"detail": "收工时发现可复用经验后,会先用更好懂的说法说明这次情况、后续怎么复用,再询问是否保留",
|
|
352
|
-
"sentence": "优化:收工时发现可复用经验后,会先用更好懂的说法说明这次情况、后续怎么复用,再询问是否保留",
|
|
353
|
-
"recordedAt": "2026-06-06 15:46:44",
|
|
354
|
-
"source": {
|
|
355
|
-
"kind": "manual-note",
|
|
356
|
-
"manualId": "manual-note-1780732004017"
|
|
357
|
-
}
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"type": "新增",
|
|
361
|
-
"summary": "新增",
|
|
362
|
-
"detail": "项目经验回顾会同步生成面向用户的说明内容,减少只剩内部术语、用户看不懂的情况",
|
|
363
|
-
"sentence": "新增:项目经验回顾会同步生成面向用户的说明内容,减少只剩内部术语、用户看不懂的情况",
|
|
364
|
-
"recordedAt": "2026-06-06 15:46:44",
|
|
365
|
-
"source": {
|
|
366
|
-
"kind": "manual-note",
|
|
367
|
-
"manualId": "manual-note-1780732004151"
|
|
368
|
-
}
|
|
369
|
-
},
|
|
370
|
-
{
|
|
371
|
-
"type": "新增",
|
|
372
|
-
"summary": "新增",
|
|
373
|
-
"detail": "README 补充内置最佳实践能力说明,覆盖 DeepWiki、Context7 和图标资源等默认增强能力",
|
|
374
|
-
"sentence": "新增:README 补充内置最佳实践能力说明,覆盖 DeepWiki、Context7 和图标资源等默认增强能力",
|
|
375
|
-
"recordedAt": "2026-06-06 15:46:44",
|
|
376
|
-
"source": {
|
|
377
|
-
"kind": "manual-note",
|
|
378
|
-
"manualId": "manual-note-1780732004293"
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
],
|
|
382
|
-
"tag": null
|
|
383
|
-
}
|
|
384
|
-
],
|
|
385
|
-
"createdAt": "2026-06-02 21:28:04",
|
|
386
|
-
"updatedAt": "2026-06-06 15:46:44"
|
|
387
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"versionNumber": 1,
|
|
4
|
-
"versionId": "v0001",
|
|
5
|
-
"createdAt": "2026-05-24 01:56:48",
|
|
6
|
-
"title": "Verify 边界与历史项目刷新",
|
|
7
|
-
"owner": "Codex",
|
|
8
|
-
"productType": "agent",
|
|
9
|
-
"templatePack": "agent",
|
|
10
|
-
"status": "synthesized",
|
|
11
|
-
"digest": "dc988d7a94c07d2a8070968a71ddacffb374eaeee12aa85eb93231e06dd7b077",
|
|
12
|
-
"workUnitId": "wu-20260524015648-6d33ded7",
|
|
13
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"versionNumber": 2,
|
|
17
|
-
"versionId": "v0002",
|
|
18
|
-
"createdAt": "2026-06-02 11:39:56",
|
|
19
|
-
"title": "OpenPrd 用户视角变化摘要",
|
|
20
|
-
"owner": "Codex",
|
|
21
|
-
"productType": "agent",
|
|
22
|
-
"templatePack": "agent",
|
|
23
|
-
"status": "synthesized",
|
|
24
|
-
"digest": "e44eccd0d6fe1a7fd962ece31187f920e1a71de76122d15b826fb0a66d934d35",
|
|
25
|
-
"workUnitId": "wu-20260602113956-a99b5b88",
|
|
26
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"versionNumber": 3,
|
|
30
|
-
"versionId": "v0003",
|
|
31
|
-
"createdAt": "2026-06-02 12:22:44",
|
|
32
|
-
"title": "OpenPrd 用户视角变化摘要",
|
|
33
|
-
"owner": "Codex",
|
|
34
|
-
"productType": "agent",
|
|
35
|
-
"templatePack": "agent",
|
|
36
|
-
"status": "synthesized",
|
|
37
|
-
"digest": "f1b18bc47cbd76f784b7682483eafa24eb02230e23189dad29a2202b61544918",
|
|
38
|
-
"workUnitId": "wu-20260602122244-78656aaf",
|
|
39
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"versionNumber": 4,
|
|
43
|
-
"versionId": "v0004",
|
|
44
|
-
"createdAt": "2026-06-02 12:24:42",
|
|
45
|
-
"title": "OpenPrd 项目级版本轨道与变化摘要",
|
|
46
|
-
"owner": "Codex",
|
|
47
|
-
"productType": "agent",
|
|
48
|
-
"templatePack": "agent",
|
|
49
|
-
"status": "synthesized",
|
|
50
|
-
"digest": "0dbead578a9472100fb0c7cf185cd5500acd2d59830794cfa120f4f6976ee3f7",
|
|
51
|
-
"workUnitId": "wu-20260602122442-e96489e2",
|
|
52
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"versionNumber": 5,
|
|
56
|
-
"versionId": "v0005",
|
|
57
|
-
"createdAt": "2026-06-02 13:28:35",
|
|
58
|
-
"title": "OpenPrd 首轮项目画像与自适应需求初始化",
|
|
59
|
-
"owner": "Codex",
|
|
60
|
-
"productType": "agent",
|
|
61
|
-
"templatePack": "agent",
|
|
62
|
-
"status": "synthesized",
|
|
63
|
-
"digest": "7f0e2d2730982a2ae96647d2377f6204e54f8adadf1b18b05f4bc7167046c575",
|
|
64
|
-
"workUnitId": "wu-20260602132835-695429e8",
|
|
65
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd"
|
|
66
|
-
}
|
|
67
|
-
]
|
|
File without changes
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"versionNumber": 1,
|
|
3
|
-
"versionId": "v0001",
|
|
4
|
-
"createdAt": "2026-05-24 01:56:48",
|
|
5
|
-
"projectRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
6
|
-
"workspaceRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd",
|
|
7
|
-
"schema": "prd-core",
|
|
8
|
-
"templatePack": "agent",
|
|
9
|
-
"productType": "agent",
|
|
10
|
-
"title": "Verify 边界与历史项目刷新",
|
|
11
|
-
"owner": "Codex",
|
|
12
|
-
"status": "synthesized",
|
|
13
|
-
"sections": {
|
|
14
|
-
"meta": {
|
|
15
|
-
"title": "Verify 边界与历史项目刷新",
|
|
16
|
-
"owner": "Codex",
|
|
17
|
-
"status": "classified",
|
|
18
|
-
"version": "v0001",
|
|
19
|
-
"productType": "agent",
|
|
20
|
-
"date": "2026-05-24"
|
|
21
|
-
},
|
|
22
|
-
"problem": {
|
|
23
|
-
"problemStatement": "修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项目生成物。",
|
|
24
|
-
"whyNow": "历史项目的 verify 正在被参考目录噪音阻塞,需要尽快恢复 run/verify 的可信度。",
|
|
25
|
-
"evidence": []
|
|
26
|
-
},
|
|
27
|
-
"users": {
|
|
28
|
-
"primaryUsers": [
|
|
29
|
-
"维护 OpenPrd 的 Agent 工程师",
|
|
30
|
-
"使用 OpenPrd 管理历史项目的项目维护者"
|
|
31
|
-
],
|
|
32
|
-
"secondaryUsers": [],
|
|
33
|
-
"stakeholders": []
|
|
34
|
-
},
|
|
35
|
-
"goals": {
|
|
36
|
-
"goals": [
|
|
37
|
-
"让主验证只关注当前项目源码和当前实现门禁",
|
|
38
|
-
"让历史项目刷新后默认获得更干净的 verify 体验"
|
|
39
|
-
],
|
|
40
|
-
"successMetrics": [
|
|
41
|
-
"存在 reference discovery 时 openprd run . --context 不再默认展示它",
|
|
42
|
-
"仓库内常见外部参考目录在未人工归类前不再直接把 standards verify 阻塞成大面积说明书噪音",
|
|
43
|
-
"openprd fleet 更新后历史项目生成物包含这次修复"
|
|
44
|
-
],
|
|
45
|
-
"acceptanceGoals": [
|
|
46
|
-
"run/verify 的默认结果不再把 reference discovery 或明显外部参考目录当成主门禁噪音",
|
|
47
|
-
"历史项目刷新后生成物能承接这次边界修复",
|
|
48
|
-
"对需要人工确认的 external reference 仍保留显式 classify-external 路径"
|
|
49
|
-
]
|
|
50
|
-
},
|
|
51
|
-
"scope": {
|
|
52
|
-
"inScope": [
|
|
53
|
-
"调整 run context 与 run verify 对 discovery 的纳入规则",
|
|
54
|
-
"调整 standards/source-manual 默认对明显外部参考目录的处理策略",
|
|
55
|
-
"为历史项目执行 openprd fleet 更新与必要回填"
|
|
56
|
-
],
|
|
57
|
-
"outOfScope": [
|
|
58
|
-
"不自动替每个历史项目猜测所有业务目录的 externalReferences 清单",
|
|
59
|
-
"不修改历史项目的业务代码或需求内容",
|
|
60
|
-
"不把人工确认 external reference 的能力删除"
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
"scenarios": {
|
|
64
|
-
"primaryFlows": [
|
|
65
|
-
"维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项目主验证状态;仓库中存在 research、toolkit-sources、marketplace-candidates 等参考目录时,默认不会被当成本项目源码说明书缺口直接淹没结果;维护者可以继续按需显式 classify-external。"
|
|
66
|
-
],
|
|
67
|
-
"edgeCases": [],
|
|
68
|
-
"failureModes": [
|
|
69
|
-
"reference discovery 仍然混入 run context 或 run verify",
|
|
70
|
-
"standards verify 继续被 research 或 toolkit-sources 之类参考目录的说明书缺口淹没",
|
|
71
|
-
"fleet 更新后历史项目仍保留旧的 verify 噪音行为"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"requirements": {
|
|
75
|
-
"functional": [],
|
|
76
|
-
"nonFunctional": [],
|
|
77
|
-
"businessRules": []
|
|
78
|
-
},
|
|
79
|
-
"businessGuardrails": {
|
|
80
|
-
"costDrivers": [],
|
|
81
|
-
"usageLimits": [],
|
|
82
|
-
"abusePrevention": [],
|
|
83
|
-
"monitoringSignals": [],
|
|
84
|
-
"alertThresholds": [],
|
|
85
|
-
"stopLossActions": []
|
|
86
|
-
},
|
|
87
|
-
"constraints": {
|
|
88
|
-
"technical": [],
|
|
89
|
-
"compliance": [],
|
|
90
|
-
"dependencies": []
|
|
91
|
-
},
|
|
92
|
-
"risks": {
|
|
93
|
-
"assumptions": [],
|
|
94
|
-
"risks": [],
|
|
95
|
-
"openQuestions": [
|
|
96
|
-
"本次只收敛默认边界,不自动猜测每个历史项目全部 external reference 清单;如果某些项目还需要更细的目录级归类,仍由维护者显式确认和补充"
|
|
97
|
-
]
|
|
98
|
-
},
|
|
99
|
-
"handoff": {
|
|
100
|
-
"owner": "Codex",
|
|
101
|
-
"nextStep": "评审已生成的 PRD,并准备交接。",
|
|
102
|
-
"targetSystem": "OpenSpec"
|
|
103
|
-
},
|
|
104
|
-
"typeSpecific": {
|
|
105
|
-
"kind": "agent",
|
|
106
|
-
"title": "Agent 专项",
|
|
107
|
-
"fields": {
|
|
108
|
-
"humanAgentContract": "Agent 可以识别并提示 reference discovery 与外部参考目录边界,但把目录正式归类为 external reference 仍需要人确认;批量刷新历史项目可以自动执行。",
|
|
109
|
-
"autonomyBoundary": "Agent 可以修改 OpenPrd CLI、补测试、更新文档、运行 fleet dry-run 与 update-openprd/backfill-work-units,并验证结果;不得静默把任意历史目录永久归类为 external reference。",
|
|
110
|
-
"toolBoundary": "使用本地代码检索、OpenPrd CLI、自带测试、fleet 更新、doctor 与 verify 完成实现和验证;本次不需要外部第三方文档调研。",
|
|
111
|
-
"stateModel": "需要保留三类状态:当前项目源码验证状态、reference discovery 状态、standards external reference 显式配置;主 run/verify 只默认消费第一类,其他两类按边界显式暴露。",
|
|
112
|
-
"evalPlan": "通过针对 run-harness、standards 和 fleet 的单测与集成验证评估;再用历史项目 dry-run 与 update-openprd/backfill-work-units 验证刷新结果。"
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
"reviewPresentation": null,
|
|
117
|
-
"workUnitId": "wu-20260524015648-6d33ded7",
|
|
118
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
119
|
-
"content": "# Verify 边界与历史项目刷新\n> 语言规则:除 PRD、OpenPrd、OpenSpec、API、SDK、CLI、TypeScript、JSON、HTTP、WebSocket、字段 key、命令名、产品名和协议名等必要专有名词外,用户可见内容应使用简体中文。\n- 版本: v0001\n- 负责人: Codex\n- 产品类型: agent\n- 模板包: agent\n- 状态: synthesized\n- 生成时间: 2026-05-24 01:56:48\n## 元信息\n\n- 标题: Verify 边界与历史项目刷新\n- 负责人: Codex\n- 状态: classified\n- 版本: v0001\n- 产品类型: agent\n- 日期: 2026-05-24\n\n## 问题\n\n- 问题陈述: 修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项目生成物。\n- 为什么是现在: 历史项目的 verify 正在被参考目录噪音阻塞,需要尽快恢复 run/verify 的可信度。\n- 证据:\n - 待补充\n\n## 用户与相关方\n\n- 主要用户:\n - 维护 OpenPrd 的 Agent 工程师\n - 使用 OpenPrd 管理历史项目的项目维护者\n- 次要用户:\n - 待补充\n- 相关方:\n - 待补充\n\n## 目标与成功标准\n\n- 目标:\n - 让主验证只关注当前项目源码和当前实现门禁\n - 让历史项目刷新后默认获得更干净的 verify 体验\n- 成功指标:\n - 存在 reference discovery 时 openprd run . --context 不再默认展示它\n - 仓库内常见外部参考目录在未人工归类前不再直接把 standards verify 阻塞成大面积说明书噪音\n - openprd fleet 更新后历史项目生成物包含这次修复\n- 验收目标:\n - run/verify 的默认结果不再把 reference discovery 或明显外部参考目录当成主门禁噪音\n - 历史项目刷新后生成物能承接这次边界修复\n - 对需要人工确认的 external reference 仍保留显式 classify-external 路径\n\n## 范围与非目标\n\n- 范围内:\n - 调整 run context 与 run verify 对 discovery 的纳入规则\n - 调整 standards/source-manual 默认对明显外部参考目录的处理策略\n - 为历史项目执行 openprd fleet 更新与必要回填\n- 范围外:\n - 不自动替每个历史项目猜测所有业务目录的 externalReferences 清单\n - 不修改历史项目的业务代码或需求内容\n - 不把人工确认 external reference 的能力删除\n\n## 场景与流程\n\n- 主流程:\n - 维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项目主验证状态;仓库中存在 research、toolkit-sources、marketplace-candidates 等参考目录时,默认不会被当成本项目源码说明书缺口直接淹没结果;维护者可以继续按需显式 classify-external。\n- 边界情况:\n - 待补充\n- 失败模式:\n - reference discovery 仍然混入 run context 或 run verify\n - standards verify 继续被 research 或 toolkit-sources 之类参考目录的说明书缺口淹没\n - fleet 更新后历史项目仍保留旧的 verify 噪音行为\n\n## 可视化图表\n\n### 产品流程\n\n```mermaid\nflowchart LR\n entry[\"入口触发<br/>维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项…\"]\n experience[\"产品内步骤<br/>修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项…\"]\n decision{\"决策点<br/>边界情况仍需澄清\"}\n success([\"成功结果<br/>存在 reference discovery 时 openprd run . --context 不再默认展示它\"])\n failure[[\"失败与恢复<br/>reference discovery 仍然混入 run context 或 run verify\"]]\n entry -->|\"维护者运行 openprd run . --context 或 openprd r…\"| experience\n experience -->|\"系统处理请求\"| decision\n decision -->|\"让主验证只关注当前项目源码和当前实现门禁\"| success\n decision -.->|\"reference discovery 仍然混入 run context 或 ru…\"| failure\n```\n\n### 架构\n\n```mermaid\nflowchart LR\n users[\"主要用户<br/>维护 OpenPrd 的 Agent 工程师 · 使用 OpenPrd 管理历史项目的项目维护者\"]\n subgraph solution[\"方案边界\"]\n experience[\"Agent 运行层<br/>维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项…\"]\n core[\"核心产品逻辑<br/>修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项…\"]\n integrations[\"依赖与集成<br/>暂无外部依赖记录\"]\n governance[[\"约束与可靠性<br/>暂无明确约束\"]]\n delivery[\"验证与交接<br/>存在 reference discovery 时 openprd run . --context 不再默认展示它 · 仓库内常…\"]\n end\n users -->|\"维护者运行 openprd run . --context 或 openprd…\"| experience\n experience -->|\"产品动作与编排\"| core\n core -->|\"依赖与外部服务\"| integrations\n core -.->|\"策略、可靠性与合规\"| governance\n core -->|\"成功标准与交接\"| delivery\n integrations -->|\"运营就绪\"| delivery\n governance -.->|\"评审与确认\"| delivery\n```\n\n## 需求\n\n- 功能需求:\n - 待补充\n- 非功能需求:\n - 待补充\n- 业务规则:\n - 待补充\n\n## 业务护栏\n\n- 成本来源:\n - 待补充\n- 额度与限制:\n - 待补充\n- 滥用防护:\n - 待补充\n- 监控信号:\n - 待补充\n- 报警阈值:\n - 待补充\n- 止损动作:\n - 待补充\n\n## 约束、依赖与风险\n\n- 技术约束:\n - 待补充\n- 合规要求:\n - 待补充\n- 依赖:\n - 待补充\n- 假设:\n - 待补充\n- 风险:\n - 待补充\n- 开放问题:\n - 本次只收敛默认边界,不自动猜测每个历史项目全部 external reference 清单;如果某些项目还需要更细的目录级归类,仍由维护者显式确认和补充\n\n## 类型专项模块\n\n- 类型: Agent 专项\n- humanAgentContract: Agent 可以识别并提示 reference discovery 与外部参考目录边界,但把目录正式归类为 external reference 仍需要人确认;批量刷新历史项目可以自动执行。\n- autonomyBoundary: Agent 可以修改 OpenPrd CLI、补测试、更新文档、运行 fleet dry-run 与 update-openprd/backfill-work-units,并验证结果;不得静默把任意历史目录永久归类为 external reference。\n- toolBoundary: 使用本地代码检索、OpenPrd CLI、自带测试、fleet 更新、doctor 与 verify 完成实现和验证;本次不需要外部第三方文档调研。\n- stateModel: 需要保留三类状态:当前项目源码验证状态、reference discovery 状态、standards external reference 显式配置;主 run/verify 只默认消费第一类,其他两类按边界显式暴露。\n- evalPlan: 通过针对 run-harness、standards 和 fleet 的单测与集成验证评估;再用历史项目 dry-run 与 update-openprd/backfill-work-units 验证刷新结果。\n\n## 交接\n\n- 负责人: Codex\n- 下一步: 评审已生成的 PRD,并准备交接。\n- 目标系统: OpenSpec\n",
|
|
120
|
-
"digest": "dc988d7a94c07d2a8070968a71ddacffb374eaeee12aa85eb93231e06dd7b077"
|
|
121
|
-
}
|