@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
|
@@ -44,7 +44,7 @@ Preserve these properties:
|
|
|
44
44
|
| `workflow-project-context` | Full reinitialization | Full only |
|
|
45
45
|
| `workflow-bug-fix` | Bug-fix main workflow | Must call this skill after verification and lesson capture |
|
|
46
46
|
| `workflow-execute-phase` | Feature implementation workflow | Must call this skill after implementation verification |
|
|
47
|
-
| `workflow-
|
|
47
|
+
| `workflow-run-acceptance-tests` | Execute frozen requirement tests | After implementation and code-index refresh |
|
|
48
48
|
|
|
49
49
|
## Inputs
|
|
50
50
|
|
|
@@ -181,6 +181,6 @@ The code-index commands are required only when `.planning/code-index/` exists or
|
|
|
181
181
|
|
|
182
182
|
## Downstream Read Contract
|
|
183
183
|
|
|
184
|
-
- `workflow-
|
|
184
|
+
- `workflow-release-closeout` should verify that navigation `Scan Status` is not older than the last commit before archiving.
|
|
185
185
|
- Future `workflow-requirement-baseline` invocations will read the updated navigation for conflict and reuse detection.
|
|
186
186
|
- Future source-tracing tasks should use `.planning/code-index/` for fine-grained relation facts when available, with source readback before answering.
|
|
@@ -22,9 +22,9 @@ description: "Use after workflow-execute-phase to bind frozen API/page TC accept
|
|
|
22
22
|
|
|
23
23
|
## Workflow Position
|
|
24
24
|
|
|
25
|
-
This step sits between code execution and
|
|
25
|
+
This step sits between code execution and frozen acceptance execution. It runs after `execute` alongside `code-review`; `run-acceptance-tests` consumes both gates:
|
|
26
26
|
|
|
27
|
-
`execute -> code-review + generate-mainflow-cases ->
|
|
27
|
+
`execute -> code-review + generate-mainflow-cases -> run-acceptance-tests -> release-closeout`
|
|
28
28
|
|
|
29
29
|
The workflow step id is `generate-mainflow-cases`, order `86`, and it depends on `execute`.
|
|
30
30
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-release-closeout
|
|
3
|
+
description: "在冻结需求验收测试全部通过后,执行 Devflow 自有的版本收口与里程碑归档。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Devflow 版本收口
|
|
7
|
+
|
|
8
|
+
## 目标
|
|
9
|
+
|
|
10
|
+
把一次已经完成编码、索引刷新和需求验收测试的交付,收敛为一个可追溯的版本归档。此步骤不是重新设计测试,也不是凭报告自述通过。
|
|
11
|
+
|
|
12
|
+
## 必须读取
|
|
13
|
+
|
|
14
|
+
- `.planning/requirements/{feature}/tests.json`
|
|
15
|
+
- `.planning/test-runs/{feature}/acceptance-results.json`
|
|
16
|
+
- `.planning/features/{feature}/变更清单.md`
|
|
17
|
+
- `.planning/code-index/AUDIT.md`
|
|
18
|
+
- `.planning/PROJECT.md`
|
|
19
|
+
- `.planning/STATE.md`
|
|
20
|
+
- `.planning/navigation/INDEX.md`
|
|
21
|
+
|
|
22
|
+
## 归档前置条件(全部满足)
|
|
23
|
+
|
|
24
|
+
1. 每个冻结的 `TC-*` 都有执行结果,且结果引用当前测试集 revision/fingerprint。
|
|
25
|
+
2. 不存在 `failed`、`blocked`、未执行或环境缺失的 TC。
|
|
26
|
+
3. 变更清单任务已完成,TDD/回归证据已存在或有明确豁免。
|
|
27
|
+
4. `code-index` 已刷新,`AUDIT.md` 通过,索引没有 stale blocker。
|
|
28
|
+
5. 需求基线、架构风险和契约没有未处理的阻塞项。
|
|
29
|
+
|
|
30
|
+
任何一项不满足,都必须停止收口,返回 `workflow-bug-fix` 或 `workflow-run-acceptance-tests`,不能生成“已完成”归档。
|
|
31
|
+
|
|
32
|
+
## 收口动作
|
|
33
|
+
|
|
34
|
+
1. 读取 Core-owned `acceptance-results.json`,计算通过/失败/阻塞数量。
|
|
35
|
+
2. 更新 `.planning/navigation/INDEX.md`,记录本次 code-index revision 和验收结果 fingerprint。
|
|
36
|
+
3. 在 `.planning/milestones/` 写入本版本的 ROADMAP、需求覆盖、测试结果、变更清单和已接受风险摘要。
|
|
37
|
+
4. 更新 `.planning/PROJECT.md` 的当前版本与下一步目标。
|
|
38
|
+
5. 通过 Core 状态工具更新 `.planning/STATE.md`,将当前 feature 标记为完成。
|
|
39
|
+
6. 归档写入完成后才允许创建 git tag;是否提交或推送由用户明确决定。
|
|
40
|
+
|
|
41
|
+
## 输出
|
|
42
|
+
|
|
43
|
+
- `.planning/milestones/{version}-CLOSEOUT.md`
|
|
44
|
+
- 更新后的 `.planning/PROJECT.md`
|
|
45
|
+
- 更新后的 `.planning/STATE.md`
|
|
46
|
+
- 更新后的 `.planning/navigation/INDEX.md`
|
|
47
|
+
|
|
48
|
+
归档文件是结果摘要,不是通过依据;唯一的验收真相是 Core-owned `acceptance-results.json` 和 code-index 审计结果。
|
|
@@ -5,7 +5,7 @@ description: "Execute the frozen TC acceptance suite after code review. Use the
|
|
|
5
5
|
|
|
6
6
|
# 冻结验收测试执行
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
此步骤在代码审查后运行。它的目标是执行冻结的 `TC-*`,而不是根据交付总结重新猜测要测什么。
|
|
9
9
|
|
|
10
10
|
## 输入边界
|
|
11
11
|
|
|
@@ -38,7 +38,7 @@ description: "Execute the frozen TC acceptance suite after code review. Use the
|
|
|
38
38
|
- 人工或环境阻塞用例必须有 owner 与原因/阻塞源。
|
|
39
39
|
5. 调用 `devflow_run_acceptance_tests(action="validate", feature=...)`。不通过时修正绑定,不得绕过。
|
|
40
40
|
6. 调用 `devflow_run_acceptance_tests(action="run", feature=...)`。该 Core 工具记录每个 TC 的命令哈希、退出码和输出摘要。
|
|
41
|
-
7. 失败、未执行或 blocked 的 TC 只能报告为 `blocked`/`failed
|
|
41
|
+
7. 失败、未执行或 blocked 的 TC 只能报告为 `blocked`/`failed`,不得进入版本收口。
|
|
42
42
|
|
|
43
43
|
## 输出
|
|
44
44
|
|
package/src/constants.ts
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
|
|
42
42
|
1. 写入 `.planning/.next-intent`:
|
|
43
43
|
- 继续下一步:`{"action": "continue"}`
|
|
44
|
-
- 调用指定 skill:`{"action": "skill", "skill": "workflow-
|
|
44
|
+
- 调用指定 skill:`{"action": "skill", "skill": "workflow-run-acceptance-tests", "args": "..."}`
|
|
45
45
|
2. 执行 `/clear`
|
|
46
46
|
|
|
47
47
|
`/clear` 后 SessionStart hook 重新注入上下文,`<intent>` 块会告知此会话的意图,无需再问用户即可直接进入下一步。
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
|
|
51
51
|
## 执行中的行为准则
|
|
52
52
|
|
|
53
|
-
- workflow skill 使用 `skill://<name>` 按需读取(如 `skill://workflow-
|
|
53
|
+
- workflow skill 使用 `skill://<name>` 按需读取(如 `skill://workflow-run-acceptance-tests`)。
|
|
54
54
|
- 上下文管理:你觉得需要时就 `/clear`,不要等 compaction。`/clear` 后 hook 会自动恢复 pipeline 状态和索引入口。
|
|
55
55
|
- 优先读取最新的规则、规范和导航索引;索引缺失或过期时回退到 LSP、搜索和源码事实,并显式报告降级状态
|
|
56
56
|
- 读 `.context/lessons/README.md`,避免已知陷阱
|
package/templates/omp/config.yml
CHANGED
|
@@ -31,12 +31,11 @@ skills:
|
|
|
31
31
|
- workflow-api-call-guide
|
|
32
32
|
- workflow-api-contract
|
|
33
33
|
- workflow-api-supplement
|
|
34
|
-
- workflow-audit-milestone
|
|
35
34
|
- workflow-backend-tech-spec
|
|
36
35
|
- workflow-bug-fix
|
|
37
36
|
- workflow-change-plan
|
|
38
37
|
- workflow-code-index
|
|
39
|
-
- workflow-
|
|
38
|
+
- workflow-release-closeout
|
|
40
39
|
- workflow-context-sync
|
|
41
40
|
- workflow-demand-clarify
|
|
42
41
|
- workflow-design-rule-pack
|
|
@@ -53,7 +52,6 @@ skills:
|
|
|
53
52
|
- workflow-requirement-triage
|
|
54
53
|
- workflow-ui-spec
|
|
55
54
|
- workflow-update-navigation
|
|
56
|
-
- workflow-verify-work
|
|
57
55
|
- workflow-wayfinder
|
|
58
56
|
enableClaudeUser: false
|
|
59
57
|
enableClaudeProject: false
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# Devflow OMP 原生架构
|
|
2
|
-
|
|
3
|
-
## 结论
|
|
4
|
-
|
|
5
|
-
Pi/OMP 不把任意 `.skill` 文件或名为 `.skills` 的目录自动视为 skill。稳定的能力单元是:
|
|
6
|
-
|
|
7
|
-
```text
|
|
8
|
-
<skill-name>/SKILL.md
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Pi 默认扫描项目 `.pi/skills/` 和兼容的 `.agents/skills/`;OMP 默认扫描 `.omp/skills/`,也允许用 `skills.customDirectories` 指向任意 skill 集合目录。本项目选择直接扫描 `.skills/plugins/*/skills`,不生成 `.claude/`、`.codex/` 或 `.omp/skills` 镜像。
|
|
12
|
-
|
|
13
|
-
依据:
|
|
14
|
-
|
|
15
|
-
- [Pi Skills](https://pi.dev/docs/latest/skills)
|
|
16
|
-
- [OMP Skills](https://github.com/can1357/oh-my-pi/blob/main/docs/skills.md)
|
|
17
|
-
- [OMP Settings](https://github.com/can1357/oh-my-pi/blob/main/docs/settings.md)
|
|
18
|
-
- [OMP Marketplace](https://github.com/can1357/oh-my-pi/blob/main/docs/marketplace.md)
|
|
19
|
-
- [OMP Extensions](https://github.com/can1357/oh-my-pi/blob/main/docs/extensions.md)
|
|
20
|
-
|
|
21
|
-
## 第一性原理
|
|
22
|
-
|
|
23
|
-
项目开发 agent 的目标不是“调用更多 prompt”,而是以最小不可逆风险交付可验证的正确变更。因此能力按其本质分层:
|
|
24
|
-
|
|
25
|
-
| 能力本质 | OMP 承载面 | 原因 |
|
|
26
|
-
|---|---|---|
|
|
27
|
-
| 领域知识、步骤、模板 | Skill | 按需加载,避免常驻上下文膨胀 |
|
|
28
|
-
| 必须强制的不变量 | Extension/tool | prompt 不能作为并发控制或权限边界 |
|
|
29
|
-
| 独立探索、实现、审查 | Task agent | 隔离上下文与写权限,避免角色自证 |
|
|
30
|
-
| 项目级默认策略 | `.omp/config.yml` | 固定发现源、审批、并发、递归与隔离 |
|
|
31
|
-
| 可安装能力边界 | Marketplace capability pack | 独立启停 Skills/Agents 等内容;不承担强制运行时加载 |
|
|
32
|
-
| 项目事实与进度 | `.planning/` | 跨会话持久化;不能依赖聊天记忆 |
|
|
33
|
-
|
|
34
|
-
事实优先级固定为:可执行测试与运行结果 → 当前源码/LSP → 已批准契约 → 新鲜索引 → 模型推断。索引只能加速定位,不能覆盖源码事实。
|
|
35
|
-
|
|
36
|
-
## 插件拆分
|
|
37
|
-
|
|
38
|
-
| 插件 | 唯一责任 | Skills | Extension/tools | Task agents |
|
|
39
|
-
|---|---|---|---|---|
|
|
40
|
-
| `devflow-core` | 控制面 | pipeline、orchestrator、project-context | 状态、初始化、CAS 转移、制品、生命周期、`/devflow` | — |
|
|
41
|
-
| `devflow-intel` | 项目事实发现 | code-index、query、context-sync、navigation | code index、context cursor | `project-scout` |
|
|
42
|
-
| `devflow-requirements` | 需求决策 | triage、wayfinder、domain、feasibility、baseline | — | `requirements-auditor` |
|
|
43
|
-
| `devflow-design` | 跨层契约 | API/UI/前后端/拆解/集成/设计规则 | design rule pack | `contract-auditor` |
|
|
44
|
-
| `devflow-implementation` | 有界代码变更 | change-plan、execute、bug-fix | — | `implementation-worker` |
|
|
45
|
-
| `devflow-quality` | 独立质量结论 | review、mainflow、UAT、audit、archive | mainflow cases | reviewer、verification runner |
|
|
46
|
-
|
|
47
|
-
每个插件的 `skills/` 存放实体真本,仓库根部的同名目录是兼容链接。原因是 marketplace 会把单个插件目录缓存为独立包:插件内部不能依赖指向包外部的 skill 链接。
|
|
48
|
-
|
|
49
|
-
## 控制面不变量
|
|
50
|
-
|
|
51
|
-
1. `.planning/STATE.md`、workflow 定义、artifact registry 和 `.next-intent` 只能由 Devflow 工具写。
|
|
52
|
-
2. 所有控制面 writer 共用 `.planning/.devflow.lock`,文件用临时文件 + `fsync` + 原子 rename 写入。
|
|
53
|
-
3. 每次状态推进必须携带刚读取的 `expectedRevision`;过期写返回 `stale_revision`,不产生部分副作用。显式 force 初始化是独立的用户批准操作。
|
|
54
|
-
4. artifact registry 携带 `state_revision`,它是从状态派生的缓存,不是第二真相源。
|
|
55
|
-
5. task agent 不推进状态、不批准 checkpoint;只有父会话能提交状态转移。
|
|
56
|
-
6. 人工 checkpoint 不在 headless 场景自动通过。
|
|
57
|
-
7. extension 只暴露白名单脚本工具,不提供任意脚本路径执行器。
|
|
58
|
-
|
|
59
|
-
## 对抗式审查
|
|
60
|
-
|
|
61
|
-
| 攻击/失败方式 | 后果 | 当前防线 | 剩余边界 |
|
|
62
|
-
|---|---|---|---|
|
|
63
|
-
| 两个 agent 同时推进同一步 | 丢更新、重复 checkpoint | project lock + revision/CAS | NFS 等非标准锁语义需另行验证 |
|
|
64
|
-
| 模型直接编辑 STATE/workflow | 状态与制品漂移 | `tool_call` 拦截 + 专用 writer tools | extension 是进程内代码,安装源必须可信 |
|
|
65
|
-
| 索引过期仍被当作真相 | 修改错文件或漏影响面 | advisory index + LSP/源码回退 | 大仓库降级扫描会更慢 |
|
|
66
|
-
| 子 agent 自己验证自己 | 漏报和确认偏差 | 实现、审查、验证角色拆开 | 是否接受风险仍由父会话/用户决定 |
|
|
67
|
-
| skill 在根目录和插件目录复制 | 两份规则逐渐分叉 | 插件实体唯一真本 + 根兼容链接 + 布局测试 | Windows checkout 的 symlink 策略需在发布环境验证 |
|
|
68
|
-
| marketplace 只缓存插件子目录 | 跨包链接断裂或 Extension 未加载 | 每个插件自包含 capability 内容;完整 Runtime 由安装器部署 | 跨插件工作流要求全套能力包和项目 Runtime |
|
|
69
|
-
| 任意脚本包装器扩大执行面 | prompt 注入获得任意执行 | 按插件拆分的枚举/固定脚本工具 | 脚本本身仍需代码审查 |
|
|
70
|
-
| OMP 导入外部 harness 配置 | 规则冲突、工具面失控 | project config 禁用外部配置发现源 | 用户全局模型凭据仍由用户管理 |
|
|
71
|
-
|
|
72
|
-
## 安装模型
|
|
73
|
-
|
|
74
|
-
项目固定版本模式是完整研发流水线的标准安装方式:`.skills` 作为 submodule,运行 `install.sh --apply` 生成 `.omp` 配置、extensions、agents 和 gate policy,并执行完整性 postflight。
|
|
75
|
-
|
|
76
|
-
Marketplace 模式只适合按能力启停 Skills、Agents、Commands 等内容。OMP Marketplace 安装不会加载 `package.json` 的 `omp.extensions`,所以即使六个插件全部安装,也不等价于完整 Runtime。完整流水线仍需项目安装器;更新 Extension 后必须重启会话,仅 Skill 变化可 reload plugins。
|
|
77
|
-
|
|
78
|
-
## 启动与模型门禁
|
|
79
|
-
|
|
80
|
-
`/devflow start <feature>|<phase>` 不是提示词别名。Core Extension 按以下顺序执行:
|
|
81
|
-
|
|
82
|
-
1. 运行 `/devflow doctor` 等价预检;
|
|
83
|
-
2. 验证 Extension tools、Skills、Agents、脚本和项目配置;
|
|
84
|
-
3. 用 OMP 模型解析器解析 `@smol`、`@task`、`@slow`;
|
|
85
|
-
4. 拒绝未解析角色或三个角色落到同一具体模型;
|
|
86
|
-
5. 初始化 workflow/state/artifact registry;
|
|
87
|
-
6. 调用 inspector 生成最小当前步骤信封;
|
|
88
|
-
7. 通过 `sendUserMessage` 自动启动 `workflow-pipeline`。
|
|
89
|
-
|
|
90
|
-
进入 runtime loop 后,每次成功迁移都重新 inspect 并继续下一合法步骤,直到人工 checkpoint、`blocked`、工具硬失败或 `workflow_complete`。因此“自动跑完整流程”表示自动跑到下一个必须由人或外部事实决定的边界,不表示自动批准 checkpoint。
|
|
91
|
-
|
|
92
|
-
`task.agentModelOverrides` 以 agent name 为键,优先于 agent frontmatter 和父模型继承。模型角色的具体 provider/model 仍由项目所有者在 OMP 项目 role store 中选择,仓库不硬编码供应商凭据或可能过期的模型 ID。
|
|
93
|
-
|
|
94
|
-
## 验证门槛
|
|
95
|
-
|
|
96
|
-
发布前至少通过:
|
|
97
|
-
|
|
98
|
-
- 每个根 skill 唯一映射到一个插件实体目录;
|
|
99
|
-
- 单插件复制到独立缓存后不存在断链 skill;
|
|
100
|
-
- 所有 SKILL frontmatter 只有稳定的 `name`、`description`;
|
|
101
|
-
- 安装器不创建 `.claude/`、`.codex/` 或 `.omp/skills`;
|
|
102
|
-
- 同 revision 并发写只有一个成功;
|
|
103
|
-
- Ruby/Python/JSON/Bash 语法检查和 Bun extension build;
|
|
104
|
-
- 在实际安装的 OMP 版本中做一次 extension 加载与 `/devflow status` 冒烟测试。
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
schema_version: 1
|
|
2
|
-
id: uat-remediation
|
|
3
|
-
name: Verify Failure Remediation
|
|
4
|
-
description: >
|
|
5
|
-
Generic remediation flow for failed verification or rejected acceptance checkpoints.
|
|
6
|
-
|
|
7
|
-
artifact_registry:
|
|
8
|
-
source: ".planning/artifacts/index.yaml"
|
|
9
|
-
path_key: path
|
|
10
|
-
status_key: status
|
|
11
|
-
pending_statuses:
|
|
12
|
-
- planned
|
|
13
|
-
- pending_rerun
|
|
14
|
-
terminal_success_statuses:
|
|
15
|
-
- approved
|
|
16
|
-
- completed
|
|
17
|
-
- passed
|
|
18
|
-
|
|
19
|
-
entry:
|
|
20
|
-
from_flow: feature-development
|
|
21
|
-
from_step: verify
|
|
22
|
-
triggers:
|
|
23
|
-
state_statuses:
|
|
24
|
-
- failed
|
|
25
|
-
checkpoint_decisions:
|
|
26
|
-
- rejected
|
|
27
|
-
- needs_fix
|
|
28
|
-
artifact_statuses:
|
|
29
|
-
- failed
|
|
30
|
-
initial_step: diagnose
|
|
31
|
-
|
|
32
|
-
state_contract:
|
|
33
|
-
source: ".planning/STATE.md"
|
|
34
|
-
suggested_transition:
|
|
35
|
-
current_flow: uat-remediation
|
|
36
|
-
current_step: diagnose
|
|
37
|
-
status: in_progress
|
|
38
|
-
completed_steps: []
|
|
39
|
-
pending_steps:
|
|
40
|
-
- diagnose
|
|
41
|
-
- execute-fix
|
|
42
|
-
- code-index-refresh
|
|
43
|
-
- run-acceptance-tests
|
|
44
|
-
- reverify
|
|
45
|
-
- lesson
|
|
46
|
-
|
|
47
|
-
variables:
|
|
48
|
-
feature:
|
|
49
|
-
source: state.current_feature
|
|
50
|
-
phase:
|
|
51
|
-
source: state.current_phase
|
|
52
|
-
|
|
53
|
-
lessons_policy:
|
|
54
|
-
sources:
|
|
55
|
-
- path: ".context/lessons/README.md"
|
|
56
|
-
required: false
|
|
57
|
-
- path: ".planning/lessons/README.md"
|
|
58
|
-
required: false
|
|
59
|
-
selection:
|
|
60
|
-
enabled: true
|
|
61
|
-
max_candidates: 8
|
|
62
|
-
min_score: 1
|
|
63
|
-
write:
|
|
64
|
-
enabled: true
|
|
65
|
-
default_dir: ".context/lessons"
|
|
66
|
-
index_path: ".context/lessons/README.md"
|
|
67
|
-
template_only: true
|
|
68
|
-
|
|
69
|
-
steps:
|
|
70
|
-
- id: diagnose
|
|
71
|
-
order: 10
|
|
72
|
-
label: Diagnose failure
|
|
73
|
-
skill: workflow-bug-fix
|
|
74
|
-
depends_on: []
|
|
75
|
-
inputs:
|
|
76
|
-
- ".planning/phases/{phase}/01-UAT.md"
|
|
77
|
-
- ".planning/phases/{phase}/01-VERIFICATION.md"
|
|
78
|
-
- ".planning/phases/{phase}/SUMMARY.md"
|
|
79
|
-
- ".planning/features/{feature}/PROGRESS.md"
|
|
80
|
-
- ".planning/test-runs/{feature}/acceptance-results.json"
|
|
81
|
-
- ".planning/artifacts/index.yaml"
|
|
82
|
-
outputs:
|
|
83
|
-
- path: ".planning/phases/{phase}/REMEDIATION.md"
|
|
84
|
-
type: remediation-diagnosis
|
|
85
|
-
required: true
|
|
86
|
-
|
|
87
|
-
- id: execute-fix
|
|
88
|
-
order: 20
|
|
89
|
-
label: Execute fix
|
|
90
|
-
skill: workflow-execute-phase
|
|
91
|
-
depends_on:
|
|
92
|
-
- diagnose
|
|
93
|
-
inputs:
|
|
94
|
-
- ".planning/phases/{phase}/REMEDIATION.md"
|
|
95
|
-
- ".planning/features/{feature}/变更清单.md"
|
|
96
|
-
- ".planning/features/{feature}/PROGRESS.md"
|
|
97
|
-
outputs:
|
|
98
|
-
- path: ".planning/phases/{phase}/REMEDIATION-SUMMARY.md"
|
|
99
|
-
type: remediation-summary
|
|
100
|
-
required: true
|
|
101
|
-
|
|
102
|
-
- id: code-index-refresh
|
|
103
|
-
order: 25
|
|
104
|
-
label: Code index refresh
|
|
105
|
-
skill: workflow-code-index
|
|
106
|
-
depends_on:
|
|
107
|
-
- execute-fix
|
|
108
|
-
inputs:
|
|
109
|
-
- ".planning/phases/{phase}/REMEDIATION-SUMMARY.md"
|
|
110
|
-
- ".planning/features/{feature}/变更清单.md"
|
|
111
|
-
- ".planning/features/{feature}/PROGRESS.md"
|
|
112
|
-
outputs:
|
|
113
|
-
- path: ".planning/code-index/index.sqlite"
|
|
114
|
-
type: code-index-sqlite
|
|
115
|
-
required: true
|
|
116
|
-
- path: ".planning/code-index/AUDIT.md"
|
|
117
|
-
type: code-index-audit
|
|
118
|
-
required: true
|
|
119
|
-
|
|
120
|
-
- id: reverify
|
|
121
|
-
order: 30
|
|
122
|
-
label: Reverify
|
|
123
|
-
skill: workflow-verify-work
|
|
124
|
-
depends_on:
|
|
125
|
-
- run-acceptance-tests
|
|
126
|
-
inputs:
|
|
127
|
-
- ".planning/phases/{phase}/REMEDIATION-SUMMARY.md"
|
|
128
|
-
- ".planning/features/{feature}/PROGRESS.md"
|
|
129
|
-
- ".planning/test-runs/{feature}/acceptance-results.json"
|
|
130
|
-
outputs:
|
|
131
|
-
- path: ".planning/phases/{phase}/01-UAT.md"
|
|
132
|
-
type: uat-report
|
|
133
|
-
required: true
|
|
134
|
-
- path: ".planning/phases/{phase}/01-VERIFICATION.md"
|
|
135
|
-
type: verification-report
|
|
136
|
-
required: true
|
|
137
|
-
checkpoint: CP-4
|
|
138
|
-
|
|
139
|
-
- id: run-acceptance-tests
|
|
140
|
-
order: 28
|
|
141
|
-
label: Re-run frozen acceptance tests
|
|
142
|
-
skill: workflow-run-acceptance-tests
|
|
143
|
-
depends_on:
|
|
144
|
-
- code-index-refresh
|
|
145
|
-
inputs:
|
|
146
|
-
- ".planning/requirements/{feature}/tests.json"
|
|
147
|
-
- ".planning/features/{feature}/acceptance-test-bindings.json"
|
|
148
|
-
- ".planning/test-runs/{feature}/acceptance-results.json"
|
|
149
|
-
- ".planning/code-index/index.sqlite"
|
|
150
|
-
- ".planning/code-index/AUDIT.md"
|
|
151
|
-
outputs:
|
|
152
|
-
- path: ".planning/test-runs/{feature}/acceptance-results.json"
|
|
153
|
-
type: acceptance-test-results
|
|
154
|
-
required: true
|
|
155
|
-
|
|
156
|
-
- id: lesson
|
|
157
|
-
order: 40
|
|
158
|
-
label: Record lesson if needed
|
|
159
|
-
action: write-lesson-if-needed
|
|
160
|
-
depends_on:
|
|
161
|
-
- reverify
|
|
162
|
-
inputs:
|
|
163
|
-
- ".planning/phases/{phase}/REMEDIATION.md"
|
|
164
|
-
- ".planning/phases/{phase}/01-UAT.md"
|
|
165
|
-
- ".planning/phases/{phase}/01-VERIFICATION.md"
|
|
166
|
-
outputs:
|
|
167
|
-
- path: ".context/lessons/README.md"
|
|
168
|
-
type: lessons-index
|
|
169
|
-
required: false
|
|
170
|
-
|
|
171
|
-
return_to:
|
|
172
|
-
flow: feature-development
|
|
173
|
-
step: verify
|
|
174
|
-
status: waiting_checkpoint
|
|
175
|
-
checkpoint: CP-4
|
|
176
|
-
condition: "reverify outputs pass and user confirms CP-4"
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workflow-audit-milestone
|
|
3
|
-
description: "Use when a milestone needs completion audit against original requirements, phase outputs, verification evidence, and archive readiness."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
|
|
8
|
-
|
|
9
|
-
**This command IS the orchestrator.** Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
|
|
10
|
-
</objective>
|
|
11
|
-
|
|
12
|
-
<execution_context>
|
|
13
|
-
references/audit-milestone.md
|
|
14
|
-
</execution_context>
|
|
15
|
-
|
|
16
|
-
<context>
|
|
17
|
-
Version: $ARGUMENTS (optional — defaults to current milestone)
|
|
18
|
-
|
|
19
|
-
Core planning files are resolved in-workflow (`init milestone-op`) and loaded only as needed.
|
|
20
|
-
|
|
21
|
-
When `.planning/code-index/` exists, milestone integration checks should use it for source-level route/call/import/data-flow/test relationships and read source evidence before reporting wiring gaps. The detailed policy lives in `references/audit-milestone.md`.
|
|
22
|
-
|
|
23
|
-
**Completed Work:**
|
|
24
|
-
Glob: .planning/phases/*/*-SUMMARY.md
|
|
25
|
-
Glob: .planning/phases/*/*-VERIFICATION.md
|
|
26
|
-
</context>
|
|
27
|
-
|
|
28
|
-
<process>
|
|
29
|
-
Execute the audit-milestone workflow from references/audit-milestone.md end-to-end.
|
|
30
|
-
Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
|
|
31
|
-
</process>
|