@openprd/cli 0.1.0
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/README.md +82 -0
- package/.openprd/benchmarks/evidence/milvus-io-ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-code.md +14 -0
- package/.openprd/benchmarks/evidence/nolanlawson-com-using-ai-to-write-better-code-more-slowly.md +14 -0
- package/.openprd/benchmarks/index.md +37 -0
- package/.openprd/benchmarks/sources.yaml +56 -0
- package/.openprd/config.yaml +50 -0
- package/.openprd/discovery/config.json +21 -0
- package/.openprd/engagements/active/flows.md +30 -0
- package/.openprd/engagements/active/handoff.md +9 -0
- package/.openprd/engagements/active/intake.md +15 -0
- package/.openprd/engagements/active/prd.md +161 -0
- package/.openprd/engagements/active/review.html +61 -0
- package/.openprd/engagements/active/roles.md +21 -0
- package/.openprd/engagements/work-units/wu-20260524015648-6d33ded7.json +23 -0
- package/.openprd/exports/.gitkeep +0 -0
- package/.openprd/knowledge/index.json +7 -0
- package/.openprd/quality/config.json +229 -0
- package/.openprd/reviews/v0001.html +1256 -0
- package/.openprd/schema/diagram-architecture.schema.yaml +49 -0
- package/.openprd/schema/diagram-product-flow.schema.yaml +52 -0
- package/.openprd/schema/prd.schema.yaml +121 -0
- package/.openprd/sessions/.gitkeep +0 -0
- package/.openprd/standards/config.json +88 -0
- package/.openprd/standards/file-manual-template.md +28 -0
- package/.openprd/standards/folder-readme-template.md +28 -0
- package/.openprd/state/.gitkeep +0 -0
- package/.openprd/state/changes.json +12 -0
- package/.openprd/state/current.json +169 -0
- package/.openprd/state/version-index.json +15 -0
- package/.openprd/state/versions/.gitkeep +0 -0
- package/.openprd/state/versions/v0001.json +121 -0
- package/.openprd/state/versions/v0001.md +161 -0
- package/.openprd/templates/agent/intake.md +6 -0
- package/.openprd/templates/agent/prd.md +21 -0
- package/.openprd/templates/b2b/intake.md +6 -0
- package/.openprd/templates/b2b/prd.md +24 -0
- package/.openprd/templates/base/intake.md +18 -0
- package/.openprd/templates/base/prd.md +67 -0
- package/.openprd/templates/company/README.md +10 -0
- package/.openprd/templates/consumer/intake.md +6 -0
- package/.openprd/templates/consumer/prd.md +19 -0
- package/.openprd/templates/diagram/architecture.contract.json +53 -0
- package/.openprd/templates/diagram/product-flow.contract.json +76 -0
- package/.openprd/templates/industry/README.md +16 -0
- package/.openprd/templates/manifest.yaml +27 -0
- package/.openprd/templates/project/README.md +14 -0
- package/.openprd/templates/session/README.md +14 -0
- package/AGENTS.md +44 -0
- package/CONTRIBUTING.md +30 -0
- package/LICENSE +21 -0
- package/README.md +727 -0
- package/README_CN.md +583 -0
- package/SECURITY.md +23 -0
- package/bin/openprd.js +5 -0
- 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-review-html.png +0 -0
- package/docs/assets/openprd-scenario-overview.png +0 -0
- package/docs/assets/openprd-scenario-overview.svg +114 -0
- 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
- package/package.json +59 -0
- package/scripts/openprd-dev-check.mjs +5 -0
- package/scripts/openprd-review-presentation.mjs +82 -0
- package/skills/openprd-benchmark-router/SKILL.md +92 -0
- package/skills/openprd-benchmark-router/agents/openai.yaml +4 -0
- package/skills/openprd-benchmark-router/references/benchmark-sources.md +74 -0
- package/skills/openprd-benchmark-router/references/evaluation-lenses.md +66 -0
- package/skills/openprd-benchmark-router/references/source-policy.md +35 -0
- package/skills/openprd-diagram-review/SKILL.md +91 -0
- package/skills/openprd-diagram-review/agents/openai.yaml +4 -0
- package/skills/openprd-diagram-review/examples/architecture-zh.md +8 -0
- package/skills/openprd-diagram-review/examples/product-flow-zh.md +7 -0
- package/skills/openprd-diagram-review/references/cocoon-patterns.md +17 -0
- package/skills/openprd-diagram-review/references/diagram-contracts.md +126 -0
- package/skills/openprd-diagram-review/references/review-checklist.md +10 -0
- package/skills/openprd-discovery-loop/SKILL.md +196 -0
- package/skills/openprd-discovery-loop/agents/openai.yaml +3 -0
- package/skills/openprd-harness/SKILL.md +179 -0
- package/skills/openprd-harness/agents/openai.yaml +4 -0
- package/skills/openprd-harness/examples/full-workflow-zh.md +9 -0
- package/skills/openprd-harness/references/command-map.md +71 -0
- package/skills/openprd-harness/references/examples.md +26 -0
- package/skills/openprd-harness/references/usage-guide.md +335 -0
- package/skills/openprd-harness/references/workflow-gates.md +51 -0
- package/skills/openprd-learning-review/SKILL.md +75 -0
- package/skills/openprd-learning-review/agents/openai.yaml +4 -0
- package/skills/openprd-learning-review/references/content-contract.md +125 -0
- package/skills/openprd-learning-review/references/ebook-reader.md +46 -0
- package/skills/openprd-learning-review/references/evidence-manifest.md +55 -0
- package/skills/openprd-learning-review/references/genre-library.md +43 -0
- package/skills/openprd-learning-review/references/prompt-engineering.md +71 -0
- package/skills/openprd-learning-review/references/quality-rubric.md +28 -0
- package/skills/openprd-learning-review/references/retrieval-worked-example.md +40 -0
- package/skills/openprd-learning-review/references/style-packs/xianxia-cultivation.prompt.md +67 -0
- package/skills/openprd-quality/SKILL.md +101 -0
- package/skills/openprd-requirement-intake/SKILL.md +76 -0
- package/skills/openprd-requirement-intake/agents/openai.yaml +4 -0
- package/skills/openprd-requirement-intake/references/prd-template-lenses.md +105 -0
- package/skills/openprd-requirement-intake/references/routing-rubric.md +64 -0
- package/skills/openprd-router/SKILL.md +40 -0
- package/skills/openprd-shared/SKILL.md +142 -0
- package/skills/openprd-shared/agents/openai.yaml +4 -0
- package/skills/openprd-shared/references/language-and-review.md +50 -0
- package/skills/openprd-shared/references/operating-rules.md +65 -0
- package/skills/openprd-shared/references/skill-architecture.md +70 -0
- package/skills/openprd-standards/SKILL.md +79 -0
- package/skills/openprd-standards/agents/openai.yaml +4 -0
- package/src/agent-integration.js +1717 -0
- package/src/benchmark.js +873 -0
- package/src/cli/args.js +460 -0
- package/src/cli/print.js +1423 -0
- package/src/codex-hook-runner-template.mjs +2422 -0
- package/src/dev-standards.js +372 -0
- package/src/diagram-core.js +1047 -0
- package/src/diagram-workspace.js +262 -0
- package/src/discovery.js +709 -0
- package/src/fleet.js +531 -0
- package/src/fs-utils.js +83 -0
- package/src/growth.js +545 -0
- package/src/html-artifacts.js +3803 -0
- package/src/knowledge.js +668 -0
- package/src/language-policy.js +142 -0
- package/src/learning-review.js +1655 -0
- package/src/loop.js +1290 -0
- package/src/openprd.js +1136 -0
- package/src/openspec/change-lifecycle.js +359 -0
- package/src/openspec/change-validate.js +248 -0
- package/src/openspec/constants.js +12 -0
- package/src/openspec/execute.js +300 -0
- package/src/openspec/generate.js +692 -0
- package/src/openspec/paths.js +111 -0
- package/src/openspec/tasks.js +352 -0
- package/src/prd-core.js +656 -0
- package/src/quality-html-artifact.js +1414 -0
- package/src/quality-learning.js +658 -0
- package/src/quality.js +1262 -0
- package/src/review-presentation.js +240 -0
- package/src/run-harness.js +1470 -0
- package/src/self-update.js +329 -0
- package/src/session-binding.js +140 -0
- package/src/source-inventory.js +224 -0
- package/src/standards.js +914 -0
- package/src/time.js +33 -0
- package/src/visual-compare.js +216 -0
- package/src/work-unit-migration.js +232 -0
- package/src/work-unit.js +88 -0
- package/src/workspace-core.js +1706 -0
- package/src/workspace-registry.js +162 -0
- package/src/workspace-workflow.js +1797 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# OpenPrd Workspace
|
|
2
|
+
|
|
3
|
+
`.openprd/` is the project-local source of truth for discovery, PRD synthesis, validation, freeze, and handoff.
|
|
4
|
+
|
|
5
|
+
## Lifecycle
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
classify -> interview -> synthesize -> validate -> freeze -> handoff
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What Lives Here
|
|
12
|
+
|
|
13
|
+
- `config.yaml` - runtime defaults and workflow policy
|
|
14
|
+
- `schema/` - canonical PRD schema and validation rules
|
|
15
|
+
- `schema/diagram-architecture.schema.yaml` - minimal contract schema for architecture diagrams
|
|
16
|
+
- `schema/diagram-product-flow.schema.yaml` - minimal contract schema for product flow diagrams
|
|
17
|
+
- `templates/` - starter packs and registry
|
|
18
|
+
- `templates/diagram/` - contract templates for diagram artifacts
|
|
19
|
+
- `standards/` - project standards contract and manual templates
|
|
20
|
+
- `engagements/active/` - default active PRD draft, flow, role, and handoff docs
|
|
21
|
+
- `engagements/active/decision-log.md` - durable decision history
|
|
22
|
+
- `engagements/active/open-questions.md` - unresolved questions and discovery gaps
|
|
23
|
+
- `engagements/active/progress.md` - append-only execution progress
|
|
24
|
+
- `engagements/active/verification.md` - freeze and validation evidence
|
|
25
|
+
- `engagements/active/architecture-diagram.html` - reviewable architecture diagram artifact
|
|
26
|
+
- `engagements/active/architecture-diagram.json` - structured diagram contract for iteration
|
|
27
|
+
- `engagements/active/product-flow-diagram.html` - reviewable product flow diagram artifact
|
|
28
|
+
- `engagements/active/product-flow-diagram.json` - structured product flow contract for iteration
|
|
29
|
+
- `artifacts/active/` - HTML + Markdown + patch bundles for human-in-the-loop review and playground workflows
|
|
30
|
+
- `artifacts/archive/` - archived artifact bundles after demand review or handoff
|
|
31
|
+
- `state/` - runtime status, version index, freeze snapshots, session metadata, and execution graph
|
|
32
|
+
- `state/task-graph.json` - workflow/task graph, blockers, and next-ready node
|
|
33
|
+
- `state/events.jsonl` - append-only lifecycle event stream
|
|
34
|
+
- `state/versions/` - immutable version snapshots
|
|
35
|
+
- `sessions/` - per-engagement working state
|
|
36
|
+
- `exports/` - downstream outputs such as OpenSpec handoff bundles
|
|
37
|
+
|
|
38
|
+
## Template Layers
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
base -> industry -> company -> project -> session
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Rules:
|
|
45
|
+
|
|
46
|
+
- Core PRD fields are fixed.
|
|
47
|
+
- Template layers may add or reorder sections.
|
|
48
|
+
- Template layers may not remove required semantics.
|
|
49
|
+
- The active engagement is the working draft that evolves over time.
|
|
50
|
+
- `classify` sets the product type; `interview` loads discovery prompts.
|
|
51
|
+
- `next` recommends the next action and discovery questions.
|
|
52
|
+
- `synthesize` writes a new versioned PRD snapshot.
|
|
53
|
+
- HTML review and playground artifacts should be paired with a markdown data source and a machine-readable capture patch.
|
|
54
|
+
- `diff` compares version snapshots.
|
|
55
|
+
- `history` lists the version index.
|
|
56
|
+
- Freeze requires validation to pass.
|
|
57
|
+
- `standards` verifies `docs/basic/`, file manual templates, and folder README templates.
|
|
58
|
+
|
|
59
|
+
## Project Standards
|
|
60
|
+
|
|
61
|
+
The canonical project baseline docs path is `docs/basic/`.
|
|
62
|
+
|
|
63
|
+
Required docs:
|
|
64
|
+
|
|
65
|
+
- `docs/basic/file-structure.md`
|
|
66
|
+
- `docs/basic/app-flow.md`
|
|
67
|
+
- `docs/basic/prd.md`
|
|
68
|
+
- `docs/basic/frontend-guidelines.md`
|
|
69
|
+
- `docs/basic/backend-structure.md`
|
|
70
|
+
- `docs/basic/tech-stack.md`
|
|
71
|
+
|
|
72
|
+
Use `openprd standards <path> --verify` before reporting a change as ready.
|
|
73
|
+
|
|
74
|
+
## Supported Product Types
|
|
75
|
+
|
|
76
|
+
- `consumer`
|
|
77
|
+
- `b2b`
|
|
78
|
+
- `agent`
|
|
79
|
+
|
|
80
|
+
## Handoff Principle
|
|
81
|
+
|
|
82
|
+
The goal is not only to write a PRD. The goal is to keep a PRD alive as the product evolves, and to export a stable handoff package when execution starts.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# milvus.io/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md
|
|
2
|
+
|
|
3
|
+
- ID: milvus-io-ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-code
|
|
4
|
+
- 状态: approved
|
|
5
|
+
- 场景: agent-harness, pr-review-harness
|
|
6
|
+
- 触发: 设计 Agent harness、长程任务、状态持久化、验证门禁或人工接管;设计 merge 前高风险复核、独立 reviewer 交叉验证、误报过滤、reviewer agreement 或 merge recommendation
|
|
7
|
+
- 不适用: 普通 PRD / 产品流程设计;与 CLI 无关的一次性 UI 视觉问题;默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
8
|
+
- 研究方式: official_page_first
|
|
9
|
+
- 来源: https://milvus.io/ar/blog/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md
|
|
10
|
+
|
|
11
|
+
## 备注
|
|
12
|
+
|
|
13
|
+
AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge recommendation
|
|
14
|
+
|
package/.openprd/benchmarks/evidence/nolanlawson-com-using-ai-to-write-better-code-more-slowly.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# nolanlawson.com/using-ai-to-write-better-code-more-slowly
|
|
2
|
+
|
|
3
|
+
- ID: nolanlawson-com-using-ai-to-write-better-code-more-slowly
|
|
4
|
+
- 状态: approved
|
|
5
|
+
- 场景: agent-harness, pr-review-harness
|
|
6
|
+
- 触发: 设计 Agent harness、长程任务、状态持久化、验证门禁或人工接管;设计 merge 前高风险复核、独立 reviewer 交叉验证、误报过滤、reviewer agreement 或 merge recommendation
|
|
7
|
+
- 不适用: 普通 PRD / 产品流程设计;与 CLI 无关的一次性 UI 视觉问题;默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
8
|
+
- 研究方式: official_page_first
|
|
9
|
+
- 来源: https://nolanlawson.com/2026/05/25/using-ai-to-write-better-code-more-slowly/
|
|
10
|
+
|
|
11
|
+
## 备注
|
|
12
|
+
|
|
13
|
+
AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge recommendation
|
|
14
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# OpenPrd Benchmark Registry
|
|
2
|
+
|
|
3
|
+
## 规则
|
|
4
|
+
|
|
5
|
+
- 项目级 approved benchmark 优先于 OpenPrd 内置 Source Map。
|
|
6
|
+
- `inbox/` 里的 candidate 只表示待确认线索,不表示长期最佳实践。
|
|
7
|
+
- 每次只挑 1-3 个高相关来源;来源目录不是事实来源。
|
|
8
|
+
|
|
9
|
+
## Approved Sources
|
|
10
|
+
|
|
11
|
+
### milvus.io/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md `milvus-io-ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-code`
|
|
12
|
+
|
|
13
|
+
- 状态: approved
|
|
14
|
+
- 来源类型: engineering-article
|
|
15
|
+
- 场景: agent-harness, pr-review-harness
|
|
16
|
+
- 触发: 设计 Agent harness、长程任务、状态持久化、验证门禁或人工接管;设计 merge 前高风险复核、独立 reviewer 交叉验证、误报过滤、reviewer agreement 或 merge recommendation
|
|
17
|
+
- 不适用: 普通 PRD / 产品流程设计;与 CLI 无关的一次性 UI 视觉问题;默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
18
|
+
- 研究方式: official_page_first
|
|
19
|
+
- 来源: https://milvus.io/ar/blog/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md
|
|
20
|
+
- 备注: AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge recommendation
|
|
21
|
+
- 价值: AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge recommendation
|
|
22
|
+
|
|
23
|
+
### nolanlawson.com/using-ai-to-write-better-code-more-slowly `nolanlawson-com-using-ai-to-write-better-code-more-slowly`
|
|
24
|
+
|
|
25
|
+
- 状态: approved
|
|
26
|
+
- 来源类型: web
|
|
27
|
+
- 场景: agent-harness, pr-review-harness
|
|
28
|
+
- 触发: 设计 Agent harness、长程任务、状态持久化、验证门禁或人工接管;设计 merge 前高风险复核、独立 reviewer 交叉验证、误报过滤、reviewer agreement 或 merge recommendation
|
|
29
|
+
- 不适用: 普通 PRD / 产品流程设计;与 CLI 无关的一次性 UI 视觉问题;默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
30
|
+
- 研究方式: official_page_first
|
|
31
|
+
- 来源: https://nolanlawson.com/2026/05/25/using-ai-to-write-better-code-more-slowly/
|
|
32
|
+
- 备注: AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge recommendation
|
|
33
|
+
- 价值: AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge recommendation
|
|
34
|
+
|
|
35
|
+
## Candidate Sources
|
|
36
|
+
|
|
37
|
+
- 暂无待确认来源。
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
schema: openprd.benchmarks.v1
|
|
3
|
+
updatedAt: 2026-05-28 11:30:07
|
|
4
|
+
sources:
|
|
5
|
+
- id: milvus-io-ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-code
|
|
6
|
+
title: milvus.io/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md
|
|
7
|
+
scope: project
|
|
8
|
+
status: approved
|
|
9
|
+
sourceType: engineering-article
|
|
10
|
+
url: https://milvus.io/ar/blog/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md
|
|
11
|
+
path: null
|
|
12
|
+
repo: null
|
|
13
|
+
researchMethod: official_page_first
|
|
14
|
+
scenarios:
|
|
15
|
+
- agent-harness
|
|
16
|
+
- pr-review-harness
|
|
17
|
+
triggerWhen:
|
|
18
|
+
- 设计 Agent harness、长程任务、状态持久化、验证门禁或人工接管
|
|
19
|
+
- 设计 merge 前高风险复核、独立 reviewer 交叉验证、误报过滤、reviewer agreement 或 merge recommendation
|
|
20
|
+
notFor:
|
|
21
|
+
- 普通 PRD / 产品流程设计
|
|
22
|
+
- 与 CLI 无关的一次性 UI 视觉问题
|
|
23
|
+
- 默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
24
|
+
note: AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge
|
|
25
|
+
recommendation
|
|
26
|
+
value: AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge
|
|
27
|
+
recommendation
|
|
28
|
+
addedAt: 2026-05-28 11:01:00
|
|
29
|
+
approvedAt: 2026-05-28 11:01:06
|
|
30
|
+
lastVerified: 2026-05-28 11:30:06
|
|
31
|
+
- id: nolanlawson-com-using-ai-to-write-better-code-more-slowly
|
|
32
|
+
title: nolanlawson.com/using-ai-to-write-better-code-more-slowly
|
|
33
|
+
scope: project
|
|
34
|
+
status: approved
|
|
35
|
+
sourceType: web
|
|
36
|
+
url: https://nolanlawson.com/2026/05/25/using-ai-to-write-better-code-more-slowly/
|
|
37
|
+
path: null
|
|
38
|
+
repo: null
|
|
39
|
+
researchMethod: official_page_first
|
|
40
|
+
scenarios:
|
|
41
|
+
- agent-harness
|
|
42
|
+
- pr-review-harness
|
|
43
|
+
triggerWhen:
|
|
44
|
+
- 设计 Agent harness、长程任务、状态持久化、验证门禁或人工接管
|
|
45
|
+
- 设计 merge 前高风险复核、独立 reviewer 交叉验证、误报过滤、reviewer agreement 或 merge recommendation
|
|
46
|
+
notFor:
|
|
47
|
+
- 普通 PRD / 产品流程设计
|
|
48
|
+
- 与 CLI 无关的一次性 UI 视觉问题
|
|
49
|
+
- 默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
50
|
+
note: AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge
|
|
51
|
+
recommendation
|
|
52
|
+
value: AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge
|
|
53
|
+
recommendation
|
|
54
|
+
addedAt: 2026-05-28 11:00:52
|
|
55
|
+
approvedAt: 2026-05-28 11:01:06
|
|
56
|
+
lastVerified: 2026-05-28 11:30:07
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
schema: prd-core
|
|
3
|
+
activeTemplatePack: base
|
|
4
|
+
supportedProductTypes:
|
|
5
|
+
- consumer
|
|
6
|
+
- b2b
|
|
7
|
+
- agent
|
|
8
|
+
templateInheritance:
|
|
9
|
+
- base
|
|
10
|
+
- industry
|
|
11
|
+
- company
|
|
12
|
+
- project
|
|
13
|
+
- session
|
|
14
|
+
workflow:
|
|
15
|
+
discovery:
|
|
16
|
+
steps:
|
|
17
|
+
- classify
|
|
18
|
+
- interview
|
|
19
|
+
- synthesize
|
|
20
|
+
- standards
|
|
21
|
+
- validate
|
|
22
|
+
- freeze
|
|
23
|
+
handoff:
|
|
24
|
+
target: openspec
|
|
25
|
+
learningReview:
|
|
26
|
+
enabled: true
|
|
27
|
+
autoOpen: true
|
|
28
|
+
defaultGenre: internet-product
|
|
29
|
+
sourceScope: workspace
|
|
30
|
+
quality:
|
|
31
|
+
enabled: true
|
|
32
|
+
command: openprd quality . --verify
|
|
33
|
+
reportFormat: html
|
|
34
|
+
qualityGates:
|
|
35
|
+
standards:
|
|
36
|
+
docsRoot: docs/basic
|
|
37
|
+
command: openprd standards . --verify
|
|
38
|
+
quality:
|
|
39
|
+
command: openprd quality . --verify
|
|
40
|
+
enforcement: advisory
|
|
41
|
+
freezeRequires:
|
|
42
|
+
- meta
|
|
43
|
+
- problem
|
|
44
|
+
- users
|
|
45
|
+
- goals
|
|
46
|
+
- scope
|
|
47
|
+
- scenarios
|
|
48
|
+
- requirements
|
|
49
|
+
- constraints
|
|
50
|
+
- risks
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"activeChange": "verify-boundaries-and-historical-refresh",
|
|
3
|
+
"taskSharding": {
|
|
4
|
+
"maxItemsPerFile": 25,
|
|
5
|
+
"handoffRequired": true,
|
|
6
|
+
"firstFile": "tasks.md",
|
|
7
|
+
"nextFilePattern": "tasks-###.md"
|
|
8
|
+
},
|
|
9
|
+
"taskMetadata": {
|
|
10
|
+
"stableIdPattern": "T###.##",
|
|
11
|
+
"required": [
|
|
12
|
+
"done",
|
|
13
|
+
"verify"
|
|
14
|
+
],
|
|
15
|
+
"optional": [
|
|
16
|
+
"deps",
|
|
17
|
+
"type"
|
|
18
|
+
],
|
|
19
|
+
"dependencyOrder": "dependencies must appear before dependents"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# 流程
|
|
2
|
+
|
|
3
|
+
## 主流程
|
|
4
|
+
|
|
5
|
+
- 维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项目主验证状态;仓库中存在 research、toolkit-sources、marketplace-candidates 等参考目录时,默认不会被当成本项目源码说明书缺口直接淹没结果;维护者可以继续按需显式 classify-external。
|
|
6
|
+
|
|
7
|
+
## Mermaid 流程图
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart LR
|
|
11
|
+
entry["入口触发<br/>维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项…"]
|
|
12
|
+
experience["产品内步骤<br/>修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项…"]
|
|
13
|
+
decision{"决策点<br/>边界情况仍需澄清"}
|
|
14
|
+
success(["成功结果<br/>存在 reference discovery 时 openprd run . --context 不再默认展示它"])
|
|
15
|
+
failure[["失败与恢复<br/>reference discovery 仍然混入 run context 或 run verify"]]
|
|
16
|
+
entry -->|"维护者运行 openprd run . --context 或 openprd r…"| experience
|
|
17
|
+
experience -->|"系统处理请求"| decision
|
|
18
|
+
decision -->|"让主验证只关注当前项目源码和当前实现门禁"| success
|
|
19
|
+
decision -.->|"reference discovery 仍然混入 run context 或 ru…"| failure
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 边界情况
|
|
23
|
+
|
|
24
|
+
- 待补充
|
|
25
|
+
|
|
26
|
+
## 失败模式
|
|
27
|
+
|
|
28
|
+
- reference discovery 仍然混入 run context 或 run verify
|
|
29
|
+
- standards verify 继续被 research 或 toolkit-sources 之类参考目录的说明书缺口淹没
|
|
30
|
+
- fleet 更新后历史项目仍保留旧的 verify 噪音行为
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Verify 边界与历史项目刷新
|
|
2
|
+
> 语言规则:除 PRD、OpenPrd、OpenSpec、API、SDK、CLI、TypeScript、JSON、HTTP、WebSocket、字段 key、命令名、产品名和协议名等必要专有名词外,用户可见内容应使用简体中文。
|
|
3
|
+
- 版本: v0001
|
|
4
|
+
- 负责人: Codex
|
|
5
|
+
- 产品类型: agent
|
|
6
|
+
- 模板包: agent
|
|
7
|
+
- 状态: synthesized
|
|
8
|
+
- 生成时间: 2026-05-24 01:56:48
|
|
9
|
+
## 元信息
|
|
10
|
+
|
|
11
|
+
- 标题: Verify 边界与历史项目刷新
|
|
12
|
+
- 负责人: Codex
|
|
13
|
+
- 状态: classified
|
|
14
|
+
- 版本: v0001
|
|
15
|
+
- 产品类型: agent
|
|
16
|
+
- 日期: 2026-05-24
|
|
17
|
+
|
|
18
|
+
## 问题
|
|
19
|
+
|
|
20
|
+
- 问题陈述: 修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项目生成物。
|
|
21
|
+
- 为什么是现在: 历史项目的 verify 正在被参考目录噪音阻塞,需要尽快恢复 run/verify 的可信度。
|
|
22
|
+
- 证据:
|
|
23
|
+
- 待补充
|
|
24
|
+
|
|
25
|
+
## 用户与相关方
|
|
26
|
+
|
|
27
|
+
- 主要用户:
|
|
28
|
+
- 维护 OpenPrd 的 Agent 工程师
|
|
29
|
+
- 使用 OpenPrd 管理历史项目的项目维护者
|
|
30
|
+
- 次要用户:
|
|
31
|
+
- 待补充
|
|
32
|
+
- 相关方:
|
|
33
|
+
- 待补充
|
|
34
|
+
|
|
35
|
+
## 目标与成功标准
|
|
36
|
+
|
|
37
|
+
- 目标:
|
|
38
|
+
- 让主验证只关注当前项目源码和当前实现门禁
|
|
39
|
+
- 让历史项目刷新后默认获得更干净的 verify 体验
|
|
40
|
+
- 成功指标:
|
|
41
|
+
- 存在 reference discovery 时 openprd run . --context 不再默认展示它
|
|
42
|
+
- 仓库内常见外部参考目录在未人工归类前不再直接把 standards verify 阻塞成大面积说明书噪音
|
|
43
|
+
- openprd fleet 更新后历史项目生成物包含这次修复
|
|
44
|
+
- 验收目标:
|
|
45
|
+
- run/verify 的默认结果不再把 reference discovery 或明显外部参考目录当成主门禁噪音
|
|
46
|
+
- 历史项目刷新后生成物能承接这次边界修复
|
|
47
|
+
- 对需要人工确认的 external reference 仍保留显式 classify-external 路径
|
|
48
|
+
|
|
49
|
+
## 范围与非目标
|
|
50
|
+
|
|
51
|
+
- 范围内:
|
|
52
|
+
- 调整 run context 与 run verify 对 discovery 的纳入规则
|
|
53
|
+
- 调整 standards/source-manual 默认对明显外部参考目录的处理策略
|
|
54
|
+
- 为历史项目执行 openprd fleet 更新与必要回填
|
|
55
|
+
- 范围外:
|
|
56
|
+
- 不自动替每个历史项目猜测所有业务目录的 externalReferences 清单
|
|
57
|
+
- 不修改历史项目的业务代码或需求内容
|
|
58
|
+
- 不把人工确认 external reference 的能力删除
|
|
59
|
+
|
|
60
|
+
## 场景与流程
|
|
61
|
+
|
|
62
|
+
- 主流程:
|
|
63
|
+
- 维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项目主验证状态;仓库中存在 research、toolkit-sources、marketplace-candidates 等参考目录时,默认不会被当成本项目源码说明书缺口直接淹没结果;维护者可以继续按需显式 classify-external。
|
|
64
|
+
- 边界情况:
|
|
65
|
+
- 待补充
|
|
66
|
+
- 失败模式:
|
|
67
|
+
- reference discovery 仍然混入 run context 或 run verify
|
|
68
|
+
- standards verify 继续被 research 或 toolkit-sources 之类参考目录的说明书缺口淹没
|
|
69
|
+
- fleet 更新后历史项目仍保留旧的 verify 噪音行为
|
|
70
|
+
|
|
71
|
+
## 可视化图表
|
|
72
|
+
|
|
73
|
+
### 产品流程
|
|
74
|
+
|
|
75
|
+
```mermaid
|
|
76
|
+
flowchart LR
|
|
77
|
+
entry["入口触发<br/>维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项…"]
|
|
78
|
+
experience["产品内步骤<br/>修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项…"]
|
|
79
|
+
decision{"决策点<br/>边界情况仍需澄清"}
|
|
80
|
+
success(["成功结果<br/>存在 reference discovery 时 openprd run . --context 不再默认展示它"])
|
|
81
|
+
failure[["失败与恢复<br/>reference discovery 仍然混入 run context 或 run verify"]]
|
|
82
|
+
entry -->|"维护者运行 openprd run . --context 或 openprd r…"| experience
|
|
83
|
+
experience -->|"系统处理请求"| decision
|
|
84
|
+
decision -->|"让主验证只关注当前项目源码和当前实现门禁"| success
|
|
85
|
+
decision -.->|"reference discovery 仍然混入 run context 或 ru…"| failure
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 架构
|
|
89
|
+
|
|
90
|
+
```mermaid
|
|
91
|
+
flowchart LR
|
|
92
|
+
users["主要用户<br/>维护 OpenPrd 的 Agent 工程师 · 使用 OpenPrd 管理历史项目的项目维护者"]
|
|
93
|
+
subgraph solution["方案边界"]
|
|
94
|
+
experience["Agent 运行层<br/>维护者运行 openprd run . --context 或 openprd run . --verify 时,只看到当前项…"]
|
|
95
|
+
core["核心产品逻辑<br/>修复 OpenPrd verify 边界,避免外部参考目录和 reference discovery 污染主验证,并刷新历史项…"]
|
|
96
|
+
integrations["依赖与集成<br/>暂无外部依赖记录"]
|
|
97
|
+
governance[["约束与可靠性<br/>暂无明确约束"]]
|
|
98
|
+
delivery["验证与交接<br/>存在 reference discovery 时 openprd run . --context 不再默认展示它 · 仓库内常…"]
|
|
99
|
+
end
|
|
100
|
+
users -->|"维护者运行 openprd run . --context 或 openprd…"| experience
|
|
101
|
+
experience -->|"产品动作与编排"| core
|
|
102
|
+
core -->|"依赖与外部服务"| integrations
|
|
103
|
+
core -.->|"策略、可靠性与合规"| governance
|
|
104
|
+
core -->|"成功标准与交接"| delivery
|
|
105
|
+
integrations -->|"运营就绪"| delivery
|
|
106
|
+
governance -.->|"评审与确认"| delivery
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 需求
|
|
110
|
+
|
|
111
|
+
- 功能需求:
|
|
112
|
+
- 待补充
|
|
113
|
+
- 非功能需求:
|
|
114
|
+
- 待补充
|
|
115
|
+
- 业务规则:
|
|
116
|
+
- 待补充
|
|
117
|
+
|
|
118
|
+
## 业务护栏
|
|
119
|
+
|
|
120
|
+
- 成本来源:
|
|
121
|
+
- 待补充
|
|
122
|
+
- 额度与限制:
|
|
123
|
+
- 待补充
|
|
124
|
+
- 滥用防护:
|
|
125
|
+
- 待补充
|
|
126
|
+
- 监控信号:
|
|
127
|
+
- 待补充
|
|
128
|
+
- 报警阈值:
|
|
129
|
+
- 待补充
|
|
130
|
+
- 止损动作:
|
|
131
|
+
- 待补充
|
|
132
|
+
|
|
133
|
+
## 约束、依赖与风险
|
|
134
|
+
|
|
135
|
+
- 技术约束:
|
|
136
|
+
- 待补充
|
|
137
|
+
- 合规要求:
|
|
138
|
+
- 待补充
|
|
139
|
+
- 依赖:
|
|
140
|
+
- 待补充
|
|
141
|
+
- 假设:
|
|
142
|
+
- 待补充
|
|
143
|
+
- 风险:
|
|
144
|
+
- 待补充
|
|
145
|
+
- 开放问题:
|
|
146
|
+
- 本次只收敛默认边界,不自动猜测每个历史项目全部 external reference 清单;如果某些项目还需要更细的目录级归类,仍由维护者显式确认和补充
|
|
147
|
+
|
|
148
|
+
## 类型专项模块
|
|
149
|
+
|
|
150
|
+
- 类型: Agent 专项
|
|
151
|
+
- humanAgentContract: Agent 可以识别并提示 reference discovery 与外部参考目录边界,但把目录正式归类为 external reference 仍需要人确认;批量刷新历史项目可以自动执行。
|
|
152
|
+
- autonomyBoundary: Agent 可以修改 OpenPrd CLI、补测试、更新文档、运行 fleet dry-run 与 update-openprd/backfill-work-units,并验证结果;不得静默把任意历史目录永久归类为 external reference。
|
|
153
|
+
- toolBoundary: 使用本地代码检索、OpenPrd CLI、自带测试、fleet 更新、doctor 与 verify 完成实现和验证;本次不需要外部第三方文档调研。
|
|
154
|
+
- stateModel: 需要保留三类状态:当前项目源码验证状态、reference discovery 状态、standards external reference 显式配置;主 run/verify 只默认消费第一类,其他两类按边界显式暴露。
|
|
155
|
+
- evalPlan: 通过针对 run-harness、standards 和 fleet 的单测与集成验证评估;再用历史项目 dry-run 与 update-openprd/backfill-work-units 验证刷新结果。
|
|
156
|
+
|
|
157
|
+
## 交接
|
|
158
|
+
|
|
159
|
+
- 负责人: Codex
|
|
160
|
+
- 下一步: 评审已生成的 PRD,并准备交接。
|
|
161
|
+
- 目标系统: OpenSpec
|
|
@@ -0,0 +1,61 @@
|
|
|
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/v0001.html" />
|
|
7
|
+
<title>Verify 边界与历史项目刷新 / 评审入口</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>Verify 边界与历史项目刷新 / 评审入口</h1>
|
|
57
|
+
<p>这个入口只保留当前评审稿的固定路径,页面会自动跳转到最新的版本化评审文件。</p>
|
|
58
|
+
<p><a href="../../reviews/v0001.html">如果没有自动跳转,点这里打开评审面板</a></p>
|
|
59
|
+
</main>
|
|
60
|
+
</body>
|
|
61
|
+
</html>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 角色
|
|
2
|
+
|
|
3
|
+
## 用户
|
|
4
|
+
|
|
5
|
+
- 主要用户:
|
|
6
|
+
- 维护 OpenPrd 的 Agent 工程师
|
|
7
|
+
- 使用 OpenPrd 管理历史项目的项目维护者
|
|
8
|
+
|
|
9
|
+
- 次要用户:
|
|
10
|
+
- 待补充
|
|
11
|
+
|
|
12
|
+
- 相关方:
|
|
13
|
+
- 待补充
|
|
14
|
+
|
|
15
|
+
## 类型专项
|
|
16
|
+
|
|
17
|
+
- humanAgentContract: Agent 可以识别并提示 reference discovery 与外部参考目录边界,但把目录正式归类为 external reference 仍需要人确认;批量刷新历史项目可以自动执行。
|
|
18
|
+
- autonomyBoundary: Agent 可以修改 OpenPrd CLI、补测试、更新文档、运行 fleet dry-run 与 update-openprd/backfill-work-units,并验证结果;不得静默把任意历史目录永久归类为 external reference。
|
|
19
|
+
- toolBoundary: 使用本地代码检索、OpenPrd CLI、自带测试、fleet 更新、doctor 与 verify 完成实现和验证;本次不需要外部第三方文档调研。
|
|
20
|
+
- stateModel: 需要保留三类状态:当前项目源码验证状态、reference discovery 状态、standards external reference 显式配置;主 run/verify 只默认消费第一类,其他两类按边界显式暴露。
|
|
21
|
+
- evalPlan: 通过针对 run-harness、standards 和 fleet 的单测与集成验证评估;再用历史项目 dry-run 与 update-openprd/backfill-work-units 验证刷新结果。
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"workUnitId": "wu-20260524015648-6d33ded7",
|
|
4
|
+
"title": "Verify 边界与历史项目刷新",
|
|
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": "v0001",
|
|
10
|
+
"latestVersionDigest": "dc988d7a94c07d2a8070968a71ddacffb374eaeee12aa85eb93231e06dd7b077",
|
|
11
|
+
"reviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0001.html",
|
|
12
|
+
"activeReviewArtifact": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/engagements/active/review.html",
|
|
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-05-30 01:14:49",
|
|
21
|
+
"reviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/reviews/v0001.html",
|
|
22
|
+
"activeReviewPath": "/Users/chaojifeng/Projects/harness-engineer/openprd/.openprd/engagements/active/review.html"
|
|
23
|
+
}
|
|
File without changes
|