@heihei0299/matt-skills 3.0.18 → 3.0.21
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/.agents/skills/tdd-implement/SKILL.md +26 -35
- package/.agents/skills/tdd-implement/references/finalize.md +12 -14
- package/.agents/skills/tdd-implement/references/orchestration.md +23 -35
- package/package.json +1 -1
- package/template/AGENTS.md +20 -71
- package/.agents/skills/tdd-implement/references/review.md +0 -105
|
@@ -6,23 +6,23 @@ disable-model-invocation: true
|
|
|
6
6
|
|
|
7
7
|
# TDD Implement
|
|
8
8
|
|
|
9
|
-
完成已确认的 spec/task。TDD 的红绿语义、测试质量、seam 和 mock 规则以 [tdd](.agents/skills/tdd/SKILL.md) 为唯一事实源;本技能负责 issue
|
|
9
|
+
完成已确认的 spec/task。TDD 的红绿语义、测试质量、seam 和 mock 规则以 [tdd](.agents/skills/tdd/SKILL.md) 为唯一事实源;本技能负责 issue 级实现、验证、证据记录与收尾编排。
|
|
10
10
|
|
|
11
11
|
> Ticket defines WHAT. TDD determines HOW to prove it. Repository determines HOW to implement it.
|
|
12
12
|
|
|
13
13
|
## 入口
|
|
14
14
|
|
|
15
|
-
- **单 issue
|
|
16
|
-
- **多 issue**:存在多个 `Type: task` 时,读取 [orchestration.md](references/orchestration.md)
|
|
15
|
+
- **单 issue**:直接按下方 issue lifecycle 执行。
|
|
16
|
+
- **多 issue**:存在多个 `Type: task` 时,读取 [orchestration.md](references/orchestration.md) 后按依赖顺序逐个完成。
|
|
17
17
|
- `research`、`prototype`、`grilling` 类型任务分流到对应技能。
|
|
18
18
|
|
|
19
|
-
正常 Red-Green / Verify
|
|
19
|
+
正常 Red-Green / Verify 由当前 session 原生完成,不为每个 Behavior 或 issue 常规派发 implementer/reviewer。子代理只用于证据不足、证据冲突、复杂诊断等异常升级。`code-review` 是独立能力,不属于 `tdd-implement` 的自动生命周期;需要 Review 时由用户显式调用。
|
|
20
20
|
|
|
21
|
-
## Issue lifecycle
|
|
21
|
+
## Issue lifecycle
|
|
22
22
|
|
|
23
|
-
`Red-Green → Verify → Record`
|
|
23
|
+
`Red-Green → Verify → Record → Finalize`
|
|
24
24
|
|
|
25
|
-
Issue
|
|
25
|
+
Issue 状态使用 `ready`、`in_progress`、`verified`、`resolved`、`blocked`、`failed`。
|
|
26
26
|
|
|
27
27
|
### ① Red-Green
|
|
28
28
|
|
|
@@ -36,11 +36,16 @@ Issue 状态可使用 `ready`、`in_progress`、`verified_pending_review`、`res
|
|
|
36
36
|
|
|
37
37
|
读取 [verify.md](references/verify.md),执行当前 issue 所需的最终验证。Verify 只覆盖必要范围,不重复等价验证。
|
|
38
38
|
|
|
39
|
-
**出口:**当前 issue 所需最终验证通过,并完成要求的真实运行验证;状态进入 `
|
|
39
|
+
**出口:**当前 issue 所需最终验证通过,并完成要求的真实运行验证;状态进入 `verified`。
|
|
40
40
|
|
|
41
|
-
### ③ Record
|
|
41
|
+
### ③ Record
|
|
42
42
|
|
|
43
|
-
Verify
|
|
43
|
+
Verify 通过后形成当前 issue 唯一的 delivery commit,并记录最小充分证据:
|
|
44
|
+
|
|
45
|
+
1. 将当前 issue 已完成并验证的代码、测试、交付文档和配置形成 1 个 delivery commit;不得按 Behavior、阶段或验证动作拆 commit;
|
|
46
|
+
2. 设置 `issue_head = HEAD`;
|
|
47
|
+
3. 将 evidence 写入 git-ignored `.scratch/tdd-implement/` ledger,只记录命令/场景和结果,不保存完整测试输出;
|
|
48
|
+
4. ticket/repository 冲突使用 `Ruling: <finding> — <decision and why> — <cost if wrong>` 记录。
|
|
44
49
|
|
|
45
50
|
```text
|
|
46
51
|
Issue: <id>
|
|
@@ -62,44 +67,30 @@ Rulings:
|
|
|
62
67
|
- none
|
|
63
68
|
```
|
|
64
69
|
|
|
65
|
-
**出口:**ledger
|
|
66
|
-
|
|
67
|
-
## Batch lifecycle:
|
|
68
|
-
|
|
69
|
-
`Batch Review → Finding Fix → Finalize → State Sync`
|
|
70
|
-
|
|
71
|
-
全部当前 batch 可执行 issue 都完成 Red-Green、Verify 和 Evidence Record 后,才进入 batch lifecycle。batch review 是整个 execution batch 唯一的 fresh `code-review`;issue loop 内不调用 `code-review`。
|
|
72
|
-
|
|
73
|
-
### Batch Review
|
|
74
|
-
|
|
75
|
-
读取 [review.md](references/review.md),将 batch 内全部交付代码、测试、文档和配置形成唯一的 committed Review Point,再以 `batch_base...batch_review_head` 调用一次 `code-review`。继续复用 [code-review](.agents/skills/code-review/SKILL.md) 的 Standards / Spec 双轴结构,不修改其机制。
|
|
76
|
-
|
|
77
|
-
### Finding Fix
|
|
70
|
+
**出口:**delivery commit 已形成,`issue_head` 已记录,ledger 包含 Acceptance、TDD、Verify 和 Rulings 结果。
|
|
78
71
|
|
|
79
|
-
|
|
72
|
+
### ④ Finalize
|
|
80
73
|
|
|
81
|
-
|
|
74
|
+
读取 [finalize.md](references/finalize.md)。Finalize 只做当前 issue 的状态收敛和 tracker/progress/status 记录,不新增 Behavior、不修改产品实现、不补测试。
|
|
82
75
|
|
|
83
|
-
|
|
76
|
+
**出口:**当前 issue 已 `resolved`,已满足的 blockers 已解除;仓库内状态变更进入 batch state-sync 集合。
|
|
84
77
|
|
|
85
|
-
|
|
78
|
+
## Batch State Sync
|
|
86
79
|
|
|
87
|
-
|
|
80
|
+
本次执行批次结束后,如仓库内 tracker/progress/status 存在待同步状态,统一写入并最多形成 1 个 batch state-sync commit。该 commit 不混入产品实现,也不属于任何单个 issue 的 `issue_base...issue_head` 范围。
|
|
88
81
|
|
|
89
82
|
## 运行纪律
|
|
90
83
|
|
|
91
84
|
- Red-Green 必须覆盖当前 issue 的全部待实现 Behavior;Red-Green / Verify 不按 Behavior、阶段或验证动作拆 commit。
|
|
92
|
-
- Verify
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
- 只有外部阻塞、需要用户决策、destructive / irreversible 操作、安全敏感行为或 ticket/
|
|
96
|
-
-
|
|
85
|
+
- Verify 通过后形成当前 issue 唯一 delivery commit,再记录 evidence;Finalize 不创建实现 commit。
|
|
86
|
+
- `tdd-implement` 不自动调用 `code-review`,不执行 per-issue Review、batch Review 或 Incremental Review。
|
|
87
|
+
- 已有充分或等价证据时不重复搜索、读取或验证;后续 issue 优先消费 ledger 与 git history。
|
|
88
|
+
- 只有外部阻塞、需要用户决策、destructive / irreversible 操作、安全敏感行为或 ticket/spec 已无法可靠解释时才暂停。
|
|
89
|
+
- 当前 Step 达到出口后立即进入下一 Step;发现失败时保留实际状态,不把失败静默当作完成。
|
|
97
90
|
|
|
98
91
|
## References
|
|
99
92
|
|
|
100
93
|
- TDD:[tdd](.agents/skills/tdd/SKILL.md)
|
|
101
94
|
- Verify:[verify.md](references/verify.md)
|
|
102
|
-
- Batch Review / Finding Fix:[review.md](references/review.md)
|
|
103
95
|
- Finalize / State Sync:[finalize.md](references/finalize.md)
|
|
104
|
-
- 唯一 Review:[code-review](.agents/skills/code-review/SKILL.md)
|
|
105
96
|
- 多 issue 编排:[orchestration.md](references/orchestration.md)
|
|
@@ -1,32 +1,30 @@
|
|
|
1
1
|
# Finalize
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
仅在当前 issue 完成 Red-Green、Verify、delivery commit 和 Evidence Record 后执行。Finalize 只负责当前 issue 的状态收敛与 tracker/progress/status 记录,不新增产品 Behavior,不修改产品实现,不补测试。
|
|
4
4
|
|
|
5
5
|
## 步骤
|
|
6
6
|
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
10
|
-
4.
|
|
11
|
-
5.
|
|
12
|
-
|
|
13
|
-
Finalize 不为单个 issue 创建 status commit;普通 Finalize 不创建 commit。Issue 的最终状态只能在 batch Review/fix 完成后统一收敛,避免 reviewer 发现 blocking bug 后出现状态反转。
|
|
7
|
+
1. 确认当前 issue 的必要验证已通过,`issue_head` 已记录为 delivery commit,evidence ledger 包含 Acceptance、TDD、Verify 和 Rulings 结果。
|
|
8
|
+
2. 准备 Acceptance Criteria 与 progress/tracker 的最终状态;外部 tracker 可在此同步,仓库内 tracker/progress/status 只记录为 batch 待同步状态。
|
|
9
|
+
3. 若发现任何实现、测试、交付文档、配置或验证遗漏,立即停止当前 issue:保持未完成,不标记 `resolved`,不解除 blockers,并报告遗漏请求决策。不得在 Finalize 中补改,也不得自动重新进入 Red-Green 或 Verify。
|
|
10
|
+
4. 仅在未发现上述遗漏后,将当前 issue 标记为 `resolved`,解除已满足的 blockers。
|
|
11
|
+
5. Finalize 不创建 commit;设置最终 `issue_head = HEAD`。
|
|
14
12
|
|
|
15
13
|
## Batch State Sync
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
本次执行批次结束后,如仓库内 tracker/progress/status 存在待同步状态,统一写入全部待同步内容并最多创建 1 个 batch state-sync commit。该 commit:
|
|
18
16
|
|
|
19
17
|
- 不混入产品实现、测试、交付文档或配置;
|
|
20
18
|
- 不属于任何单个 issue 的 `issue_base...issue_head` 范围;
|
|
21
19
|
- 不因 issue 数量增加而拆成多个 status commits;
|
|
22
|
-
-
|
|
20
|
+
- 不触发 `code-review`。
|
|
23
21
|
|
|
24
22
|
## 出口
|
|
25
23
|
|
|
26
24
|
- Acceptance Criteria 全部通过;
|
|
27
|
-
-
|
|
28
|
-
-
|
|
25
|
+
- 当前 issue 必要验证已通过;
|
|
26
|
+
- delivery commit 与 evidence ledger 已记录;
|
|
29
27
|
- Finalize 未发现实现、测试、交付文档、配置或验证遗漏;
|
|
30
28
|
- tracker/progress/status 已同步,或已进入本批次唯一的待同步集合;
|
|
31
|
-
-
|
|
32
|
-
-
|
|
29
|
+
- `issue_head = HEAD`;
|
|
30
|
+
- issue 已 `resolved`,已满足的 blockers 已解除。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 多 issue 编排
|
|
2
2
|
|
|
3
|
-
仅在存在多个 `Type: task` issue
|
|
3
|
+
仅在存在多个 `Type: task` issue 时生效。每个 issue 都按 `Red-Green → Verify → Record → Finalize` 独立完成;本文件只负责依赖顺序与 batch state sync。
|
|
4
4
|
|
|
5
5
|
## 1. 构建依赖图
|
|
6
6
|
|
|
@@ -10,49 +10,29 @@
|
|
|
10
10
|
- 引用了其它 issue 时建立依赖边;
|
|
11
11
|
- 字段无法解析、依赖节点不存在或出现环时,对受影响 issue 停止调度并报告实际原因,不降级为无依赖。
|
|
12
12
|
|
|
13
|
-
使用 Kahn 算法按依赖关系分层;层间串行,每层内按 issue 编号串行。状态使用 `ready`、`in_progress`、`
|
|
13
|
+
使用 Kahn 算法按依赖关系分层;层间串行,每层内按 issue 编号串行。状态使用 `ready`、`in_progress`、`verified`、`resolved`、`blocked`、`failed`。
|
|
14
14
|
|
|
15
|
-
## 2.
|
|
16
|
-
|
|
17
|
-
记录 batch 开始时的 `batch_base = HEAD`。每个 issue 只执行 issue-level correctness gate,不在 loop 内进行 Review:
|
|
15
|
+
## 2. 串行执行
|
|
18
16
|
|
|
19
17
|
```text
|
|
20
|
-
batch_base = HEAD
|
|
21
|
-
|
|
22
18
|
for each dependency layer:
|
|
23
19
|
for each executable issue:
|
|
24
20
|
issue_base = HEAD
|
|
25
21
|
Red-Green
|
|
26
22
|
Verify
|
|
27
|
-
Record
|
|
23
|
+
Record
|
|
24
|
+
Finalize
|
|
28
25
|
issue_head = HEAD
|
|
29
|
-
status = verified_pending_review
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
每个 issue Verify 后必须有完整 evidence ledger,才能进入 `verified_pending_review`。该状态不是最终 `resolved`,也不能提前对外宣称完成。前置 issue 未完成时,其依赖项保持 `blocked`;当前 issue 失败时保持 `failed`,依赖项不被错误放行。
|
|
33
|
-
|
|
34
|
-
下一个 issue 以当前 `issue_head` 作为新的 `issue_base`。Issue loop 不调用 `code-review`,不执行 Incremental Review,也不因 issue 数量拆分 Review Point。
|
|
35
|
-
|
|
36
|
-
## 3. Batch lifecycle
|
|
37
|
-
|
|
38
|
-
全部当前 batch 可执行 issue 完成后,确认 batch 内全部 issue 已 Verify,且 Red-Green、Evidence Record 和 evidence ledger 完整,才执行:
|
|
39
|
-
|
|
40
|
-
```text
|
|
41
|
-
after all executable issues:
|
|
42
|
-
Batch Review
|
|
43
|
-
Finding Fix
|
|
44
|
-
Finalize completed issues
|
|
45
|
-
Batch State Sync
|
|
46
26
|
```
|
|
47
27
|
|
|
48
|
-
- `
|
|
49
|
-
- `
|
|
50
|
-
- `Finalize
|
|
51
|
-
-
|
|
28
|
+
- `Red-Green` 与 `Verify` 是当前 issue 的 correctness gate;
|
|
29
|
+
- `Record` 形成当前 issue 唯一 delivery commit,设置 `issue_head` 并记录 evidence ledger;
|
|
30
|
+
- `Finalize` 只收敛状态、解除已满足 blockers,并把仓库内 tracker/progress/status 变更加入 batch state-sync 集合;
|
|
31
|
+
- Issue loop 不调用 `code-review`,不执行 per-issue Review、batch Review 或 Incremental Review。
|
|
52
32
|
|
|
53
|
-
|
|
33
|
+
当前 issue Finalize 完成后,依赖它的 issue 才可进入可执行状态。下一个 issue 以当前 `issue_head` 作为新的 `issue_base`。
|
|
54
34
|
|
|
55
|
-
##
|
|
35
|
+
## 3. 状态与证据
|
|
56
36
|
|
|
57
37
|
每个完成 issue 只携带后续调度所需的最小状态:
|
|
58
38
|
|
|
@@ -60,23 +40,31 @@ after all executable issues:
|
|
|
60
40
|
- `issue_base`;
|
|
61
41
|
- `issue_head`;
|
|
62
42
|
- Acceptance、TDD、Verify 和 Rulings evidence;
|
|
63
|
-
- batch Review、finding-fix 与最终状态;
|
|
64
43
|
- 已解除的 blockers。
|
|
65
44
|
|
|
66
45
|
Issue evidence 使用 `.scratch/tdd-implement/` ledger。后续 issue 不重复研究前序 issue 已确认且已记录的事实;context compact 后优先使用 ledger 与 git history。Ledger 不保存完整测试输出,只保存命令/场景及结果。
|
|
67
46
|
|
|
47
|
+
## 4. Batch State Sync
|
|
48
|
+
|
|
49
|
+
全部可执行 issue 完成后,如仓库内 tracker/progress/status 存在待同步状态,统一写入并最多创建 1 个 batch state-sync commit。该 commit:
|
|
50
|
+
|
|
51
|
+
- 不混入产品实现、测试、交付文档或配置;
|
|
52
|
+
- 不属于任何单个 issue 的 `issue_base...issue_head` 范围;
|
|
53
|
+
- 不因 issue 数量增加而拆成多个 status commits;
|
|
54
|
+
- 不触发 `code-review`。
|
|
55
|
+
|
|
68
56
|
## 冲突与失败
|
|
69
57
|
|
|
70
58
|
- `Blocked by` 无法解析、依赖缺失或存在环:停止受影响调度并报告;
|
|
71
59
|
- issue 执行失败:保持未完成,按失败所在 Step 处理;其依赖项继续保持 `blocked`;
|
|
72
60
|
- 多个 issue 修改同一位置且无法安全串行归属:暂停相关 issue,请求用户决定;
|
|
73
61
|
- 外部权限、工具或环境阻塞:记录实际状态,不把失败静默当作完成;
|
|
74
|
-
-
|
|
62
|
+
- Finalize 发现实现、测试、交付文档、配置或验证遗漏:当前 issue 不标记 `resolved`,其依赖项继续保持 `blocked`。
|
|
75
63
|
|
|
76
64
|
## 出口
|
|
77
65
|
|
|
78
66
|
- 所有可执行 issue 均按依赖顺序完成并有 evidence ledger;
|
|
79
|
-
-
|
|
80
|
-
-
|
|
67
|
+
- issue、依赖状态、Acceptance、Verify 与 progress 一致;
|
|
68
|
+
- `tdd-implement` 的 `code-review` 调用次数为 0;
|
|
81
69
|
- 不存在被误当作已完成的 blocked issue;
|
|
82
70
|
- 仓库内状态同步如有需要,只形成最多 1 个 batch state-sync commit。
|
package/package.json
CHANGED
package/template/AGENTS.md
CHANGED
|
@@ -1,79 +1,28 @@
|
|
|
1
|
-
<!-- matt-skills:managed:start -->
|
|
2
|
-
# AGENTS.md
|
|
3
|
-
|
|
4
1
|
## Workflow
|
|
5
|
-
|
|
6
2
|
按任务选择最匹配的 skill / 工具:
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* 多来源调研 / 方案比较 / 技术选型 → `research`
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* 领域建模 → `domain-modeling`
|
|
14
|
-
* 其他 → `ask-matt`
|
|
15
|
-
|
|
16
|
-
`research` 仅用于多来源综合分析;事实、实时信息和单一资料查询直接使用对应工具。
|
|
17
|
-
|
|
18
|
-
仅当歧义影响接口、数据、安全、范围或验收结果时询问用户。
|
|
19
|
-
|
|
3
|
+
* 代码理解 / 定位 / 调用链 / 依赖关系 / 数据流 → `codegraph explore`
|
|
4
|
+
* 行为修改 / 功能实现 / bug 修复 / 逻辑调整 → `tdd`
|
|
5
|
+
* 多来源调研 / 方案比较 / 技术选型 / 最佳实践 / 外部实现 → `research`
|
|
6
|
+
`research` 仅用于多来源综合;单一资料、官方文档和实时事实直接查询。
|
|
7
|
+
未命中 skill 时直接执行。明确不改变行为的文案、注释、格式和机械修改无需 `tdd`。
|
|
8
|
+
仅当关键歧义无法从仓库事实解决,且会改变实现、范围、风险或验收结果时询问用户。
|
|
20
9
|
## Context
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
codegraph explore "<问题>"
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
已锁定符号时:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
codegraph node "<符号>"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
需要索引且适合写入时可执行 `codegraph init`。
|
|
41
|
-
|
|
42
|
-
从最小必要上下文开始,只补充缺失信息,不重复探索已确认内容。CodeGraph 不可用时降级到 `rg` 和最小文件读取。
|
|
43
|
-
|
|
44
|
-
## Development
|
|
45
|
-
|
|
46
|
-
行为或逻辑实现默认使用 `tdd`:
|
|
47
|
-
|
|
48
|
-
* 先建立最小测试或可重复复现,再做最小实现。
|
|
49
|
-
* 无适用自动化测试时,使用最小可验证方式证明行为正确。
|
|
50
|
-
* 复用现有抽象、接口和依赖方向,不创建平行实现或扩大范围。
|
|
51
|
-
* 文案、格式、注释、机械重命名和不改变行为的配置可直接修改。
|
|
52
|
-
|
|
53
|
-
## Validation & Review
|
|
54
|
-
|
|
55
|
-
优先验证原问题复现路径、新增或直接相关测试及直接受影响模块。
|
|
56
|
-
|
|
57
|
-
修复后只复验失败项及新增修改;仅当公共 API、共享抽象、依赖方向、跨模块调用链或影响面扩大时扩大验证范围。
|
|
58
|
-
|
|
59
|
-
不重复仍然有效的等价验证,不因普通修改自动运行全量测试;更具体规则要求的检查除外。
|
|
60
|
-
|
|
61
|
-
变更审查默认聚焦本轮 diff、修改文件和直接受影响调用链;任务本身要求更广范围时按任务范围审查。
|
|
62
|
-
|
|
10
|
+
以当前代码、配置、测试和版本化文档为事实来源;更具体的项目指令优先。
|
|
11
|
+
代码理解优先使用 `codegraph explore`;已锁定符号时使用 `codegraph node`。
|
|
12
|
+
只获取完成任务所需的最小上下文;信息充分后停止探索。CodeGraph 不足时降级到 `rg` 和必要文件读取。
|
|
13
|
+
实现时复用现有抽象、接口和依赖方向,不创建平行实现或无关扩展。
|
|
14
|
+
## Validation
|
|
15
|
+
验证应足以证明修改正确且未破坏直接受影响行为。
|
|
16
|
+
优先验证原问题、相关测试和直接受影响模块;不重复已有有效证据。
|
|
17
|
+
公共 API、共享抽象、跨模块调用链或局部验证不足时扩大验证范围;普通修改不自动运行全量测试。
|
|
63
18
|
## Git
|
|
64
|
-
|
|
65
19
|
* 仅在用户要求时 commit。
|
|
66
|
-
* commit 前检查 diff
|
|
67
|
-
* 只 stage 本次任务文件。
|
|
20
|
+
* commit 前检查 diff,只 stage 本次任务文件。
|
|
68
21
|
* 禁止 `git add .` / `git add -A`。
|
|
69
|
-
*
|
|
70
|
-
|
|
22
|
+
* 不覆盖、回滚或混入已有未提交修改。
|
|
71
23
|
## Security
|
|
72
|
-
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
|
|
24
|
+
* 不读取、输出或提交未经授权的真实 secrets。
|
|
25
|
+
* 按现有 lockfile 恢复依赖可直接执行。
|
|
26
|
+
* 新增/升级依赖、部署、发布、`git push`、远程写入和破坏性操作必须明确授权。
|
|
76
27
|
## Completion
|
|
77
|
-
|
|
78
|
-
完成时说明改动或审查结论、已执行验证、未执行验证及原因、剩余风险;如有 commit,报告 commit hash。
|
|
79
|
-
<!-- matt-skills:managed:end -->
|
|
28
|
+
完成时简要说明结果和验证;有重要未验证项、限制或风险时说明;有 commit 时报告 hash。
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Batch Review
|
|
2
|
-
|
|
3
|
-
仅在 batch 内全部可执行 issue 完成 Red-Green、Verify 和 Evidence Record 后执行。本文件负责 batch 的 committed Review Point、唯一一次 `code-review` 和 finding-fix;`code-review` 的维度、reviewer 数量、提示词和输出格式仍以 [code-review](.agents/skills/code-review/SKILL.md) 为唯一事实源。
|
|
4
|
-
|
|
5
|
-
## 状态
|
|
6
|
-
|
|
7
|
-
batch 首次进入 Review 时初始化以下状态,且仅初始化一次:
|
|
8
|
-
|
|
9
|
-
- `batch_base`:batch 开始时的 `HEAD`;
|
|
10
|
-
- `batch_review_head = null`;
|
|
11
|
-
- `full_review_done = false`;
|
|
12
|
-
- `open_findings = []`。
|
|
13
|
-
|
|
14
|
-
整个 execution batch 的调用约束是:
|
|
15
|
-
|
|
16
|
-
```text
|
|
17
|
-
code-review calls = 1
|
|
18
|
-
per-issue review = 0
|
|
19
|
-
incremental review = 0
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Review 前置条件
|
|
23
|
-
|
|
24
|
-
开始 Review 前确认:
|
|
25
|
-
|
|
26
|
-
- batch 内全部 issue 已完成 Red-Green 和 Verify;
|
|
27
|
-
- 每个 issue 的 evidence ledger 完整;
|
|
28
|
-
- 所有交付代码、测试、文档和配置均已完成并提交;
|
|
29
|
-
- working tree 不包含当前 batch 的交付遗漏;
|
|
30
|
-
- 当前 `HEAD` 可作为唯一 batch Review Point。
|
|
31
|
-
|
|
32
|
-
未满足前置条件时,不调用 `code-review`,保持 issue 为 `verified_pending_review` 并报告缺口。
|
|
33
|
-
|
|
34
|
-
## 1. 形成 batch Review Point
|
|
35
|
-
|
|
36
|
-
调用 `code-review` 前,将 batch 内全部已验证交付修改合并形成唯一的 committed Review Point。不得按 issue、Behavior、阶段或验证动作拆分 Review Point;不得用未提交 working tree 代替 committed diff。
|
|
37
|
-
|
|
38
|
-
唯一一次 Review 的输入是:
|
|
39
|
-
|
|
40
|
-
- fixed point = `batch_base`;
|
|
41
|
-
- review target = `batch_review_head`;
|
|
42
|
-
- diff = `batch_base...batch_review_head`;
|
|
43
|
-
- spec sources = batch 内全部 tickets;
|
|
44
|
-
- evidence = execution ledger。
|
|
45
|
-
|
|
46
|
-
## 2. 唯一一次 code-review
|
|
47
|
-
|
|
48
|
-
整个 execution batch 只调用 1 次 `code-review`,且发生在全部 issue Verify 之后。调用开始前确认 `full_review_done = false`;调用一旦启动即消耗本 batch 唯一机会。
|
|
49
|
-
|
|
50
|
-
若调用正常形成完整聚合结果:
|
|
51
|
-
|
|
52
|
-
- 设置 `full_review_done = true`;
|
|
53
|
-
- 设置 `batch_review_head = HEAD`,记录本次唯一 fresh Review 的 committed Review Point;
|
|
54
|
-
- 将 blocking findings 写入 `open_findings`。
|
|
55
|
-
|
|
56
|
-
若该次调用因技术原因未形成完整聚合结果,停止当前 batch 并报告实际失败;不得重跑 `code-review`,不得进入 Finalize。
|
|
57
|
-
|
|
58
|
-
若 `open_findings` 为空,batch Review 完成,进入 Finding Fix 的空步骤,再进入 Finalize。
|
|
59
|
-
|
|
60
|
-
## 3. Finding Fix
|
|
61
|
-
|
|
62
|
-
若 `open_findings` 非空,一次性处理当前全部 blocking findings,不扩大当前 batch 范围,最多一个 finding-fix commit。
|
|
63
|
-
|
|
64
|
-
### Behavioral finding
|
|
65
|
-
|
|
66
|
-
行为性 finding 必须走真实的最小 TDD 修复证据:
|
|
67
|
-
|
|
68
|
-
```text
|
|
69
|
-
Behavioral finding
|
|
70
|
-
↓
|
|
71
|
-
write reproducing test
|
|
72
|
-
↓
|
|
73
|
-
RED
|
|
74
|
-
↓
|
|
75
|
-
minimal fix
|
|
76
|
-
↓
|
|
77
|
-
GREEN
|
|
78
|
-
↓
|
|
79
|
-
affected verification
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Non-behavioral finding
|
|
83
|
-
|
|
84
|
-
文档、naming、配置说明或其它非行为性 finding 直接修复,再执行 targeted verification,不为它制造虚假的行为测试。
|
|
85
|
-
|
|
86
|
-
Finding Fix 的共同约束:
|
|
87
|
-
|
|
88
|
-
- 不按 finding 拆分 commit;
|
|
89
|
-
- behavioral finding 必须有真实 RED → GREEN 证据;
|
|
90
|
-
- 所有必要验证必须通过;
|
|
91
|
-
- 修复后不得再次调用 `code-review`;
|
|
92
|
-
- 不执行 Incremental Review;
|
|
93
|
-
- 修复无法完成或验证失败时,batch 不进入 Finalize,保留未解决 findings。
|
|
94
|
-
|
|
95
|
-
验证通过后,将全部修复合并为最多 1 个 finding-fix commit。该 commit 位于 `batch_review_head` 之后,不属于再次 Review 的输入。
|
|
96
|
-
|
|
97
|
-
## 出口
|
|
98
|
-
|
|
99
|
-
- `full_review_done = true`;
|
|
100
|
-
- `batch_review_head` 非空,且指向唯一一次 `code-review` 的 Review Point;
|
|
101
|
-
- `open_findings` 为空;
|
|
102
|
-
- Incremental Review 调用次数为 0;
|
|
103
|
-
- `code-review` 调用次数为 1;
|
|
104
|
-
- 当前 `HEAD` 为 `batch_review_head`,或为其后的唯一 finding-fix commit;
|
|
105
|
-
- 不存在属于当前 batch 的未提交交付修改。
|