@guanlin4924/devflow-pi 0.1.21 → 0.1.23
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/README.md +29 -21
- package/package.json +1 -2
- package/plugins/devflow-core/extensions/devflow-core.ts +1 -3
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/init_workflow.rb +1 -1
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/validate_state.rb +9 -10
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/acceptance-remediation.yaml +87 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/feature-development.yaml +29 -98
- package/plugins/devflow-core/skills/workflow-pipeline/SKILL.md +3 -5
- package/plugins/devflow-core/skills/workflow-pipeline/references/pipeline-flow.md +9 -22
- package/plugins/devflow-core/skills/workflow-pipeline/references/slice-safety-guide.md +1 -1
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/output-template.md +2 -2
- package/plugins/devflow-implementation/skills/workflow-execute-phase/references/execute-phase.md +52 -1221
- package/plugins/devflow-intel/skills/workflow-context-sync/SKILL.md +1 -1
- package/plugins/devflow-intel/skills/workflow-update-navigation/SKILL.md +1 -1
- package/plugins/devflow-quality/agents/verification-runner.md +1 -1
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/SKILL.md +2 -2
- package/plugins/devflow-quality/skills/workflow-release-closeout/SKILL.md +48 -0
- package/plugins/devflow-quality/skills/workflow-run-acceptance-tests/SKILL.md +2 -2
- package/src/constants.ts +1 -1
- package/templates/commands/start.md +2 -2
- package/templates/omp/config.yml +1 -3
- package/docs/OMP-NATIVE-ARCHITECTURE.md +0 -104
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/uat-remediation.yaml +0 -176
- package/plugins/devflow-quality/skills/workflow-audit-milestone/SKILL.md +0 -31
- package/plugins/devflow-quality/skills/workflow-audit-milestone/references/audit-milestone.md +0 -328
- package/plugins/devflow-quality/skills/workflow-complete-milestone/SKILL.md +0 -132
- package/plugins/devflow-quality/skills/workflow-complete-milestone/assets/milestone-archive.md +0 -123
- package/plugins/devflow-quality/skills/workflow-complete-milestone/references/complete-milestone.md +0 -775
- package/plugins/devflow-quality/skills/workflow-complete-milestone/references/milestone-archive.md +0 -123
- package/plugins/devflow-quality/skills/workflow-verify-work/SKILL.md +0 -112
- package/plugins/devflow-quality/skills/workflow-verify-work/assets/UAT.md +0 -265
- package/plugins/devflow-quality/skills/workflow-verify-work/references/verify-work.md +0 -759
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Devflow for Oh My Pi
|
|
2
2
|
|
|
3
|
-
面向项目代码开发的 OMP
|
|
3
|
+
面向项目代码开发的 OMP 原生 Devflow 能力仓库。仓库同时提供 Agent Skills、运行时 extension、task agents、项目配置模板和 marketplace 插件目录。Devflow 的流程真相由需求图谱、冻结测试集、机器证据和控制面状态组成,Markdown 只负责展示。
|
|
4
4
|
|
|
5
|
-
完整的第一性原理拆分、控制面不变量和对抗式审查见 [`docs/OMP-NATIVE-ARCHITECTURE.md`](docs/OMP-NATIVE-ARCHITECTURE.md)
|
|
5
|
+
完整的第一性原理拆分、控制面不变量和对抗式审查见 [`docs/OMP-NATIVE-ARCHITECTURE.md`](docs/OMP-NATIVE-ARCHITECTURE.md)。本项目不依赖外部会话式验收或里程碑工作流;验收和版本收口均由 Devflow 自有节点完成。
|
|
6
6
|
|
|
7
7
|
## Devflow 专项 Pi(当前功能分支)
|
|
8
8
|
|
|
@@ -80,14 +80,27 @@ skills:
|
|
|
80
80
|
# 其余四个插件目录同理
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
##
|
|
83
|
+
## npm 安装:推荐入口
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npm install -g @guanlin4924/devflow-pi@0.1.22
|
|
87
|
+
cd /path/to/your-project
|
|
88
|
+
devflow-pi init
|
|
89
|
+
devflow-pi doctor
|
|
90
|
+
devflow-pi
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
npm 包已经内置完整 Devflow Runtime、Extension、task agents、项目策略和生命周期配置,不需要复制私有 Git 仓库,也不需要把本仓库作为 submodule 加入业务项目。
|
|
94
|
+
|
|
95
|
+
## 私有源码兼容模式
|
|
96
|
+
|
|
97
|
+
`install.sh --apply` 只用于已经获得内部源码访问权限的开发环境。本文档不提供私有仓库地址;在内部工作副本中执行:
|
|
84
98
|
|
|
85
99
|
```bash
|
|
86
|
-
git submodule add https://gitee.com/guanlin4924/skill-kit.git .skills
|
|
87
100
|
bash .skills/install.sh --apply
|
|
88
101
|
```
|
|
89
102
|
|
|
90
|
-
|
|
103
|
+
它会执行 postflight;已有但不兼容的 `.omp/config.yml` 会使安装失败,不会以警告方式假装安装完整。
|
|
91
104
|
|
|
92
105
|
安装器只生成以下 OMP 原生资源:
|
|
93
106
|
|
|
@@ -100,7 +113,7 @@ bash .skills/install.sh --apply
|
|
|
100
113
|
.agent-gates/index-first.json
|
|
101
114
|
```
|
|
102
115
|
|
|
103
|
-
已有且兼容的 `.omp/config.yml`
|
|
116
|
+
已有且兼容的 `.omp/config.yml` 会保留。源码兼容模式下,已有配置缺少 Devflow skill 来源、model overrides 或工具策略时,先审查差异,再显式运行:
|
|
104
117
|
|
|
105
118
|
```bash
|
|
106
119
|
bash .skills/install.sh --apply --force-config
|
|
@@ -128,31 +141,28 @@ bash .skills/install.sh --apply --force-config
|
|
|
128
141
|
↓
|
|
129
142
|
CP-3:校验候选绑定 → 冻结 TC → 写入 Core attestation
|
|
130
143
|
↓
|
|
131
|
-
RED / GREEN / REGRESSION 证据 → 按冻结 TC 执行 API / 页面 / 专项测试 →
|
|
144
|
+
RED / GREEN / REGRESSION 证据 → 按冻结 TC 执行 API / 页面 / 专项测试 → CP-4 → 版本收口
|
|
132
145
|
```
|
|
133
146
|
|
|
134
147
|
- `TC-*` 的步骤和 oracle 在代码出现前冻结;CP-3 在同一次确认中先校验候选绑定,再冻结 TC 并固定绑定哈希。需求或契约变化会使它 stale,不能继续以旧测试集宣称通过。
|
|
135
148
|
- `tdd_required` 任务必须先由 Core 记录准备快照,再记录 RED(命中预期失败)、同一目标的 GREEN 和回归;缺失或环境失败不算完成。
|
|
136
149
|
- API、跨数据域、边界、迁移、工作负载与架构风险会派生相应的 `api`、`permission`、`boundary`、`migration`、`performance`、`resilience` TC 义务。
|
|
137
150
|
- 代码完成后,`workflow-run-acceptance-tests` 只能运行绑定到冻结 TC、且已在初始化 `.planning/toolchain.md` 发现的测试运行器命令。任何失败、未执行、人工待执行或环境阻塞用例都会阻止 CP-4。
|
|
151
|
+
- 验收不是代码完成后的临时手工检查。它是需求基线在编码前派生并冻结的完整测试集,覆盖主流程、异常、边界、权限、迁移、兼容、韧性和工作负载义务;代码只能补充执行适配信息,不能改变测试意图。
|
|
152
|
+
- 验收失败不会创建另一套人工台账,而是进入 `acceptance-remediation`:诊断 → 修复 → code-index 刷新 → 原冻结 `TC-*` 重跑。
|
|
153
|
+
- CP-4 通过后只进入一个 `workflow-release-closeout` 步骤,统一写入 `.planning/milestones/current-CLOSEOUT.md` 并更新项目状态、导航和版本记录。
|
|
138
154
|
|
|
139
155
|
正常使用不需要记忆底层命令:在 Devflow 工作流中按步骤继续即可。需要排查时,可用 `devflow_acceptance_tests` 查看冻结套件,或由工作流调用 `devflow_tdd_evidence` 与 `devflow_run_acceptance_tests` 生成 Core-owned 证据;不要手写“已测试”来替代结果文件。
|
|
140
156
|
|
|
141
|
-
##
|
|
157
|
+
## 更新
|
|
142
158
|
|
|
143
|
-
|
|
159
|
+
升级 npm 发行版:
|
|
144
160
|
|
|
145
161
|
```bash
|
|
146
|
-
|
|
147
|
-
omp plugin install --scope project devflow-core@devflow
|
|
148
|
-
omp plugin install --scope project devflow-intel@devflow
|
|
149
|
-
omp plugin install --scope project devflow-requirements@devflow
|
|
150
|
-
omp plugin install --scope project devflow-design@devflow
|
|
151
|
-
omp plugin install --scope project devflow-implementation@devflow
|
|
152
|
-
omp plugin install --scope project devflow-quality@devflow
|
|
162
|
+
npm install -g @guanlin4924/devflow-pi@latest
|
|
153
163
|
```
|
|
154
164
|
|
|
155
|
-
|
|
165
|
+
安装或升级 Extension 后重启会话;仅刷新 Skill/Command 时可使用 `/reload-plugins`。
|
|
156
166
|
|
|
157
167
|
## 插件边界
|
|
158
168
|
|
|
@@ -163,7 +173,7 @@ omp plugin install --scope project devflow-quality@devflow
|
|
|
163
173
|
| `devflow-requirements` | 需求决策 | 分诊、探索、领域建模、可行性、需求基线、对抗审查 |
|
|
164
174
|
| `devflow-design` | 契约设计 | API/UI/前后端方案、功能拆解、集成一致性 |
|
|
165
175
|
| `devflow-implementation` | 代码变更 | 变更计划、隔离执行、Bug 修复 |
|
|
166
|
-
| `devflow-quality` |
|
|
176
|
+
| `devflow-quality` | 质量与收口 | 代码审查、主流程适配、冻结 TC 执行、失败修复编排与版本收口 |
|
|
167
177
|
|
|
168
178
|
每个 skill 恰好归属一个插件,插件目录中的实体文件是唯一真本;仓库根目录的同名入口只是兼容现有脚本和人工浏览的相对链接。marketplace 因而可以独立缓存单个插件,而不会留下指向缓存外部的断链。
|
|
169
179
|
|
|
@@ -175,12 +185,10 @@ omp plugin install --scope project devflow-quality@devflow
|
|
|
175
185
|
- 人工 checkpoint 不得在 headless 模式静默通过。
|
|
176
186
|
- semantic correctness 不能靠 prompt 保证,必须由契约、确定性校验、独立审查和可复现测试共同约束。
|
|
177
187
|
|
|
178
|
-
|
|
188
|
+
源码兼容模式刷新:
|
|
179
189
|
|
|
180
190
|
```bash
|
|
181
|
-
git -C .skills pull
|
|
182
191
|
bash .skills/install.sh --refresh
|
|
183
|
-
git add .skills .omp .agent-gates
|
|
184
192
|
```
|
|
185
193
|
|
|
186
194
|
刷新完成后重启 OMP 并再次运行 `/devflow doctor`。如果模板新增了强制配置而项目配置被保留,安装器会拒绝完成;审查后使用 `--force-config` 更新。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guanlin4924/devflow-pi",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Devflow 专项研发 Pi,基于固定版本 OMP Runtime 组装研发状态机、代码智能、设计、实现与质量门禁。",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
"!plugins/**/*.pyc",
|
|
33
33
|
"!plugins/**/tests",
|
|
34
34
|
"templates",
|
|
35
|
-
"docs",
|
|
36
35
|
"README.md"
|
|
37
36
|
],
|
|
38
37
|
"publishConfig": {
|
|
@@ -362,12 +362,10 @@ const REQUIRED_SKILLS = [
|
|
|
362
362
|
"workflow-api-contract",
|
|
363
363
|
"workflow-api-supplement",
|
|
364
364
|
"workflow-acceptance-test-design",
|
|
365
|
-
"workflow-audit-milestone",
|
|
366
365
|
"workflow-backend-tech-spec",
|
|
367
366
|
"workflow-bug-fix",
|
|
368
367
|
"workflow-change-plan",
|
|
369
368
|
"workflow-code-index",
|
|
370
|
-
"workflow-complete-milestone",
|
|
371
369
|
"workflow-context-sync",
|
|
372
370
|
"workflow-demand-clarify",
|
|
373
371
|
"workflow-design-rule-pack",
|
|
@@ -381,11 +379,11 @@ const REQUIRED_SKILLS = [
|
|
|
381
379
|
"workflow-pipeline",
|
|
382
380
|
"workflow-project-context",
|
|
383
381
|
"workflow-run-acceptance-tests",
|
|
382
|
+
"workflow-release-closeout",
|
|
384
383
|
"workflow-requirement-baseline",
|
|
385
384
|
"workflow-requirement-triage",
|
|
386
385
|
"workflow-ui-spec",
|
|
387
386
|
"workflow-update-navigation",
|
|
388
|
-
"workflow-verify-work",
|
|
389
387
|
"workflow-wayfinder",
|
|
390
388
|
];
|
|
391
389
|
|
|
@@ -58,7 +58,7 @@ end
|
|
|
58
58
|
|
|
59
59
|
targets = {
|
|
60
60
|
"feature-development.yaml" => ".planning/workflows/feature-development.yaml",
|
|
61
|
-
"
|
|
61
|
+
"acceptance-remediation.yaml" => ".planning/workflows/acceptance-remediation.yaml",
|
|
62
62
|
"workflows-README.md" => ".planning/workflows/README.md"
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -79,7 +79,7 @@ module WorkflowStateValidator
|
|
|
79
79
|
validate_waiting_checkpoint(issues, root, state, step_by_id, artifact_by_path, strict_artifact_status)
|
|
80
80
|
validate_current_in_progress_output_drift(issues, root, state, step_by_id, artifact_by_path)
|
|
81
81
|
graph_gate = workflow.dig("governance", "requirement_graph_gate").to_s
|
|
82
|
-
governed_steps = %w[requirement-baseline api-contract architecture-feasibility integration-verify change-plan execute
|
|
82
|
+
governed_steps = %w[requirement-baseline api-contract architecture-feasibility integration-verify change-plan execute run-acceptance-tests]
|
|
83
83
|
# A historical completed state is never rolled back solely because it has
|
|
84
84
|
# no v2 graph/evidence. Its first new governed step, however, must satisfy
|
|
85
85
|
# the new contract before it can advance.
|
|
@@ -695,18 +695,17 @@ module WorkflowStateValidator
|
|
|
695
695
|
end
|
|
696
696
|
|
|
697
697
|
def validate_verification_gate(issues, step, data)
|
|
698
|
-
return unless step["id"] == "
|
|
698
|
+
return unless step["id"] == "run-acceptance-tests"
|
|
699
699
|
|
|
700
|
-
|
|
701
|
-
|
|
700
|
+
failed = data["acceptance_tc_failed"].to_i
|
|
701
|
+
blocked = data["acceptance_tc_blocked"].to_i
|
|
702
|
+
if failed.positive? || blocked.positive?
|
|
703
|
+
issues << issue("error", "acceptance_tests_not_passed", "Frozen acceptance tests contain failed or blocked cases", step: step["id"], failed: failed, blocked: blocked)
|
|
702
704
|
end
|
|
703
705
|
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
issues << issue("error", "verification_gate_total_zero", "Verification meta gate_total must be greater than zero", step: step["id"])
|
|
708
|
-
elsif gate_passed != gate_total
|
|
709
|
-
issues << issue("error", "verification_gates_not_all_passed", "Verification meta reports incomplete gates", step: step["id"], gate_passed: gate_passed, gate_total: gate_total)
|
|
706
|
+
passed = data["acceptance_tc_passed"].to_i
|
|
707
|
+
if passed.zero?
|
|
708
|
+
issues << issue("error", "acceptance_tests_empty", "Acceptance result must contain at least one passed TC", step: step["id"])
|
|
710
709
|
end
|
|
711
710
|
end
|
|
712
711
|
|
package/plugins/devflow-core/skills/workflow-orchestrator/templates/acceptance-remediation.yaml
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
id: acceptance-remediation
|
|
3
|
+
name: Acceptance Failure Remediation
|
|
4
|
+
description: >
|
|
5
|
+
修复冻结需求验收测试失败或阻塞的问题,刷新 code_index 后重新执行同一套 TC-*。
|
|
6
|
+
|
|
7
|
+
entry:
|
|
8
|
+
from_flow: feature-development
|
|
9
|
+
from_step: run-acceptance-tests
|
|
10
|
+
initial_step: diagnose
|
|
11
|
+
|
|
12
|
+
state_contract:
|
|
13
|
+
source: ".planning/STATE.md"
|
|
14
|
+
suggested_transition:
|
|
15
|
+
current_flow: acceptance-remediation
|
|
16
|
+
current_step: diagnose
|
|
17
|
+
status: in_progress
|
|
18
|
+
completed_steps: []
|
|
19
|
+
pending_steps:
|
|
20
|
+
- diagnose
|
|
21
|
+
- execute-fix
|
|
22
|
+
- code-index-refresh
|
|
23
|
+
- run-acceptance-tests
|
|
24
|
+
|
|
25
|
+
variables:
|
|
26
|
+
feature:
|
|
27
|
+
source: state.current_feature
|
|
28
|
+
phase:
|
|
29
|
+
source: state.current_phase
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- id: diagnose
|
|
33
|
+
order: 10
|
|
34
|
+
label: Diagnose acceptance failure
|
|
35
|
+
skill: workflow-bug-fix
|
|
36
|
+
depends_on: []
|
|
37
|
+
inputs:
|
|
38
|
+
- ".planning/test-runs/{feature}/acceptance-results.json"
|
|
39
|
+
- ".planning/features/{feature}/acceptance-test-bindings.json"
|
|
40
|
+
outputs:
|
|
41
|
+
- path: ".planning/features/{feature}/acceptance-remediation.md"
|
|
42
|
+
type: acceptance-remediation
|
|
43
|
+
required: true
|
|
44
|
+
|
|
45
|
+
- id: execute-fix
|
|
46
|
+
order: 20
|
|
47
|
+
label: Execute fix
|
|
48
|
+
skill: workflow-execute-phase
|
|
49
|
+
depends_on:
|
|
50
|
+
- diagnose
|
|
51
|
+
inputs:
|
|
52
|
+
- ".planning/features/{feature}/acceptance-remediation.md"
|
|
53
|
+
- ".planning/features/{feature}/变更清单.md"
|
|
54
|
+
|
|
55
|
+
- id: code-index-refresh
|
|
56
|
+
order: 30
|
|
57
|
+
label: Refresh code index
|
|
58
|
+
skill: workflow-code-index
|
|
59
|
+
depends_on:
|
|
60
|
+
- execute-fix
|
|
61
|
+
inputs:
|
|
62
|
+
- ".planning/features/{feature}/acceptance-remediation.md"
|
|
63
|
+
outputs:
|
|
64
|
+
- path: ".planning/code-index/AUDIT.md"
|
|
65
|
+
type: code-index-audit
|
|
66
|
+
required: true
|
|
67
|
+
|
|
68
|
+
- id: run-acceptance-tests
|
|
69
|
+
order: 40
|
|
70
|
+
label: Re-run frozen acceptance tests
|
|
71
|
+
skill: workflow-run-acceptance-tests
|
|
72
|
+
depends_on:
|
|
73
|
+
- code-index-refresh
|
|
74
|
+
inputs:
|
|
75
|
+
- ".planning/requirements/{feature}/tests.json"
|
|
76
|
+
- ".planning/features/{feature}/acceptance-test-bindings.json"
|
|
77
|
+
- ".planning/code-index/AUDIT.md"
|
|
78
|
+
outputs:
|
|
79
|
+
- path: ".planning/test-runs/{feature}/acceptance-results.json"
|
|
80
|
+
type: acceptance-test-results
|
|
81
|
+
required: true
|
|
82
|
+
|
|
83
|
+
return_to:
|
|
84
|
+
flow: feature-development
|
|
85
|
+
step: run-acceptance-tests
|
|
86
|
+
status: waiting_checkpoint
|
|
87
|
+
checkpoint: CP-4
|
package/plugins/devflow-core/skills/workflow-orchestrator/templates/feature-development.yaml
CHANGED
|
@@ -67,7 +67,7 @@ governance:
|
|
|
67
67
|
- test-coverage-check
|
|
68
68
|
- acceptance-test-results-check
|
|
69
69
|
- change-impact-check
|
|
70
|
-
|
|
70
|
+
run-acceptance-tests:
|
|
71
71
|
- acceptance-coverage-check
|
|
72
72
|
- acceptance-test-results-check
|
|
73
73
|
- change-impact-check
|
|
@@ -132,11 +132,11 @@ parallel_windows:
|
|
|
132
132
|
- ".planning/features/{feature}/前端技术方案.md"
|
|
133
133
|
|
|
134
134
|
failure_branches:
|
|
135
|
-
|
|
136
|
-
id:
|
|
137
|
-
label:
|
|
138
|
-
workflow:
|
|
139
|
-
workflow_config: ".planning/workflows/
|
|
135
|
+
run-acceptance-tests:
|
|
136
|
+
id: acceptance-failed-remediation
|
|
137
|
+
label: Acceptance failure remediation
|
|
138
|
+
workflow: acceptance-remediation
|
|
139
|
+
workflow_config: ".planning/workflows/acceptance-remediation.yaml"
|
|
140
140
|
trigger_conditions:
|
|
141
141
|
state_statuses:
|
|
142
142
|
- failed
|
|
@@ -147,7 +147,7 @@ failure_branches:
|
|
|
147
147
|
- failed
|
|
148
148
|
resume_after_success:
|
|
149
149
|
flow: feature-development
|
|
150
|
-
step:
|
|
150
|
+
step: run-acceptance-tests
|
|
151
151
|
status: waiting_checkpoint
|
|
152
152
|
checkpoint: CP-4
|
|
153
153
|
|
|
@@ -306,28 +306,23 @@ checkpoints:
|
|
|
306
306
|
skip_policy: never
|
|
307
307
|
resume_behavior: "user confirms, then continue with phase-structure"
|
|
308
308
|
CP-4:
|
|
309
|
-
name: Acceptance confirmation
|
|
310
|
-
gate_after:
|
|
311
|
-
producing_step:
|
|
309
|
+
name: Acceptance result confirmation
|
|
310
|
+
gate_after: run-acceptance-tests
|
|
311
|
+
producing_step: run-acceptance-tests
|
|
312
312
|
required_outputs:
|
|
313
|
-
- ".planning/
|
|
314
|
-
- ".planning/phases/{phase}/01-VERIFICATION.md"
|
|
315
|
-
required_meta_output: ".planning/phases/{phase}/01-VERIFICATION.meta.json"
|
|
313
|
+
- ".planning/test-runs/{feature}/acceptance-results.json"
|
|
316
314
|
required_meta_fields:
|
|
317
|
-
-
|
|
318
|
-
-
|
|
319
|
-
-
|
|
320
|
-
-
|
|
321
|
-
-
|
|
322
|
-
- known_issues
|
|
315
|
+
- acceptance_tc_passed
|
|
316
|
+
- acceptance_tc_failed
|
|
317
|
+
- acceptance_tc_blocked
|
|
318
|
+
- acceptance_suite_graph_revision
|
|
319
|
+
- acceptance_results_fingerprint
|
|
323
320
|
summary_fields:
|
|
324
|
-
-
|
|
325
|
-
-
|
|
326
|
-
-
|
|
327
|
-
-
|
|
328
|
-
|
|
329
|
-
- known_issues
|
|
330
|
-
prompt: "确认 UAT、主流程、规则、兼容性和工具链验证已通过,并允许进入审计归档。"
|
|
321
|
+
- acceptance_tc_passed
|
|
322
|
+
- acceptance_tc_failed
|
|
323
|
+
- acceptance_tc_blocked
|
|
324
|
+
- acceptance_results_fingerprint
|
|
325
|
+
prompt: "确认冻结的 TC-* 已全部执行并通过,允许进入版本收口与里程碑归档。"
|
|
331
326
|
confirm_options:
|
|
332
327
|
- approve
|
|
333
328
|
- needs_fix
|
|
@@ -907,84 +902,20 @@ steps:
|
|
|
907
902
|
type: acceptance-test-results
|
|
908
903
|
required: true
|
|
909
904
|
|
|
910
|
-
- id:
|
|
911
|
-
order:
|
|
912
|
-
label:
|
|
913
|
-
skill: workflow-
|
|
905
|
+
- id: release-closeout
|
|
906
|
+
order: 100
|
|
907
|
+
label: Release closeout and milestone archive
|
|
908
|
+
skill: workflow-release-closeout
|
|
914
909
|
depends_on:
|
|
915
|
-
- code-review
|
|
916
|
-
- generate-mainflow-cases
|
|
917
910
|
- run-acceptance-tests
|
|
918
911
|
inputs:
|
|
919
|
-
- ".planning/features/{feature}/PROGRESS.md"
|
|
920
|
-
- ".planning/phases/{phase}/SUMMARY.md"
|
|
921
|
-
- ".planning/phases/{phase}/MAINFLOW-CASES.md"
|
|
922
|
-
- ".planning/generated-cases/{feature}/validation-report.md"
|
|
923
|
-
- ".planning/generated-cases/{feature}/case-import-payloads.json"
|
|
924
912
|
- ".planning/test-runs/{feature}/acceptance-results.json"
|
|
925
|
-
|
|
926
|
-
-
|
|
927
|
-
type: uat-report
|
|
928
|
-
required: true
|
|
929
|
-
- path: ".planning/phases/{phase}/01-VERIFICATION.md"
|
|
930
|
-
type: verification-report
|
|
931
|
-
required: true
|
|
932
|
-
meta_output:
|
|
933
|
-
path: ".planning/phases/{phase}/01-VERIFICATION.meta.json"
|
|
934
|
-
fields:
|
|
935
|
-
uat_passed: { type: integer, required: true }
|
|
936
|
-
uat_failed: { type: integer, required: true }
|
|
937
|
-
uat_skipped: { type: integer, required: true }
|
|
938
|
-
gate_passed: { type: integer, required: true }
|
|
939
|
-
gate_total: { type: integer, required: true }
|
|
940
|
-
acceptance_tc_passed: { type: integer, required: true }
|
|
941
|
-
acceptance_tc_failed: { type: integer, required: true }
|
|
942
|
-
acceptance_tc_blocked: { type: integer, required: true }
|
|
943
|
-
acceptance_suite_graph_revision: { type: integer, required: true }
|
|
944
|
-
acceptance_results_fingerprint: { type: string, required: true }
|
|
945
|
-
known_issues: { type: array, required: true }
|
|
946
|
-
checkpoint: CP-4
|
|
947
|
-
|
|
948
|
-
- id: audit
|
|
949
|
-
order: 100
|
|
950
|
-
label: Audit
|
|
951
|
-
skill: workflow-audit-milestone
|
|
952
|
-
depends_on:
|
|
953
|
-
- verify
|
|
954
|
-
inputs:
|
|
955
|
-
- ".planning/phases/{phase}/01-UAT.md"
|
|
956
|
-
- ".planning/phases/{phase}/01-VERIFICATION.md"
|
|
957
|
-
- ".planning/features/{feature}/PROGRESS.md"
|
|
958
|
-
outputs:
|
|
959
|
-
- path: ".planning/milestone-audit.md"
|
|
960
|
-
type: milestone-audit
|
|
961
|
-
required: true
|
|
962
|
-
|
|
963
|
-
- id: update-navigation
|
|
964
|
-
order: 110
|
|
965
|
-
label: Update navigation
|
|
966
|
-
skill: workflow-update-navigation
|
|
967
|
-
depends_on:
|
|
968
|
-
- audit
|
|
969
|
-
inputs:
|
|
970
|
-
- "."
|
|
971
|
-
outputs:
|
|
972
|
-
- path: ".planning/navigation/INDEX.md"
|
|
973
|
-
type: navigation-index
|
|
974
|
-
required: true
|
|
975
|
-
|
|
976
|
-
- id: archive
|
|
977
|
-
order: 120
|
|
978
|
-
label: Archive
|
|
979
|
-
skill: workflow-complete-milestone
|
|
980
|
-
depends_on:
|
|
981
|
-
- update-navigation
|
|
982
|
-
inputs:
|
|
983
|
-
- ".planning/milestone-audit.md"
|
|
913
|
+
- ".planning/code-index/AUDIT.md"
|
|
914
|
+
- ".planning/features/{feature}/变更清单.md"
|
|
984
915
|
- ".planning/navigation/INDEX.md"
|
|
985
916
|
outputs:
|
|
986
|
-
- path: ".planning/milestones/current-
|
|
987
|
-
type:
|
|
917
|
+
- path: ".planning/milestones/current-CLOSEOUT.md"
|
|
918
|
+
type: release-closeout
|
|
988
919
|
required: true
|
|
989
920
|
|
|
990
921
|
resume_rules:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: workflow-pipeline
|
|
3
|
-
description: Use when running or resuming the full .planning delivery pipeline from requirements through implementation,
|
|
3
|
+
description: Use when running or resuming the full .planning delivery pipeline from requirements through implementation, frozen acceptance tests, and Devflow release closeout.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
<objective>
|
|
@@ -42,10 +42,8 @@ pipeline 本身不包含执行规则——所有门禁、CP 协议、失败分
|
|
|
42
42
|
| 84 | code-index-refresh | 刷新机器代码索引并审查 |
|
|
43
43
|
| 85 | code-review | 代码审查(完成标准验证) |
|
|
44
44
|
| 86 | generate-mainflow-cases | 主流程自动化用例生成 |
|
|
45
|
-
| 90 |
|
|
46
|
-
| 100 |
|
|
47
|
-
| 110 | update-navigation | 更新导航 |
|
|
48
|
-
| 120 | archive | 里程碑归档 |
|
|
45
|
+
| 90 | run-acceptance-tests | 冻结 TC 验收执行 |
|
|
46
|
+
| 100 | release-closeout | 验收通过后的版本收口与里程碑归档 |
|
|
49
47
|
|
|
50
48
|
- **`--track A`**:后端/API 轨道产物模式。可跑 `requirement-triage → requirement-wayfinder → domain-modeling → requirement-feasibility-review → requirement-baseline → api-contract → architecture-feasibility → backend-tech-spec → api-call-guide`,但不能自动进入 `integration-verify / change-plan / execute`。
|
|
51
49
|
- **`--track B`**:前端/UI 轨道产物模式。要求 `api-contract` 与 `architecture-feasibility` 已完成;新需求从需求主链开始,已有共同事实可跑 `ui-spec → feature-breakdown → frontend-tech-spec`,但不能自动进入 `change-plan / execute`。
|
|
@@ -102,38 +102,25 @@ workflow-pipeline 启动
|
|
|
102
102
|
│ ↑
|
|
103
103
|
▼ │ 审查失败/用例生成失败
|
|
104
104
|
┌─────────────────────────────────────┐
|
|
105
|
-
│ Step 6:
|
|
106
|
-
│ workflow-
|
|
107
|
-
│
|
|
108
|
-
│
|
|
105
|
+
│ Step 6: 需求验收测试执行 │
|
|
106
|
+
│ workflow-run-acceptance-tests │
|
|
107
|
+
│ 执行冻结的 TC-* │
|
|
108
|
+
│ 失败/阻塞 → 修复 → 重跑 │
|
|
109
109
|
└──────────────┬──────────────────────┘
|
|
110
110
|
│ ↑
|
|
111
111
|
▼ │ 用户拒绝
|
|
112
112
|
┌─────────────────────────────────────┐
|
|
113
|
-
│ 🔴 CP-4:
|
|
113
|
+
│ 🔴 CP-4: 验收结果确认 │
|
|
114
114
|
│ ask 强制暂停 │
|
|
115
115
|
│ 不可跳过 │
|
|
116
|
-
│ 确认:
|
|
116
|
+
│ 确认: TC-* 全部通过,允许版本收口 │
|
|
117
117
|
└──────────────┬──────────────────────┘
|
|
118
118
|
│ 用户确认
|
|
119
119
|
▼
|
|
120
120
|
┌─────────────────────────────────────┐
|
|
121
|
-
│ Step 7:
|
|
122
|
-
│ workflow-
|
|
123
|
-
│
|
|
124
|
-
└──────────────┬──────────────────────┘
|
|
125
|
-
│ ↑
|
|
126
|
-
▼ │ 补齐后重试
|
|
127
|
-
┌─────────────────────────────────────┐
|
|
128
|
-
│ Step 7.5: 更新导航 │
|
|
129
|
-
│ workflow-update-navigation │
|
|
130
|
-
│ 增量同步 navigation 到代码结构 │
|
|
131
|
-
└──────────────┬──────────────────────┘
|
|
132
|
-
▼
|
|
133
|
-
┌─────────────────────────────────────┐
|
|
134
|
-
│ Step 8: 里程碑归档 │
|
|
135
|
-
│ workflow-complete-milestone │
|
|
136
|
-
│ 归档 → 更新 PROJECT.md → git tag │
|
|
121
|
+
│ Step 7: 版本收口与里程碑归档 │
|
|
122
|
+
│ workflow-release-closeout │
|
|
123
|
+
│ 校验 TC/code-index → 归档 → 更新状态 │
|
|
137
124
|
└─────────────────────────────────────┘
|
|
138
125
|
│
|
|
139
126
|
▼
|
|
@@ -53,7 +53,7 @@ Write this table into the baseline and carry `SL-*` IDs downstream:
|
|
|
53
53
|
|
|
54
54
|
| Slice ID | Name | Outcome | Included FP/BR/BC | Depends on | Entry/chain | Excluded/deferred | Gate |
|
|
55
55
|
|----------|------|---------|-------------------|------------|-------------|-------------------|------|
|
|
56
|
-
| SL-001 | Core path | User can complete X | FP-001, BR-001, BC-001 | none | page -> API -> table -> list | reporting |
|
|
56
|
+
| SL-001 | Core path | User can complete X | FP-001, BR-001, BC-001 | none | page -> API -> table -> list | reporting | TC acceptance path |
|
|
57
57
|
|
|
58
58
|
Rules:
|
|
59
59
|
|
package/plugins/devflow-implementation/skills/workflow-change-plan/references/output-template.md
CHANGED
|
@@ -164,8 +164,8 @@ Redis / MQ 等变更(如有)。
|
|
|
164
164
|
| 阶段 | 负责 | 不负责 |
|
|
165
165
|
|------|------|--------|
|
|
166
166
|
| workflow-change-plan | 规划任务级测试策略、范围、规划级命令、跳过自动化测试分级 | 不执行测试 |
|
|
167
|
-
| workflow-execute-phase | 新增/更新任务级单元、集成、组件、API、迁移验证;补充执行级命令并运行 |
|
|
168
|
-
| workflow-
|
|
167
|
+
| workflow-execute-phase | 新增/更新任务级单元、集成、组件、API、迁移验证;补充执行级命令并运行 | 不替代冻结 TC 的需求验收执行 |
|
|
168
|
+
| workflow-run-acceptance-tests | 执行冻结 TC、全局工具链、E2E/浏览器验证、兼容性、回归、需求覆盖 | 不重新设计每个任务的单元/集成策略 |
|
|
169
169
|
|
|
170
170
|
### 5.2 任务测试策略矩阵
|
|
171
171
|
|