Commit 0ab24de
committed
feat(sdd): 同步上游 v6.2.0 —— plan 作用域工作区 + 基于唤回的修复循环(#19 A 块)
对齐上游 v6.1.1 -> v6.2.0 中 subagent-driven-development 的 6 个 commit
(6df8ba1 / b8a2d84 / 2dbbaed / 87e4050 / ebdd4ec / 28882fc)。
这是 #19 拆分后的 A 块。注意 v1.7.1 刚对齐过 SDD,本次是那之后的新增量。
## 为什么必须整块一起改
我们的 SKILL.md 里写的是旧脚本签名(review-package BASE HEAD)。脚本换成
plan 作用域签名后若不同步改文档,agent 会照旧签名调用直接吃 usage 错误 ——
比不同步更糟。所以脚本 + 文档 + 模板同批落地。
## plan 作用域工作区(结构性修复)
原先所有计划共用 .superpowers/sdd/ 一个目录,一份过期账本被误读成当前进度,
会让控制者跳过整段任务序列 —— 上游称这是观察到的最昂贵失败。现在每个计划
一个 .superpowers/sdd/<计划文件名>/,从结构上消除这种误读。
- scripts/sdd-workspace 改为接收 PLAN_FILE,自忽略 .gitignore 上移到
.superpowers/sdd/;scripts/review-package 前置 PLAN_FILE 参数
- 两个脚本在我们这边与上游 v6.1.1 字节一致(从未汉化),直接取上游版
- scripts/task-brief 只手工应用上游那两处改动,保留我们的 fork 适配
(awk 同时匹配 "Task N" 与 "任务 N",因为本仓库 writing-plans 产出中文标题)
- 账本新增身份行 `# SDD ledger — plan: <路径>`,并明确「第一行点名别的计划、
或旧扁平路径下的游离账本」都不是你的进度
实测(临时 git 仓库):两个计划各得独立目录;往 A 计划写 ledger 后 B 计划
目录仍为空(关键回归);.gitignore 落在 .superpowers/sdd/ 且 git status 干净;
中文「任务 2」经新路径抽取成功;review-package 旧签名正确报 usage 错误。
## SKILL.md 全面重写(14 章 -> 生命周期结构)
上游把平铺的 14 节重组为「任务循环」五步 + 熔断机制,Red Flags / Advantages /
Integration / File Handoffs / Durable Progress 等并入使用现场。逐节重译:
- 修复循环:一轮 = 一次修复分派 + 一次定向复审,每任务上限五轮
第 1-3 轮唤回原实现者(context 完整),第 4-5 轮换全新实现者 + 高一档模型
- 熔断:第 5 轮仍有未解决发现则停止分派,逐条裁定 —— 搁置(附裁定)或在
承重项上 BLOCKED。只在上限处裁定,提早裁定等于换名字的预先定性
- Minor 发现与「计划要求的」发现两条路在循环外
- 新增「常见的合理化借口」表取代原「红线」清单
新增 re-review-prompt.md(106 行全文翻译):定向复审只核实发现是否解决 +
只看修复 diff 的新破坏,范围外观察进账本不延长循环。
implementer-prompt.md「审查发现之后」改写为基于唤回的修复轮次;
task-reviewer-prompt.md 更新脚本签名并删除被 re-review-prompt.md 取代的结尾两句。
## 顺手修掉一个既有缺陷
三个 SDD 文件末尾都残留着 `</content>` —— v1.7.1 那次重写(PR #108, d7885ca)
留下的生成产物,上游没有。这些文件会整体进 agent 的 prompt,属于污染。已全部清除,
并全仓扫描确认无同类残留。
## 验证
- 章节结构与上游 14 节一一对应;superpowers: 引用集与上游完全一致
- 26 项关键技术记号(脚本签名、账本行格式、四种状态、ADDRESSED/NOT ADDRESSED、
数值门槛)逐一确认存在,无漏译
- 两个 dot 图节点/边数与上游精确一致(6/6 与 23/28),且无幽灵节点、无孤立节点
(手工翻译 dot 标签最易在边里写错,会静默产生幽灵节点)
- audit.sh 150 pass / 0 fail;verify-release.sh 82 pass / 0 fail
- SDD 已从 audit 的上游漂移警告里消失(结构层级现已对齐)
注:audit PASS 由 153 降至 150,是上游有意删除 Integration 一节
(原列 executing-plans / test-driven-development / writing-plans 三个引用)
导致 Category 4b 少 3 项引用检查,非静默跳过 —— 已核对我们的引用集与上游一致。1 parent 78457e5 commit 0ab24de
7 files changed
Lines changed: 356 additions & 221 deletions
File tree
- skills/subagent-driven-development
- scripts
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
110 | | - | |
111 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
112 | 114 | | |
113 | 115 | | |
114 | 116 | | |
| |||
136 | 138 | | |
137 | 139 | | |
138 | 140 | | |
139 | | - | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
Lines changed: 11 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | | - | |
24 | | - | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | | - | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
4 | | - | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
5 | 10 | | |
6 | 11 | | |
7 | 12 | | |
8 | 13 | | |
9 | | - | |
10 | | - | |
| 14 | + | |
| 15 | + | |
11 | 16 | | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
15 | | - | |
| 20 | + | |
16 | 21 | | |
17 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
18 | 35 | | |
19 | | - | |
| 36 | + | |
| 37 | + | |
20 | 38 | | |
21 | | - | |
| 39 | + | |
22 | 40 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | | - | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | | - | |
| 161 | + | |
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
0 commit comments