@openprd/cli 0.1.1 → 0.1.8
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 +43 -69
- package/.openprd/README_EN.md +84 -0
- package/.openprd/benchmarks/index.md +7 -0
- package/.openprd/benchmarks/sources.yaml +25 -3
- package/.openprd/discovery/config.json +16 -2
- package/.openprd/engagements/active/flows.md +19 -14
- package/.openprd/engagements/active/handoff.md +11 -4
- package/.openprd/engagements/active/prd.md +99 -71
- package/.openprd/engagements/active/review.html +4 -4
- package/.openprd/engagements/active/roles.md +9 -8
- package/.openprd/engagements/work-units/wu-20260524015648-6d33ded7.json +4 -4
- package/.openprd/engagements/work-units/wu-20260602113956-a99b5b88.json +18 -0
- package/.openprd/engagements/work-units/wu-20260602122244-78656aaf.json +18 -0
- package/.openprd/engagements/work-units/wu-20260602122442-e96489e2.json +18 -0
- package/.openprd/engagements/work-units/wu-20260602132835-695429e8.json +18 -0
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/candidate.json +78 -0
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/diagnostic-report.json +129 -0
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/root-cause-candidates.json +41 -0
- package/.openprd/knowledge/candidates/candidate-turn-1780116203372-5f266a79e968c758/timeline.json +14 -0
- package/.openprd/knowledge/drafts/openprd-experience-diagnostic-candidate-turn-1780116203372-5f266a79e968c758/SKILL.md +49 -0
- package/.openprd/knowledge/index.json +44 -4
- package/.openprd/reviews/v0001.html +195 -129
- package/.openprd/reviews/v0002.html +1150 -0
- package/.openprd/reviews/v0003.html +1150 -0
- package/.openprd/reviews/v0004.html +1150 -0
- package/.openprd/reviews/v0005.html +1150 -0
- package/.openprd/standards/config.json +12 -9
- package/.openprd/state/changes.json +17 -2
- package/.openprd/state/current.json +399 -63
- package/.openprd/state/release-ledger.json +344 -0
- package/.openprd/state/version-index.json +52 -0
- package/.openprd/state/versions/v0002.json +264 -0
- package/.openprd/state/versions/v0002.md +183 -0
- package/.openprd/state/versions/v0003.json +269 -0
- package/.openprd/state/versions/v0003.md +188 -0
- package/.openprd/state/versions/v0004.json +274 -0
- package/.openprd/state/versions/v0004.md +193 -0
- package/.openprd/state/versions/v0005.json +299 -0
- package/.openprd/state/versions/v0005.md +189 -0
- package/.openprd/templates/agent/intake.md +5 -4
- package/.openprd/templates/b2b/intake.md +5 -4
- package/.openprd/templates/base/intake.md +10 -4
- package/.openprd/templates/company/README.md +9 -7
- package/.openprd/templates/company/README_EN.md +12 -0
- package/.openprd/templates/consumer/intake.md +5 -4
- package/.openprd/templates/industry/README.md +12 -10
- package/.openprd/templates/industry/README_EN.md +18 -0
- package/.openprd/templates/project/README.md +11 -9
- package/.openprd/templates/project/README_EN.md +16 -0
- package/.openprd/templates/session/README.md +11 -9
- package/.openprd/templates/session/README_EN.md +16 -0
- package/AGENTS.md +12 -8
- package/README.md +399 -438
- package/README_CN.md +4 -578
- package/README_EN.md +850 -0
- package/docs/assets/openprd-requirement-routing-en.png +0 -0
- package/docs/assets/openprd-requirement-routing-en.svg +102 -0
- 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 +102 -0
- package/package.json +6 -2
- package/scripts/dev-check-wrapup-copy.mjs +110 -0
- package/scripts/openprd-github-release-notes.mjs +99 -0
- package/scripts/quality-perf-check.mjs +203 -0
- package/skills/openprd-benchmark-router/SKILL.md +1 -0
- package/skills/openprd-benchmark-router/references/benchmark-sources.md +1 -0
- package/skills/openprd-benchmark-router/references/source-policy.md +2 -0
- package/skills/openprd-discovery-loop/SKILL.md +2 -2
- package/skills/openprd-harness/SKILL.md +46 -24
- package/skills/openprd-harness/references/workflow-gates.md +15 -0
- package/skills/openprd-quality/SKILL.md +10 -4
- package/skills/openprd-requirement-intake/SKILL.md +31 -20
- package/skills/openprd-requirement-intake/references/prd-template-lenses.md +6 -6
- package/skills/openprd-requirement-intake/references/routing-rubric.md +10 -2
- package/skills/openprd-router/SKILL.md +2 -2
- package/skills/openprd-shared/SKILL.md +51 -23
- package/skills/openprd-standards/SKILL.md +2 -1
- package/src/agent-integration.js +265 -65
- package/src/benchmark/constants.js +107 -0
- package/src/benchmark/operations.js +235 -0
- package/src/benchmark/registry.js +64 -0
- package/src/benchmark/render.js +115 -0
- package/src/benchmark/source.js +617 -0
- package/src/benchmark/storage.js +121 -0
- package/src/benchmark/verify.js +235 -0
- package/src/benchmark.js +50 -851
- package/src/change-summary.js +339 -0
- package/src/cli/args.js +67 -6
- package/src/cli/basic-print.js +365 -0
- package/src/cli/benchmark-print.js +91 -0
- package/src/cli/change-print.js +221 -0
- package/src/cli/doctor-print.js +268 -0
- package/src/cli/growth-print.js +176 -0
- package/src/cli/print.js +73 -1384
- package/src/cli/quality-print.js +284 -0
- package/src/cli/run-print.js +297 -0
- package/src/cli/shared-print.js +127 -0
- package/src/cli/workflow-print.js +195 -0
- package/src/codex-hook-runner-template.mjs +639 -117
- package/src/codex-runtime.js +324 -0
- package/src/dev-standards.js +178 -5
- package/src/diagram-core.js +5 -5
- package/src/discovery.js +2 -1
- package/src/execution-strategy.js +369 -0
- package/src/fleet.js +4 -0
- package/src/github-release.js +156 -0
- package/src/growth.js +311 -13
- package/src/html-artifact-utils.js +25 -0
- package/src/html-artifacts.js +157 -1596
- package/src/knowledge.js +1176 -75
- package/src/language-policy.js +2 -112
- package/src/learning-html-artifact.js +1031 -0
- package/src/learning-review.js +3 -2
- package/src/loop.js +280 -9
- package/src/openprd.js +341 -38
- package/src/openspec/change-validate.js +0 -9
- package/src/openspec/execute.js +79 -3
- package/src/openspec/generate.js +33 -20
- package/src/openspec/tasks.js +33 -2
- package/src/prd-core.js +10 -9
- package/src/product-type-copy.js +69 -0
- package/src/quality-html-artifact.js +108 -9
- package/src/quality-learning.js +30 -0
- package/src/quality-visual-review.js +237 -0
- package/src/quality.js +329 -43
- package/src/registry-hygiene.js +54 -0
- package/src/release-ledger.js +413 -0
- package/src/review-presentation.js +12 -6
- package/src/run-harness.js +722 -48
- package/src/session-binding.js +40 -3
- package/src/session-registry.js +159 -0
- package/src/standards.js +5 -3
- package/src/test-strategy.js +386 -0
- package/src/visual-compare.js +915 -34
- package/src/work-unit-migration.js +5 -1
- package/src/workspace-core.js +343 -19
- package/src/workspace-workflow.js +538 -134
package/.openprd/README.md
CHANGED
|
@@ -1,82 +1,56 @@
|
|
|
1
|
-
# OpenPrd
|
|
1
|
+
# OpenPrd 工作区
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
简体中文 | [English](./README_EN.md)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`.openprd/` 是项目内用于 discovery、PRD 合成、校验、freeze 和 handoff 的本地事实源。
|
|
6
|
+
|
|
7
|
+
## 生命周期
|
|
6
8
|
|
|
7
9
|
```text
|
|
8
10
|
classify -> interview -> synthesize -> validate -> freeze -> handoff
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
- `config.yaml
|
|
14
|
-
- `schema
|
|
15
|
-
- `schema/diagram-architecture.schema.yaml
|
|
16
|
-
- `schema/diagram-product-flow.schema.yaml
|
|
17
|
-
- `templates
|
|
18
|
-
- `templates/diagram
|
|
19
|
-
- `standards
|
|
20
|
-
- `engagements/active
|
|
21
|
-
- `engagements/active/decision-log.md
|
|
22
|
-
- `engagements/active/open-questions.md
|
|
23
|
-
- `engagements/active/progress.md
|
|
24
|
-
- `engagements/active/verification.md
|
|
25
|
-
- `engagements/active/architecture-diagram.html
|
|
26
|
-
- `engagements/active/architecture-diagram.json
|
|
27
|
-
- `engagements/active/product-flow-diagram.html
|
|
28
|
-
- `engagements/active/product-flow-diagram.json
|
|
29
|
-
- `artifacts/active
|
|
30
|
-
- `artifacts/archive
|
|
31
|
-
- `state
|
|
32
|
-
- `state/task-graph.json
|
|
33
|
-
- `state/events.jsonl
|
|
34
|
-
- `state/versions
|
|
35
|
-
- `sessions
|
|
36
|
-
- `exports
|
|
37
|
-
|
|
38
|
-
##
|
|
13
|
+
## 这里存放什么
|
|
14
|
+
|
|
15
|
+
- `config.yaml`:运行时默认值与工作流策略。
|
|
16
|
+
- `schema/`:规范 PRD schema 与校验规则。
|
|
17
|
+
- `schema/diagram-architecture.schema.yaml`:架构图最小契约 schema。
|
|
18
|
+
- `schema/diagram-product-flow.schema.yaml`:产品流程图最小契约 schema。
|
|
19
|
+
- `templates/`:模板层与模板注册表。
|
|
20
|
+
- `templates/diagram/`:图表 artifact 契约模板。
|
|
21
|
+
- `standards/`:项目标准契约与说明书模板。
|
|
22
|
+
- `engagements/active/`:当前默认 PRD 草稿、流程、角色与交接文档。
|
|
23
|
+
- `engagements/active/decision-log.md`:可持续追加的决策记录。
|
|
24
|
+
- `engagements/active/open-questions.md`:待解问题与 discovery 缺口。
|
|
25
|
+
- `engagements/active/progress.md`:追加式执行进度。
|
|
26
|
+
- `engagements/active/verification.md`:freeze 与验证证据。
|
|
27
|
+
- `engagements/active/architecture-diagram.html`:可评审架构图 artifact。
|
|
28
|
+
- `engagements/active/architecture-diagram.json`:用于继续迭代的结构化架构图契约。
|
|
29
|
+
- `engagements/active/product-flow-diagram.html`:可评审产品流程图 artifact。
|
|
30
|
+
- `engagements/active/product-flow-diagram.json`:用于继续迭代的结构化产品流程图契约。
|
|
31
|
+
- `artifacts/active/`:人类评审与 playground 使用的 HTML、Markdown 与 patch bundle。
|
|
32
|
+
- `artifacts/archive/`:需求评审或 handoff 之后归档的 artifact bundle。
|
|
33
|
+
- `state/`:运行状态、版本索引、freeze 快照、session 元数据与执行图。
|
|
34
|
+
- `state/task-graph.json`:工作流 / 任务图、阻塞关系与 next-ready 节点。
|
|
35
|
+
- `state/events.jsonl`:追加式生命周期事件流。
|
|
36
|
+
- `state/versions/`:不可变版本快照。
|
|
37
|
+
- `sessions/`:按 engagement 组织的工作状态。
|
|
38
|
+
- `exports/`:下游导出产物,例如 OpenSpec handoff bundle。
|
|
39
|
+
|
|
40
|
+
## 模板层
|
|
39
41
|
|
|
40
42
|
```text
|
|
41
|
-
|
|
43
|
+
core -> company -> industry -> project -> session
|
|
42
44
|
```
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
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`
|
|
46
|
+
- `core`:OpenPrd 自带的基础字段、默认文案和共享规则。
|
|
47
|
+
- `company`:团队或公司范围的共用术语、流程和评审偏好。
|
|
48
|
+
- `industry`:行业特有字段、约束和验证重点。
|
|
49
|
+
- `project`:单项目特有的补充规则、前提和交付方式。
|
|
50
|
+
- `session`:单次协作临时覆盖,不改变长期事实源。
|
|
79
51
|
|
|
80
|
-
##
|
|
52
|
+
## 日常规则
|
|
81
53
|
|
|
82
|
-
|
|
54
|
+
- 优先更新 `docs/basic/`,不要把长期说明堆回 `AGENTS.md`。
|
|
55
|
+
- 新增工作流或导出物时,同步检查 `src/workspace-core.js`、`src/openprd.js` 和对应模板是否一致。
|
|
56
|
+
- 对外确认前,优先运行 `openprd standards . --verify`、`openprd quality . --verify` 与 `openprd run . --verify`。
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# OpenPrd Workspace
|
|
2
|
+
|
|
3
|
+
[简体中文](./README.md) | English
|
|
4
|
+
|
|
5
|
+
`.openprd/` is the project-local source of truth for discovery, PRD synthesis, validation, freeze, and handoff.
|
|
6
|
+
|
|
7
|
+
## Lifecycle
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
classify -> interview -> synthesize -> validate -> freeze -> handoff
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## What Lives Here
|
|
14
|
+
|
|
15
|
+
- `config.yaml` - runtime defaults and workflow policy
|
|
16
|
+
- `schema/` - canonical PRD schema and validation rules
|
|
17
|
+
- `schema/diagram-architecture.schema.yaml` - minimal contract schema for architecture diagrams
|
|
18
|
+
- `schema/diagram-product-flow.schema.yaml` - minimal contract schema for product flow diagrams
|
|
19
|
+
- `templates/` - starter packs and registry
|
|
20
|
+
- `templates/diagram/` - contract templates for diagram artifacts
|
|
21
|
+
- `standards/` - project standards contract and manual templates
|
|
22
|
+
- `engagements/active/` - default active PRD draft, flow, role, and handoff docs
|
|
23
|
+
- `engagements/active/decision-log.md` - durable decision history
|
|
24
|
+
- `engagements/active/open-questions.md` - unresolved questions and discovery gaps
|
|
25
|
+
- `engagements/active/progress.md` - append-only execution progress
|
|
26
|
+
- `engagements/active/verification.md` - freeze and validation evidence
|
|
27
|
+
- `engagements/active/architecture-diagram.html` - reviewable architecture diagram artifact
|
|
28
|
+
- `engagements/active/architecture-diagram.json` - structured diagram contract for iteration
|
|
29
|
+
- `engagements/active/product-flow-diagram.html` - reviewable product flow diagram artifact
|
|
30
|
+
- `engagements/active/product-flow-diagram.json` - structured product flow contract for iteration
|
|
31
|
+
- `artifacts/active/` - HTML + Markdown + patch bundles for human-in-the-loop review and playground workflows
|
|
32
|
+
- `artifacts/archive/` - archived artifact bundles after demand review or handoff
|
|
33
|
+
- `state/` - runtime status, version index, freeze snapshots, session metadata, and execution graph
|
|
34
|
+
- `state/task-graph.json` - workflow/task graph, blockers, and next-ready node
|
|
35
|
+
- `state/events.jsonl` - append-only lifecycle event stream
|
|
36
|
+
- `state/versions/` - immutable version snapshots
|
|
37
|
+
- `sessions/` - per-engagement working state
|
|
38
|
+
- `exports/` - downstream outputs such as OpenSpec handoff bundles
|
|
39
|
+
|
|
40
|
+
## Template Layers
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
base -> industry -> company -> project -> session
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Rules:
|
|
47
|
+
|
|
48
|
+
- Core PRD fields are fixed.
|
|
49
|
+
- Template layers may add or reorder sections.
|
|
50
|
+
- Template layers may not remove required semantics.
|
|
51
|
+
- The active engagement is the working draft that evolves over time.
|
|
52
|
+
- `classify` sets the product type; `interview` loads discovery prompts.
|
|
53
|
+
- `next` recommends the next action and discovery questions.
|
|
54
|
+
- `synthesize` writes a new versioned PRD snapshot.
|
|
55
|
+
- HTML review and playground artifacts should be paired with a markdown data source and a machine-readable capture patch.
|
|
56
|
+
- `diff` compares version snapshots.
|
|
57
|
+
- `history` lists the version index.
|
|
58
|
+
- Freeze requires validation to pass.
|
|
59
|
+
- `standards` verifies `docs/basic/`, file manual templates, and folder README templates.
|
|
60
|
+
|
|
61
|
+
## Project Standards
|
|
62
|
+
|
|
63
|
+
The canonical project baseline docs path is `docs/basic/`.
|
|
64
|
+
|
|
65
|
+
Required docs:
|
|
66
|
+
|
|
67
|
+
- `docs/basic/file-structure.md`
|
|
68
|
+
- `docs/basic/app-flow.md`
|
|
69
|
+
- `docs/basic/prd.md`
|
|
70
|
+
- `docs/basic/frontend-guidelines.md`
|
|
71
|
+
- `docs/basic/backend-structure.md`
|
|
72
|
+
- `docs/basic/tech-stack.md`
|
|
73
|
+
|
|
74
|
+
Use `openprd standards <path> --verify` before reporting a change as ready.
|
|
75
|
+
|
|
76
|
+
## Supported Product Types
|
|
77
|
+
|
|
78
|
+
- `consumer`
|
|
79
|
+
- `b2b`
|
|
80
|
+
- `agent`
|
|
81
|
+
|
|
82
|
+
## Handoff Principle
|
|
83
|
+
|
|
84
|
+
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.
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- 项目级 approved benchmark 优先于 OpenPrd 内置 Source Map。
|
|
6
6
|
- `inbox/` 里的 candidate 只表示待确认线索,不表示长期最佳实践。
|
|
7
|
+
- 被采纳信源先累计证据,达到阈值后只推荐 approve,不自动晋级。
|
|
7
8
|
- 每次只挑 1-3 个高相关来源;来源目录不是事实来源。
|
|
8
9
|
|
|
9
10
|
## Approved Sources
|
|
@@ -17,6 +18,9 @@
|
|
|
17
18
|
- 不适用: 普通 PRD / 产品流程设计;与 CLI 无关的一次性 UI 视觉问题;默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
18
19
|
- 研究方式: official_page_first
|
|
19
20
|
- 来源: https://milvus.io/ar/blog/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md
|
|
21
|
+
- 规范化信源: milvus-io-ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-code
|
|
22
|
+
- 最近 7 天采纳: 0
|
|
23
|
+
- 累计采纳: 0
|
|
20
24
|
- 备注: AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge recommendation
|
|
21
25
|
- 价值: AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge recommendation
|
|
22
26
|
|
|
@@ -29,6 +33,9 @@
|
|
|
29
33
|
- 不适用: 普通 PRD / 产品流程设计;与 CLI 无关的一次性 UI 视觉问题;默认给每个低风险 PR 拉起多 reviewer 并行审查
|
|
30
34
|
- 研究方式: official_page_first
|
|
31
35
|
- 来源: https://nolanlawson.com/2026/05/25/using-ai-to-write-better-code-more-slowly/
|
|
36
|
+
- 规范化信源: nolanlawson-com-using-ai-to-write-better-code-more-slowly
|
|
37
|
+
- 最近 7 天采纳: 0
|
|
38
|
+
- 累计采纳: 0
|
|
32
39
|
- 备注: AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge recommendation
|
|
33
40
|
- 价值: AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge recommendation
|
|
34
41
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
version: 1
|
|
2
2
|
schema: openprd.benchmarks.v1
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-01 11:56:05
|
|
4
4
|
sources:
|
|
5
5
|
- id: milvus-io-ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-code
|
|
6
6
|
title: milvus.io/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md
|
|
7
7
|
scope: project
|
|
8
8
|
status: approved
|
|
9
9
|
sourceType: engineering-article
|
|
10
|
+
sourceKey: null
|
|
10
11
|
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
12
|
path: null
|
|
12
13
|
repo: null
|
|
@@ -25,14 +26,25 @@ sources:
|
|
|
25
26
|
recommendation
|
|
26
27
|
value: AI code review / PR review harness;reviewer agreement、交叉验证、误报过滤、hallucination filter、merge
|
|
27
28
|
recommendation
|
|
29
|
+
adoptedCount: 0
|
|
30
|
+
lastUsedAt: null
|
|
31
|
+
evidence: []
|
|
32
|
+
recentAdoptedCount: 0
|
|
33
|
+
promotion:
|
|
34
|
+
threshold: 3
|
|
35
|
+
windowDays: 7
|
|
36
|
+
recommended: false
|
|
37
|
+
recommendedAt: null
|
|
38
|
+
approveCommand: null
|
|
28
39
|
addedAt: 2026-05-28 11:01:00
|
|
29
40
|
approvedAt: 2026-05-28 11:01:06
|
|
30
|
-
lastVerified: 2026-
|
|
41
|
+
lastVerified: 2026-06-01 11:56:02
|
|
31
42
|
- id: nolanlawson-com-using-ai-to-write-better-code-more-slowly
|
|
32
43
|
title: nolanlawson.com/using-ai-to-write-better-code-more-slowly
|
|
33
44
|
scope: project
|
|
34
45
|
status: approved
|
|
35
46
|
sourceType: web
|
|
47
|
+
sourceKey: null
|
|
36
48
|
url: https://nolanlawson.com/2026/05/25/using-ai-to-write-better-code-more-slowly/
|
|
37
49
|
path: null
|
|
38
50
|
repo: null
|
|
@@ -51,6 +63,16 @@ sources:
|
|
|
51
63
|
recommendation
|
|
52
64
|
value: AI code review / PR review harness;独立审查、主代理先不站队、汇总后再验证、critical/high/medium/low 分级、merge
|
|
53
65
|
recommendation
|
|
66
|
+
adoptedCount: 0
|
|
67
|
+
lastUsedAt: null
|
|
68
|
+
evidence: []
|
|
69
|
+
recentAdoptedCount: 0
|
|
70
|
+
promotion:
|
|
71
|
+
threshold: 3
|
|
72
|
+
windowDays: 7
|
|
73
|
+
recommended: false
|
|
74
|
+
recommendedAt: null
|
|
75
|
+
approveCommand: null
|
|
54
76
|
addedAt: 2026-05-28 11:00:52
|
|
55
77
|
approvedAt: 2026-05-28 11:01:06
|
|
56
|
-
lastVerified: 2026-
|
|
78
|
+
lastVerified: 2026-06-01 11:56:05
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"activeChange": "
|
|
2
|
+
"activeChange": "adaptive-project-framing",
|
|
3
3
|
"taskSharding": {
|
|
4
4
|
"maxItemsPerFile": 25,
|
|
5
5
|
"handoffRequired": true,
|
|
@@ -14,7 +14,21 @@
|
|
|
14
14
|
],
|
|
15
15
|
"optional": [
|
|
16
16
|
"deps",
|
|
17
|
-
"type"
|
|
17
|
+
"type",
|
|
18
|
+
"test-layer",
|
|
19
|
+
"test-size",
|
|
20
|
+
"test-scope",
|
|
21
|
+
"evidence",
|
|
22
|
+
"evidence-plan",
|
|
23
|
+
"upgrade-reason",
|
|
24
|
+
"waiver",
|
|
25
|
+
"waiver-reason",
|
|
26
|
+
"execution-mode",
|
|
27
|
+
"parallel-group",
|
|
28
|
+
"write-scope",
|
|
29
|
+
"owner-role",
|
|
30
|
+
"local-verify",
|
|
31
|
+
"integration-owner"
|
|
18
32
|
],
|
|
19
33
|
"dependencyOrder": "dependencies must appear before dependents"
|
|
20
34
|
}
|
|
@@ -2,29 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
## 主流程
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
- 用户第一次提需求时,OpenPrd 先输出一页项目画像:用户群体、产品形态、第一版先做、先不做、不能破坏、技术落点和风险探针
|
|
6
|
+
- 如果用户表达已经足够清楚,Agent 直接用系统归纳的画像摘要请用户确认
|
|
7
|
+
- 如果用户表达模糊,Agent 先追问少量高价值问题,必要时给 2 到 3 个方向或行业原型供用户选择
|
|
8
|
+
- 画像确认后再进入后续 PRD、review、change 和 tasks 流程
|
|
6
9
|
|
|
7
10
|
## Mermaid 流程图
|
|
8
11
|
|
|
9
12
|
```mermaid
|
|
10
13
|
flowchart LR
|
|
11
|
-
entry["入口触发<br
|
|
12
|
-
experience["产品内步骤<br
|
|
13
|
-
decision{"决策点<br
|
|
14
|
-
success(["成功结果<br
|
|
15
|
-
failure[["失败与恢复<br
|
|
16
|
-
entry -->|"
|
|
17
|
-
experience -->|"
|
|
18
|
-
decision -->|"
|
|
19
|
-
decision -.->|"
|
|
14
|
+
entry["入口触发<br/>用户第一次提需求时,OpenPrd 先输出一页项目画像:用户群体、产品形态、第一版先做、先不做、不能破坏、技术落点和风险探针"]
|
|
15
|
+
experience["产品内步骤<br/>如果用户表达已经足够清楚,Agent 直接用系统归纳的画像摘要请用户确认"]
|
|
16
|
+
decision{"决策点<br/>用户一开始只有一句模糊想法,需要先给候选方向而不是硬追问技术细节"}
|
|
17
|
+
success(["成功结果<br/>首轮 clarify 能输出结构化的项目画像摘要,并包含用户群体、产品形态、第一版先做、先不做和不能破坏项"])
|
|
18
|
+
failure[["失败与恢复<br/>入口过重,导致 Vibe Coding 用户在第一次提需时无法回答"]]
|
|
19
|
+
entry -->|"用户第一次提需求时,OpenPrd 先输出一页项目画像:用户群体、产品形态、第一版…"| experience
|
|
20
|
+
experience -->|"如果用户表达已经足够清楚,Agent 直接用系统归纳的画像摘要请用户确认"| decision
|
|
21
|
+
decision -->|"在第一次提需时先形成一页轻量项目画像,而不是直接跳进局部需求修改"| success
|
|
22
|
+
decision -.->|"入口过重,导致 Vibe Coding 用户在第一次提需时无法回答"| failure
|
|
20
23
|
```
|
|
21
24
|
|
|
22
25
|
## 边界情况
|
|
23
26
|
|
|
24
|
-
-
|
|
27
|
+
- 用户一开始只有一句模糊想法,需要先给候选方向而不是硬追问技术细节
|
|
28
|
+
- 已有项目上下文时应优先沿用已知事实,而不是把所有画像问题重问一遍
|
|
29
|
+
- 局部 copy、样式或小交互修正不应被错误升级成重画像流程
|
|
25
30
|
|
|
26
31
|
## 失败模式
|
|
27
32
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
33
|
+
- 入口过重,导致 Vibe Coding 用户在第一次提需时无法回答
|
|
34
|
+
- 入口过轻,导致 Agent 没有先确认项目边界就直接落地
|
|
35
|
+
- 错误复用旧 active change 或旧 PRD 上下文,导致实现偏题
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
# 交接
|
|
2
2
|
|
|
3
|
-
- 版本:
|
|
3
|
+
- 版本: v0005
|
|
4
4
|
- 产品类型: agent
|
|
5
5
|
- 模板包: agent
|
|
6
|
-
- Digest:
|
|
6
|
+
- Digest: 7f0e2d2730982a2ae96647d2377f6204e54f8adadf1b18b05f4bc7167046c575
|
|
7
7
|
- 负责人: Codex
|
|
8
|
-
- 下一步:
|
|
9
|
-
- 目标系统:
|
|
8
|
+
- 下一步: 生成新的 change 和 tasks,并按首轮项目画像流程修改 workflow、模板、文档和测试。
|
|
9
|
+
- 目标系统: OpenPrd
|
|
10
|
+
|
|
11
|
+
## 变化摘要
|
|
12
|
+
|
|
13
|
+
- 新增:clarify 生成的 intake-reflection 应包含首轮项目画像和风险探针
|
|
14
|
+
- 新增:inline clarification 应显式展示适用对象、产品形态、第一版先做、先不做、不能破坏和技术落点
|
|
15
|
+
- 新增:冷启动 kickoff 问题改成画像导向问题,而不是抽象的通用提问
|
|
16
|
+
- 新增:类型专项 intake 模板改成更贴近产品与业务语言的提问方式
|