@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,61 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<meta http-equiv="refresh" content="0; url=../../reviews/v0005.html" />
|
|
7
|
-
<title>OpenPrd 首轮项目画像与自适应需求初始化 / 评审入口</title>
|
|
8
|
-
<style>
|
|
9
|
-
:root {
|
|
10
|
-
color-scheme: light;
|
|
11
|
-
--bg: #f8fafc;
|
|
12
|
-
--panel: #ffffff;
|
|
13
|
-
--text: #111827;
|
|
14
|
-
--muted: #6b7280;
|
|
15
|
-
--line: rgba(17,24,39,0.12);
|
|
16
|
-
--accent: #2563eb;
|
|
17
|
-
}
|
|
18
|
-
* { box-sizing: border-box; }
|
|
19
|
-
body {
|
|
20
|
-
margin: 0;
|
|
21
|
-
min-height: 100vh;
|
|
22
|
-
display: grid;
|
|
23
|
-
place-items: center;
|
|
24
|
-
background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
|
|
25
|
-
color: var(--text);
|
|
26
|
-
font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
|
|
27
|
-
}
|
|
28
|
-
.panel {
|
|
29
|
-
width: min(560px, calc(100vw - 32px));
|
|
30
|
-
padding: 28px 24px;
|
|
31
|
-
border: 1px solid var(--line);
|
|
32
|
-
border-radius: 16px;
|
|
33
|
-
background: var(--panel);
|
|
34
|
-
box-shadow: 0 18px 40px rgba(15,23,42,0.08);
|
|
35
|
-
}
|
|
36
|
-
h1 {
|
|
37
|
-
margin: 0 0 10px;
|
|
38
|
-
font-size: 24px;
|
|
39
|
-
line-height: 1.25;
|
|
40
|
-
}
|
|
41
|
-
p {
|
|
42
|
-
margin: 0 0 12px;
|
|
43
|
-
color: var(--muted);
|
|
44
|
-
line-height: 1.6;
|
|
45
|
-
}
|
|
46
|
-
a {
|
|
47
|
-
color: var(--accent);
|
|
48
|
-
font-weight: 700;
|
|
49
|
-
text-decoration: none;
|
|
50
|
-
}
|
|
51
|
-
a:hover { text-decoration: underline; }
|
|
52
|
-
</style>
|
|
53
|
-
</head>
|
|
54
|
-
<body>
|
|
55
|
-
<main class="panel">
|
|
56
|
-
<h1>OpenPrd 首轮项目画像与自适应需求初始化 / 评审入口</h1>
|
|
57
|
-
<p>这个入口只保留当前评审稿的固定路径,页面会自动跳转到最新的版本化评审文件。</p>
|
|
58
|
-
<p><a href="../../reviews/v0005.html">如果没有自动跳转,点这里打开评审面板</a></p>
|
|
59
|
-
</main>
|
|
60
|
-
</body>
|
|
61
|
-
</html>
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# 角色
|
|
2
|
-
|
|
3
|
-
## 用户
|
|
4
|
-
|
|
5
|
-
- 主要用户:
|
|
6
|
-
- 第一次用 OpenPrd 梳理产品想法的产品经理、独立开发者与 Vibe Coding 用户
|
|
7
|
-
- 需要在模糊需求下帮助用户收敛方向并继续落地的 Agent 协作者
|
|
8
|
-
|
|
9
|
-
- 次要用户:
|
|
10
|
-
- 待补充
|
|
11
|
-
|
|
12
|
-
- 相关方:
|
|
13
|
-
- 维护 OpenPrd requirement-intake、workflow 和模板的开发者
|
|
14
|
-
- 后续需要基于已确认上下文继续实现的多轮 Agent 会话
|
|
15
|
-
|
|
16
|
-
## 类型专项
|
|
17
|
-
|
|
18
|
-
- humanAgentContract: Agent 先归纳用户群体、产品形态、第一版切片、边界与风险,再请求用户确认;如果信息不足,只能提出候选方向,不能把猜测当成定论。
|
|
19
|
-
- autonomyBoundary: Agent 可以根据当前需求和已有工作区状态推断首轮项目画像,但在用户确认前不得把推断直接写成最终需求事实或越过需求入口去改实现。
|
|
20
|
-
- toolBoundary: 仅使用本地 OpenPrd workflow、模板、测试和文档完成这次改动,不依赖新的外部运行时。
|
|
21
|
-
- stateModel: 新需求进入时先形成 project framing,再进入 requirement clarification、review/change/tasks 与实现。
|
|
22
|
-
- evalPlan: 通过 workspace flow、requirement gate、CLI 输出和模板相关测试验证新流程,同时运行 dev-check、standards、quality 与 run verify。
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"workUnitId": "wu-20260524015648-6d33ded7",
|
|
4
|
-
"title": "Verify 边界与历史项目刷新",
|
|
5
|
-
"status": "pending-confirmation",
|
|
6
|
-
"projectRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
7
|
-
"workspaceRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd",
|
|
8
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
9
|
-
"latestVersionId": "v0001",
|
|
10
|
-
"latestVersionDigest": "dc988d7a94c07d2a8070968a71ddacffb374eaeee12aa85eb93231e06dd7b077",
|
|
11
|
-
"reviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0001.html",
|
|
12
|
-
"activeReviewArtifact": null,
|
|
13
|
-
"artifactBundle": {
|
|
14
|
-
"dir": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/artifacts/active/v0001-review",
|
|
15
|
-
"html": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/artifacts/active/v0001-review/artifact.html",
|
|
16
|
-
"markdown": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/artifacts/active/v0001-review/data.md",
|
|
17
|
-
"patch": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/artifacts/active/v0001-review/capture-patch.json"
|
|
18
|
-
},
|
|
19
|
-
"createdAt": "2026-05-24 01:56:48",
|
|
20
|
-
"updatedAt": "2026-06-05 08:44:22",
|
|
21
|
-
"reviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0001.html",
|
|
22
|
-
"activeReviewPath": null
|
|
23
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"workUnitId": "wu-20260602113956-a99b5b88",
|
|
4
|
-
"title": "OpenPrd 用户视角变化摘要",
|
|
5
|
-
"status": "pending-confirmation",
|
|
6
|
-
"projectRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
7
|
-
"workspaceRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd",
|
|
8
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
9
|
-
"latestVersionId": "v0002",
|
|
10
|
-
"latestVersionDigest": "e44eccd0d6fe1a7fd962ece31187f920e1a71de76122d15b826fb0a66d934d35",
|
|
11
|
-
"reviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0002.html",
|
|
12
|
-
"activeReviewPath": null,
|
|
13
|
-
"reviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0002.html",
|
|
14
|
-
"activeReviewArtifact": null,
|
|
15
|
-
"artifactBundle": null,
|
|
16
|
-
"createdAt": "2026-06-02 11:39:56",
|
|
17
|
-
"updatedAt": "2026-06-05 08:44:22"
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"workUnitId": "wu-20260602122244-78656aaf",
|
|
4
|
-
"title": "OpenPrd 用户视角变化摘要",
|
|
5
|
-
"status": "pending-confirmation",
|
|
6
|
-
"projectRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
7
|
-
"workspaceRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd",
|
|
8
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
9
|
-
"latestVersionId": "v0003",
|
|
10
|
-
"latestVersionDigest": "f1b18bc47cbd76f784b7682483eafa24eb02230e23189dad29a2202b61544918",
|
|
11
|
-
"reviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0003.html",
|
|
12
|
-
"activeReviewPath": null,
|
|
13
|
-
"reviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0003.html",
|
|
14
|
-
"activeReviewArtifact": null,
|
|
15
|
-
"artifactBundle": null,
|
|
16
|
-
"createdAt": "2026-06-02 12:22:44",
|
|
17
|
-
"updatedAt": "2026-06-05 08:44:22"
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"workUnitId": "wu-20260602122442-e96489e2",
|
|
4
|
-
"title": "OpenPrd 项目级版本轨道与变化摘要",
|
|
5
|
-
"status": "pending-confirmation",
|
|
6
|
-
"projectRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
7
|
-
"workspaceRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd",
|
|
8
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
9
|
-
"latestVersionId": "v0004",
|
|
10
|
-
"latestVersionDigest": "0dbead578a9472100fb0c7cf185cd5500acd2d59830794cfa120f4f6976ee3f7",
|
|
11
|
-
"reviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0004.html",
|
|
12
|
-
"activeReviewPath": null,
|
|
13
|
-
"reviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0004.html",
|
|
14
|
-
"activeReviewArtifact": null,
|
|
15
|
-
"artifactBundle": null,
|
|
16
|
-
"createdAt": "2026-06-02 12:24:42",
|
|
17
|
-
"updatedAt": "2026-06-05 08:44:22"
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"workUnitId": "wu-20260602132835-695429e8",
|
|
4
|
-
"title": "OpenPrd 首轮项目画像与自适应需求初始化",
|
|
5
|
-
"status": "confirmed",
|
|
6
|
-
"projectRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
7
|
-
"workspaceRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd",
|
|
8
|
-
"targetRoot": "/Users/chaojifeng/Projects/harness-engineer/openprd",
|
|
9
|
-
"latestVersionId": "v0005",
|
|
10
|
-
"latestVersionDigest": "7f0e2d2730982a2ae96647d2377f6204e54f8adadf1b18b05f4bc7167046c575",
|
|
11
|
-
"reviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0005.html",
|
|
12
|
-
"activeReviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/engagements/active/review.html",
|
|
13
|
-
"reviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0005.html",
|
|
14
|
-
"activeReviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/engagements/active/review.html",
|
|
15
|
-
"artifactBundle": null,
|
|
16
|
-
"createdAt": "2026-06-02 13:28:35",
|
|
17
|
-
"updatedAt": "2026-06-05 08:44:22"
|
|
18
|
-
}
|
|
File without changes
|
package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/candidate.json
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"candidateId": "candidate-turn-1780116203372-5f266a79e968c758",
|
|
4
|
-
"status": "promoted",
|
|
5
|
-
"createdAt": "2026-05-30 13:39:11",
|
|
6
|
-
"updatedAt": "2026-06-05 09:05:29",
|
|
7
|
-
"sourceKind": "diagnostic-report",
|
|
8
|
-
"sourceRef": "candidate-turn-1780116203372-5f266a79e968c758",
|
|
9
|
-
"title": "本轮项目回顾",
|
|
10
|
-
"summary": "本轮围绕 13 个可沉淀文件生成回顾。 本轮结果里已经出现可复用的症状、排查线索或根因模式,不应该只留在当前对话里。 已记录 2 条回顾信号。",
|
|
11
|
-
"categories": [
|
|
12
|
-
"hidden-debug-knowledge",
|
|
13
|
-
"agent-misjudgment",
|
|
14
|
-
"high-impact-fix"
|
|
15
|
-
],
|
|
16
|
-
"reasons": [
|
|
17
|
-
"本轮结果里已经出现可复用的症状、排查线索或根因模式,不应该只留在当前对话里。",
|
|
18
|
-
"这次改动直接影响 Agent / harness / hook / skill 行为,后续很容易再次踩到同类判断问题。",
|
|
19
|
-
"这次修复已经带有验证或收尾证据,适合尽快抽象成项目级研发经验。"
|
|
20
|
-
],
|
|
21
|
-
"touchedFiles": [
|
|
22
|
-
"src/workspace-core.js",
|
|
23
|
-
"src/openprd.js",
|
|
24
|
-
"src/fleet.js",
|
|
25
|
-
"src/standards.js",
|
|
26
|
-
"test/helpers/openprd-test-helpers.js",
|
|
27
|
-
"test/openprd-run-fleet.test.js",
|
|
28
|
-
"test/openprd-quality-standards.test.js",
|
|
29
|
-
"test/openprd-agent-integration.test.js",
|
|
30
|
-
"test/openprd-benchmark-knowledge.test.js",
|
|
31
|
-
"test/openprd.test.js",
|
|
32
|
-
"test/openprd-workspace-flow.test.js",
|
|
33
|
-
"test/openprd-discovery-changes.test.js",
|
|
34
|
-
"test/openprd-github-release.test.js"
|
|
35
|
-
],
|
|
36
|
-
"reviewSignals": [
|
|
37
|
-
{
|
|
38
|
-
"id": "run-verify",
|
|
39
|
-
"kind": "run-verify",
|
|
40
|
-
"at": "2026-06-05 09:05:29",
|
|
41
|
-
"ok": true,
|
|
42
|
-
"productionReady": true,
|
|
43
|
-
"attentionGates": [],
|
|
44
|
-
"summary": "run verify passed",
|
|
45
|
-
"touchedFiles": []
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"id": "dev-check",
|
|
49
|
-
"kind": "dev-check",
|
|
50
|
-
"at": "2026-06-05 09:04:20",
|
|
51
|
-
"ok": true,
|
|
52
|
-
"productionReady": null,
|
|
53
|
-
"attentionGates": [],
|
|
54
|
-
"summary": "dev-check attention=9, warning=1",
|
|
55
|
-
"touchedFiles": [
|
|
56
|
-
"src/workspace-core.js",
|
|
57
|
-
"src/openprd.js",
|
|
58
|
-
"src/fleet.js",
|
|
59
|
-
"src/standards.js",
|
|
60
|
-
"test/helpers/openprd-test-helpers.js",
|
|
61
|
-
"test/openprd-run-fleet.test.js",
|
|
62
|
-
"test/openprd-quality-standards.test.js",
|
|
63
|
-
"test/openprd-agent-integration.test.js",
|
|
64
|
-
"test/openprd-benchmark-knowledge.test.js",
|
|
65
|
-
"test/openprd.test.js",
|
|
66
|
-
"test/openprd-workspace-flow.test.js",
|
|
67
|
-
"test/openprd-discovery-changes.test.js",
|
|
68
|
-
"test/openprd-github-release.test.js"
|
|
69
|
-
]
|
|
70
|
-
}
|
|
71
|
-
],
|
|
72
|
-
"files": {
|
|
73
|
-
"candidate": "/Users/chaojifeng/Projects/harness-engineer/.worktrees/openprd-release-0.1.5-publish/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/candidate.json",
|
|
74
|
-
"candidateDir": "/Users/chaojifeng/Projects/harness-engineer/.worktrees/openprd-release-0.1.5-publish/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758",
|
|
75
|
-
"draftSkill": "/Users/chaojifeng/Projects/harness-engineer/.worktrees/openprd-release-0.1.5-publish/.openprd/knowledge/drafts/openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758/SKILL.md"
|
|
76
|
-
},
|
|
77
|
-
"suggestedLearnCommand": "openprd quality . --learn --from .openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758"
|
|
78
|
-
}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "candidate-turn-1780116203372-5f266a79e968c758",
|
|
3
|
-
"knowledgeCandidateId": "candidate-turn-1780116203372-5f266a79e968c758",
|
|
4
|
-
"title": "本轮项目回顾",
|
|
5
|
-
"status": "pass",
|
|
6
|
-
"summary": {
|
|
7
|
-
"title": "本轮项目回顾",
|
|
8
|
-
"status": "pass",
|
|
9
|
-
"message": "本轮围绕 13 个可沉淀文件生成回顾。 本轮结果里已经出现可复用的症状、排查线索或根因模式,不应该只留在当前对话里。 已记录 2 条回顾信号。"
|
|
10
|
-
},
|
|
11
|
-
"problem": "本轮围绕 13 个可沉淀文件生成回顾。 本轮结果里已经出现可复用的症状、排查线索或根因模式,不应该只留在当前对话里。 已记录 2 条回顾信号。",
|
|
12
|
-
"message": "本轮围绕 13 个可沉淀文件生成回顾。 本轮结果里已经出现可复用的症状、排查线索或根因模式,不应该只留在当前对话里。 已记录 2 条回顾信号。",
|
|
13
|
-
"touchedFiles": [
|
|
14
|
-
"src/workspace-core.js",
|
|
15
|
-
"src/openprd.js",
|
|
16
|
-
"src/fleet.js",
|
|
17
|
-
"src/standards.js",
|
|
18
|
-
"test/helpers/openprd-test-helpers.js",
|
|
19
|
-
"test/openprd-run-fleet.test.js",
|
|
20
|
-
"test/openprd-quality-standards.test.js",
|
|
21
|
-
"test/openprd-agent-integration.test.js",
|
|
22
|
-
"test/openprd-benchmark-knowledge.test.js",
|
|
23
|
-
"test/openprd.test.js",
|
|
24
|
-
"test/openprd-workspace-flow.test.js",
|
|
25
|
-
"test/openprd-discovery-changes.test.js",
|
|
26
|
-
"test/openprd-github-release.test.js"
|
|
27
|
-
],
|
|
28
|
-
"reviewSignals": [
|
|
29
|
-
{
|
|
30
|
-
"id": "run-verify",
|
|
31
|
-
"kind": "run-verify",
|
|
32
|
-
"at": "2026-06-05 09:05:29",
|
|
33
|
-
"ok": true,
|
|
34
|
-
"productionReady": true,
|
|
35
|
-
"attentionGates": [],
|
|
36
|
-
"summary": "run verify passed",
|
|
37
|
-
"touchedFiles": []
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"id": "dev-check",
|
|
41
|
-
"kind": "dev-check",
|
|
42
|
-
"at": "2026-06-05 09:04:20",
|
|
43
|
-
"ok": true,
|
|
44
|
-
"productionReady": null,
|
|
45
|
-
"attentionGates": [],
|
|
46
|
-
"summary": "dev-check attention=9, warning=1",
|
|
47
|
-
"touchedFiles": [
|
|
48
|
-
"src/workspace-core.js",
|
|
49
|
-
"src/openprd.js",
|
|
50
|
-
"src/fleet.js",
|
|
51
|
-
"src/standards.js",
|
|
52
|
-
"test/helpers/openprd-test-helpers.js",
|
|
53
|
-
"test/openprd-run-fleet.test.js",
|
|
54
|
-
"test/openprd-quality-standards.test.js",
|
|
55
|
-
"test/openprd-agent-integration.test.js",
|
|
56
|
-
"test/openprd-benchmark-knowledge.test.js",
|
|
57
|
-
"test/openprd.test.js",
|
|
58
|
-
"test/openprd-workspace-flow.test.js",
|
|
59
|
-
"test/openprd-discovery-changes.test.js",
|
|
60
|
-
"test/openprd-github-release.test.js"
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
],
|
|
64
|
-
"runtimeEvents": [
|
|
65
|
-
{
|
|
66
|
-
"eventName": "run-verify",
|
|
67
|
-
"status": "pass",
|
|
68
|
-
"message": "run verify passed",
|
|
69
|
-
"touchedFiles": [],
|
|
70
|
-
"at": "2026-06-05 09:05:29"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"eventName": "dev-check",
|
|
74
|
-
"status": "pass",
|
|
75
|
-
"message": "dev-check attention=9, warning=1",
|
|
76
|
-
"touchedFiles": [
|
|
77
|
-
"src/workspace-core.js",
|
|
78
|
-
"src/openprd.js",
|
|
79
|
-
"src/fleet.js",
|
|
80
|
-
"src/standards.js",
|
|
81
|
-
"test/helpers/openprd-test-helpers.js",
|
|
82
|
-
"test/openprd-run-fleet.test.js",
|
|
83
|
-
"test/openprd-quality-standards.test.js",
|
|
84
|
-
"test/openprd-agent-integration.test.js",
|
|
85
|
-
"test/openprd-benchmark-knowledge.test.js",
|
|
86
|
-
"test/openprd.test.js",
|
|
87
|
-
"test/openprd-workspace-flow.test.js",
|
|
88
|
-
"test/openprd-discovery-changes.test.js",
|
|
89
|
-
"test/openprd-github-release.test.js"
|
|
90
|
-
],
|
|
91
|
-
"at": "2026-06-05 09:04:20"
|
|
92
|
-
}
|
|
93
|
-
],
|
|
94
|
-
"timeline": [
|
|
95
|
-
{
|
|
96
|
-
"event": "run-verify",
|
|
97
|
-
"message": "run verify passed",
|
|
98
|
-
"status": "pass",
|
|
99
|
-
"line": null,
|
|
100
|
-
"at": "2026-06-05 09:05:29"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"event": "dev-check",
|
|
104
|
-
"message": "dev-check attention=9, warning=1",
|
|
105
|
-
"status": "pass",
|
|
106
|
-
"line": null,
|
|
107
|
-
"at": "2026-06-05 09:04:20"
|
|
108
|
-
}
|
|
109
|
-
],
|
|
110
|
-
"rootCauseCandidates": [
|
|
111
|
-
{
|
|
112
|
-
"title": "本轮项目回顾"
|
|
113
|
-
}
|
|
114
|
-
],
|
|
115
|
-
"verificationSteps": [
|
|
116
|
-
"run verify passed",
|
|
117
|
-
"dev-check attention=9, warning=1",
|
|
118
|
-
"复现一次同类路径,确认新的诊断包仍能导出 runtime-events、timeline、root-cause-candidates 和 diagnostic-report。",
|
|
119
|
-
"重点核对 run-verify -> quality-verify -> dev-check 的顺序是否符合预期。",
|
|
120
|
-
"修复后再次执行同一路径,确认时间线不再在历史失败断点中断。",
|
|
121
|
-
"把最终诊断包与质量报告一起归档,确保后续 Agent 能直接复用已有排查路径。"
|
|
122
|
-
],
|
|
123
|
-
"prevention": [
|
|
124
|
-
"把本轮修复抽象成项目级 skill,而不是只保留一次性聊天上下文。",
|
|
125
|
-
"关键路径默认保留 runtime-events、timeline、root-cause-candidates、diagnostic-report 四类证据,而不是等故障出现后再补日志。",
|
|
126
|
-
"失败事件和补偿事件使用稳定事件名,避免把根因埋在自由文本里。",
|
|
127
|
-
"修复完成后保留一份成功与失败对照诊断包,并运行 openprd quality . --learn --from <diagnostics-dir> 更新项目经验。"
|
|
128
|
-
]
|
|
129
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"title": "Inspect src/workspace-core.js"
|
|
4
|
-
},
|
|
5
|
-
{
|
|
6
|
-
"title": "Inspect src/openprd.js"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"title": "Inspect src/fleet.js"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"title": "Inspect src/standards.js"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"title": "Inspect test/helpers/openprd-test-helpers.js"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"title": "Inspect test/openprd-run-fleet.test.js"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"title": "Inspect test/openprd-quality-standards.test.js"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"title": "Inspect test/openprd-agent-integration.test.js"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"title": "Inspect test/openprd-benchmark-knowledge.test.js"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"title": "Inspect test/openprd.test.js"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"title": "Inspect test/openprd-workspace-flow.test.js"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"title": "Inspect test/openprd-discovery-changes.test.js"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"title": "Inspect test/openprd-github-release.test.js"
|
|
40
|
-
}
|
|
41
|
-
]
|
package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/timeline.json
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"event": "run-verify",
|
|
4
|
-
"message": "run verify passed",
|
|
5
|
-
"status": "pass",
|
|
6
|
-
"at": "2026-06-05 09:05:29"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"event": "dev-check",
|
|
10
|
-
"message": "dev-check attention=9, warning=1",
|
|
11
|
-
"status": "pass",
|
|
12
|
-
"at": "2026-06-05 09:04:20"
|
|
13
|
-
}
|
|
14
|
-
]
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758
|
|
3
|
-
description: OpenPrd 在本轮回顾时自动生成的待确认项目经验草案。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758
|
|
7
|
-
|
|
8
|
-
> 状态:draft
|
|
9
|
-
> 候选目录:`.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758`
|
|
10
|
-
> Promote:`openprd quality . --learn --from .openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758`
|
|
11
|
-
|
|
12
|
-
## 为什么值得沉淀
|
|
13
|
-
|
|
14
|
-
- 本轮结果里已经出现可复用的症状、排查线索或根因模式,不应该只留在当前对话里。
|
|
15
|
-
- 这次改动直接影响 Agent / harness / hook / skill 行为,后续很容易再次踩到同类判断问题。
|
|
16
|
-
- 这次修复已经带有验证或收尾证据,适合尽快抽象成项目级研发经验。
|
|
17
|
-
- 症状: 本轮项目回顾
|
|
18
|
-
- run-verify: run verify passed
|
|
19
|
-
- dev-check: dev-check attention=9, warning=1 | touched: src/workspace-core.js, src/openprd.js, src/fleet.js, src/standards.js, test/helpers/openprd-test-helpers.js, test/openprd-run-fleet.test.js
|
|
20
|
-
|
|
21
|
-
## 下次触发时先看什么
|
|
22
|
-
|
|
23
|
-
- `src/workspace-core.js`
|
|
24
|
-
- `src/openprd.js`
|
|
25
|
-
- `src/fleet.js`
|
|
26
|
-
- `src/standards.js`
|
|
27
|
-
- `test/helpers/openprd-test-helpers.js`
|
|
28
|
-
- `test/openprd-run-fleet.test.js`
|
|
29
|
-
- `test/openprd-quality-standards.test.js`
|
|
30
|
-
- `test/openprd-agent-integration.test.js`
|
|
31
|
-
- `test/openprd-benchmark-knowledge.test.js`
|
|
32
|
-
- `test/openprd.test.js`
|
|
33
|
-
- `test/openprd-workspace-flow.test.js`
|
|
34
|
-
- `test/openprd-discovery-changes.test.js`
|
|
35
|
-
- `test/openprd-github-release.test.js`
|
|
36
|
-
- `.openprd/harness/turn-state.json`
|
|
37
|
-
|
|
38
|
-
## 可复用模式
|
|
39
|
-
|
|
40
|
-
- 先按本轮诊断线索复走一次,再补最小必要证据。
|
|
41
|
-
|
|
42
|
-
## 验证方式
|
|
43
|
-
|
|
44
|
-
- run verify passed
|
|
45
|
-
- dev-check attention=9, warning=1
|
|
46
|
-
- 复现一次同类路径,确认新的诊断包仍能导出 runtime-events、timeline、root-cause-candidates 和 diagnostic-report。
|
|
47
|
-
- 重点核对 run-verify -> quality-verify -> dev-check 的顺序是否符合预期。
|
|
48
|
-
- 修复后再次执行同一路径,确认时间线不再在历史失败断点中断。
|
|
49
|
-
- 把最终诊断包与质量报告一起归档,确保后续 Agent 能直接复用已有排查路径。
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"updatedAt": "2026-06-05 09:05:29",
|
|
4
|
-
"incidents": [
|
|
5
|
-
{
|
|
6
|
-
"incidentId": "incident-candidate-turn-1780116203372-5f266a79e968c758",
|
|
7
|
-
"path": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/knowledge/incidents/incident-candidate-turn-1780116203372-5f266a79e968c758.json",
|
|
8
|
-
"sourceKind": "diagnostic-bundle",
|
|
9
|
-
"sourceRef": "candidate-turn-1780116203372-5f266a79e968c758"
|
|
10
|
-
}
|
|
11
|
-
],
|
|
12
|
-
"patterns": [
|
|
13
|
-
{
|
|
14
|
-
"patternId": "diagnostic-candidate-turn-1780116203372-5f266a79e968c758",
|
|
15
|
-
"path": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/knowledge/patterns/diagnostic-candidate-turn-1780116203372-5f266a79e968c758.json",
|
|
16
|
-
"sourceKind": "diagnostic-bundle",
|
|
17
|
-
"sourceRef": "candidate-turn-1780116203372-5f266a79e968c758"
|
|
18
|
-
}
|
|
19
|
-
],
|
|
20
|
-
"skills": [
|
|
21
|
-
{
|
|
22
|
-
"skillName": "openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758",
|
|
23
|
-
"path": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/knowledge/skills/openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758/SKILL.md",
|
|
24
|
-
"sourceKind": "diagnostic-bundle",
|
|
25
|
-
"sourceRef": "candidate-turn-1780116203372-5f266a79e968c758"
|
|
26
|
-
}
|
|
27
|
-
],
|
|
28
|
-
"candidates": [
|
|
29
|
-
{
|
|
30
|
-
"candidateId": "candidate-turn-1780116203372-5f266a79e968c758",
|
|
31
|
-
"status": "promoted",
|
|
32
|
-
"path": "/Users/chaojifeng/Projects/harness-engineer/.worktrees/openprd-release-0.1.5-publish/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/candidate.json",
|
|
33
|
-
"sourceKind": "diagnostic-report",
|
|
34
|
-
"sourceRef": "candidate-turn-1780116203372-5f266a79e968c758",
|
|
35
|
-
"title": "本轮项目回顾",
|
|
36
|
-
"draftSkillPath": "/Users/chaojifeng/Projects/harness-engineer/.worktrees/openprd-release-0.1.5-publish/.openprd/knowledge/drafts/openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758/SKILL.md"
|
|
37
|
-
}
|
|
38
|
-
],
|
|
39
|
-
"drafts": [
|
|
40
|
-
{
|
|
41
|
-
"skillName": "openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758",
|
|
42
|
-
"path": "/Users/chaojifeng/Projects/harness-engineer/.worktrees/openprd-release-0.1.5-publish/.openprd/knowledge/drafts/openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758/SKILL.md",
|
|
43
|
-
"candidateId": "candidate-turn-1780116203372-5f266a79e968c758",
|
|
44
|
-
"status": "promoted"
|
|
45
|
-
}
|
|
46
|
-
]
|
|
47
|
-
}
|