@heihei0299/matt-skills 1.5.2 → 1.5.3
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.
|
@@ -12,8 +12,20 @@ description: "TDD seam red-green loop: use when the user provides a spec/ticket
|
|
|
12
12
|
## 分支
|
|
13
13
|
|
|
14
14
|
- **单线**:单 spec / 单 issue,走下节 Steps ①→⑦(详规见 [stages.md](references/stages.md))。
|
|
15
|
-
- **多 issue 编排**:`.scratch/<feature>/issues/` 下多文件且含 `Blocked by` 时走编排模式——编排器按依赖分层并行调度,子代理各自治完成
|
|
16
|
-
|
|
15
|
+
- **多 issue 编排**:`.scratch/<feature>/issues/` 下多文件且含 `Blocked by` 时走编排模式——编排器按依赖分层并行调度,子代理各自治完成 ①→⑦。主过程见下节 [多 issue 编排](#多-issue-编排按依赖分层并行),详规见 [orchestration.md](references/orchestration.md)。
|
|
16
|
+
|
|
17
|
+
## 多 issue 编排(按依赖分层并行)
|
|
18
|
+
精简主过程(可执行约束全保留,详规见 [orchestration.md](references/orchestration.md);`references/orchestration.md` 全量保留为详规真相源)。
|
|
19
|
+
- **触发**:`.scratch/<feature>/issues/` 下多文件且至少部分含 `Blocked by` 依赖声明;单 issue / 单 spec 不走本节,走 [stages.md](references/stages.md) 单线 ①→⑦。
|
|
20
|
+
- **A0 依赖图**:扫描 `NN-<slug>.md` 解析 `Blocked by`(`None`/`(无`/无此行→无依赖;`01, 02`/`01(…)`→依赖对应编号;无法解析→视无依赖并告警),以编号为节点构建 DAG,环则报错列环上节点不调度。
|
|
21
|
+
- **A1 Kahn 分层**:对 DAG 做 Kahn BFS 拓扑分层 `L1=入度0 → L2=移除L1后入度0 → … → Ln`;层内无依赖可并行,层间串行;分层结果展示给用户确认后派发。
|
|
22
|
+
- **A2 分层调度**:`for Li in L1..Ln: 并行派发(逐个 subagent single 模式,禁 parallel tasks 数组)→ 等待全层回执卡片 → 按 A3 逐 issue 验收(只认回执+抽检,不消费全量日志)→ 层收敛 4 项全过才进下一层`;层收敛 4 项:①该层全部 issue 验收通过 ②相关测试通过 ③`git status` 卫生(仅删 `[DEBUG-...]` 临时产物,禁 `reset --hard/checkout ./clean -fd/stash --include-untracked`)④`git merge-base --is-ancestor $BASE_HEAD HEAD` 通过;任一失败按 A5 回退重派。层间回合连续性:一层收敛后立即派下一层。
|
|
23
|
+
- **A3 子代理契约**:每子代理为完整单 issue ①→⑦执行单元(输入:`spec.md`+ 单 `NN-<slug>.md`+`CONTEXT/adr`;执行:①读 issue →②该 issue seams →③红-绿+typecheck →④相关测试(非全量)→⑤双轴 review →⑥commit-check+commit →⑦文档对齐+`Status: resolved`+`## 实施总结`+卫生;产出:独立 commit `feat(<feature>): <title> (#NN)`+ 落盘+测试全绿;禁止跨 issue/跳过⑤⑥)。
|
|
24
|
+
- **输出约束**:仅回执卡片(≤30 行,不透传全量日志):`[回执] #NN <标题>` + 提交/ seams/ 测试(相关)/ typecheck/ review(Standards/Spec)/ 验收 checkbox/ 文档/ 遗留;缺字段视不通过。
|
|
25
|
+
- **主代理验收(5 项,任一不过打回重派)**:①落盘(`git log` 含 `#NN` + issue 文件 `resolved`+总结)②抽检(相关测试/`tsc --noEmit`)③改动边界(`git diff <base>..HEAD --name-only` 无跨改)④卫生(无 `[DEBUG-...]` 残留)⑤提交关联(message 含 `#NN` 且一致);子代理同样 `BASE_HEAD`+回合计 Chunk/历史保护与单线一致。
|
|
26
|
+
- **A4 全量收敛**:全部层验收后编排器执行唯一全量测试 + `merge-base --is-ancestor $BASE_HEAD HEAD` 历史校验(失败经 `reflog` 恢复)+ `git status` 卫生(含禁令)+ 会话汇总回执关键信息(不另写汇总文件)。
|
|
27
|
+
- **A5 回退与冲突**:子代理内按 `stages.md` 回退表闭环;层收敛失败→该 issue 保持原 Status、不进下一层、修复后重派;全量失败→定位归属 issue 重派;文件冲突→后完成者 rebase 解决后重跑 typecheck+相关测试,禁丢弃提交、必校验 `merge-base` 与 `git log` 全含;环依赖→A0 即终止。
|
|
28
|
+
- **出口/边界**:全部 issue `Status: resolved`+`## 实施总结` 落盘 + 全量测试通过 + 工作区干净;单 issue 不走本节、子代理不跨改、编排器不替写代码、汇总只对话输出、TDD 语义以 `tdd` 技能为唯一事实源。
|
|
17
29
|
## Steps
|
|
18
30
|
|
|
19
31
|
按序执行,每步达到完成条件才进入下一步;进入任一步前先读取其在 [stages.md](references/stages.md) 的定义。
|
|
@@ -28,13 +40,13 @@ description: "TDD seam red-green loop: use when the user provides a spec/ticket
|
|
|
28
40
|
| ⑥ Commit | 跑 [commit-check](.agents/skills/commit-check/SKILL.md) 门禁四项后提交 | commit 完成且历史校验通过 | [stages.md#阶段-⑥](references/stages.md#阶段-⑥commit) |
|
|
29
41
|
| ⑦ 收尾 | 文档对齐 → issue 状态与实施总结 → 目录卫生 | 文档已对齐、issue 已 `resolved`+总结落盘、工作区干净 | [stages.md#阶段-⑦](references/stages.md#阶段-⑦收尾文档对齐--issue-状态--实施总结) |
|
|
30
42
|
|
|
31
|
-
|
|
43
|
+
编排主过程见上节 [多 issue 编排](#多-issue-编排按依赖分层并行),详规见 [orchestration.md](references/orchestration.md);子代理内部仍走上表 ①→⑦(其中 ④ 为相关测试口径,全量由编排器收敛)。
|
|
32
44
|
|
|
33
45
|
### 阶段间流转
|
|
34
46
|
|
|
35
47
|
- 正常流转:出口条件满足即进入下一阶段,不在阶段间停顿。
|
|
36
|
-
- 回退路由:见 [stages.md#回退路由](references/stages.md#回退路由)
|
|
37
|
-
- 回合连续性:阶段内连续动作(红→绿→typecheck→下一 seam)在**一个回合内串行完成**,直至阶段出口;预告下一步后立即执行。详规见 [stages.md ③-3e](references/stages.md#3e-回合连续性)
|
|
48
|
+
- 回退路由:见 [stages.md#回退路由](references/stages.md#回退路由);编排模式回退见上节 [多 issue 编排 A5](#多-issue-编排按依赖分层并行) 与 [orchestration.md#A5](references/orchestration.md#a5-回退与冲突)。
|
|
49
|
+
- 回合连续性:阶段内连续动作(红→绿→typecheck→下一 seam)在**一个回合内串行完成**,直至阶段出口;预告下一步后立即执行。详规见 [stages.md ③-3e](references/stages.md#3e-回合连续性) 与上节 [多 issue 编排 A2](#多-issue-编排按依赖分层并行) / [orchestration.md#A2](references/orchestration.md#a2-分层调度)。
|
|
38
50
|
- 任务分解:巨型写入拆小步——`write` 超 ~150 行先写骨架再分批补全,`replace` 超 ~5 处分批执行并验证。详见 [stages.md ③-3f](references/stages.md#3f-任务分解chunking)。
|
|
39
51
|
|
|
40
52
|
## 引用
|
|
@@ -44,4 +56,5 @@ description: "TDD seam red-green loop: use when the user provides a spec/ticket
|
|
|
44
56
|
- Mock 指南:[tdd/mocking.md](.agents/skills/tdd/mocking.md)
|
|
45
57
|
- Commit 门禁:[commit-check](.agents/skills/commit-check/SKILL.md)
|
|
46
58
|
- 单线详规:[stages.md](references/stages.md)
|
|
47
|
-
- 多 issue
|
|
59
|
+
- 多 issue 编排主过程:本文件 [多 issue 编排](#多-issue-编排按依赖分层并行)
|
|
60
|
+
- 多 issue 编排详规:[orchestration.md](references/orchestration.md)(全量保留)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 阶段详细定义
|
|
2
2
|
|
|
3
|
-
单线 ①→⑦ 的详细定义;多 issue
|
|
3
|
+
单线 ①→⑦ 的详细定义;多 issue 编排主过程见 [SKILL.md](../SKILL.md#多-issue-编排按依赖分层并行),详规见 [orchestration.md](orchestration.md)。TDD 语义以 [tdd 技能](.agents/skills/tdd/SKILL.md) 为唯一事实源,不在此重写。
|
|
4
4
|
|
|
5
5
|
## 目录
|
|
6
6
|
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
3. **小任务**:Todo——seam 内可独立验证、可勾选的执行单元(T1/T2/T3…)
|
|
256
256
|
4. **执行步**:Subtodo——Todo 内的串行步骤(红 → 绿 → typecheck),回合内逐步勾选推进
|
|
257
257
|
|
|
258
|
-
> 编排模式新增一层见 [orchestration.md](orchestration.md)
|
|
258
|
+
> 编排模式新增一层见 [SKILL.md](../SKILL.md#多-issue-编排按依赖分层并行) 主过程与 [orchestration.md](orchestration.md) 详规:**编排层** Feature——`.scratch/<feature>/` 下全部 issues,按 `Blocked by` 分层;每层一组并行子代理,每子代理一个 issue 的完整 ①→⑦。
|
|
259
259
|
|
|
260
260
|
### Todo 清单格式
|
|
261
261
|
|
|
@@ -307,5 +307,5 @@ pending → in-progress → done
|
|
|
307
307
|
| ⑤ Code Review | seams 遗漏 | → ② 补充 seams |
|
|
308
308
|
| ⑤ Code Review | 需求偏差 | → ① 澄清需求 |
|
|
309
309
|
|
|
310
|
-
|
|
310
|
+
编排模式回退主过程见 [SKILL.md](../SKILL.md#多-issue-编排按依赖分层并行) A5,详规见 [orchestration.md#A5](orchestration.md#a5-回退与冲突):子代理内回退按上表在子代理内闭环;编排器层收敛失败(全量测试失败 / 目录不干净)→ 定位到失败 issue 所在层重派对应子代理。
|
|
311
311
|
|
package/package.json
CHANGED
|
@@ -12,8 +12,20 @@ description: "TDD seam red-green loop: use when the user provides a spec/ticket
|
|
|
12
12
|
## 分支
|
|
13
13
|
|
|
14
14
|
- **单线**:单 spec / 单 issue,走下节 Steps ①→⑦(详规见 [stages.md](references/stages.md))。
|
|
15
|
-
- **多 issue 编排**:`.scratch/<feature>/issues/` 下多文件且含 `Blocked by` 时走编排模式——编排器按依赖分层并行调度,子代理各自治完成
|
|
16
|
-
|
|
15
|
+
- **多 issue 编排**:`.scratch/<feature>/issues/` 下多文件且含 `Blocked by` 时走编排模式——编排器按依赖分层并行调度,子代理各自治完成 ①→⑦。主过程见下节 [多 issue 编排](#多-issue-编排按依赖分层并行),详规见 [orchestration.md](references/orchestration.md)。
|
|
16
|
+
|
|
17
|
+
## 多 issue 编排(按依赖分层并行)
|
|
18
|
+
精简主过程(可执行约束全保留,详规见 [orchestration.md](references/orchestration.md);`references/orchestration.md` 全量保留为详规真相源)。
|
|
19
|
+
- **触发**:`.scratch/<feature>/issues/` 下多文件且至少部分含 `Blocked by` 依赖声明;单 issue / 单 spec 不走本节,走 [stages.md](references/stages.md) 单线 ①→⑦。
|
|
20
|
+
- **A0 依赖图**:扫描 `NN-<slug>.md` 解析 `Blocked by`(`None`/`(无`/无此行→无依赖;`01, 02`/`01(…)`→依赖对应编号;无法解析→视无依赖并告警),以编号为节点构建 DAG,环则报错列环上节点不调度。
|
|
21
|
+
- **A1 Kahn 分层**:对 DAG 做 Kahn BFS 拓扑分层 `L1=入度0 → L2=移除L1后入度0 → … → Ln`;层内无依赖可并行,层间串行;分层结果展示给用户确认后派发。
|
|
22
|
+
- **A2 分层调度**:`for Li in L1..Ln: 并行派发(逐个 subagent single 模式,禁 parallel tasks 数组)→ 等待全层回执卡片 → 按 A3 逐 issue 验收(只认回执+抽检,不消费全量日志)→ 层收敛 4 项全过才进下一层`;层收敛 4 项:①该层全部 issue 验收通过 ②相关测试通过 ③`git status` 卫生(仅删 `[DEBUG-...]` 临时产物,禁 `reset --hard/checkout ./clean -fd/stash --include-untracked`)④`git merge-base --is-ancestor $BASE_HEAD HEAD` 通过;任一失败按 A5 回退重派。层间回合连续性:一层收敛后立即派下一层。
|
|
23
|
+
- **A3 子代理契约**:每子代理为完整单 issue ①→⑦执行单元(输入:`spec.md`+ 单 `NN-<slug>.md`+`CONTEXT/adr`;执行:①读 issue →②该 issue seams →③红-绿+typecheck →④相关测试(非全量)→⑤双轴 review →⑥commit-check+commit →⑦文档对齐+`Status: resolved`+`## 实施总结`+卫生;产出:独立 commit `feat(<feature>): <title> (#NN)`+ 落盘+测试全绿;禁止跨 issue/跳过⑤⑥)。
|
|
24
|
+
- **输出约束**:仅回执卡片(≤30 行,不透传全量日志):`[回执] #NN <标题>` + 提交/ seams/ 测试(相关)/ typecheck/ review(Standards/Spec)/ 验收 checkbox/ 文档/ 遗留;缺字段视不通过。
|
|
25
|
+
- **主代理验收(5 项,任一不过打回重派)**:①落盘(`git log` 含 `#NN` + issue 文件 `resolved`+总结)②抽检(相关测试/`tsc --noEmit`)③改动边界(`git diff <base>..HEAD --name-only` 无跨改)④卫生(无 `[DEBUG-...]` 残留)⑤提交关联(message 含 `#NN` 且一致);子代理同样 `BASE_HEAD`+回合计 Chunk/历史保护与单线一致。
|
|
26
|
+
- **A4 全量收敛**:全部层验收后编排器执行唯一全量测试 + `merge-base --is-ancestor $BASE_HEAD HEAD` 历史校验(失败经 `reflog` 恢复)+ `git status` 卫生(含禁令)+ 会话汇总回执关键信息(不另写汇总文件)。
|
|
27
|
+
- **A5 回退与冲突**:子代理内按 `stages.md` 回退表闭环;层收敛失败→该 issue 保持原 Status、不进下一层、修复后重派;全量失败→定位归属 issue 重派;文件冲突→后完成者 rebase 解决后重跑 typecheck+相关测试,禁丢弃提交、必校验 `merge-base` 与 `git log` 全含;环依赖→A0 即终止。
|
|
28
|
+
- **出口/边界**:全部 issue `Status: resolved`+`## 实施总结` 落盘 + 全量测试通过 + 工作区干净;单 issue 不走本节、子代理不跨改、编排器不替写代码、汇总只对话输出、TDD 语义以 `tdd` 技能为唯一事实源。
|
|
17
29
|
## Steps
|
|
18
30
|
|
|
19
31
|
按序执行,每步达到完成条件才进入下一步;进入任一步前先读取其在 [stages.md](references/stages.md) 的定义。
|
|
@@ -28,13 +40,13 @@ description: "TDD seam red-green loop: use when the user provides a spec/ticket
|
|
|
28
40
|
| ⑥ Commit | 跑 [commit-check](.agents/skills/commit-check/SKILL.md) 门禁四项后提交 | commit 完成且历史校验通过 | [stages.md#阶段-⑥](references/stages.md#阶段-⑥commit) |
|
|
29
41
|
| ⑦ 收尾 | 文档对齐 → issue 状态与实施总结 → 目录卫生 | 文档已对齐、issue 已 `resolved`+总结落盘、工作区干净 | [stages.md#阶段-⑦](references/stages.md#阶段-⑦收尾文档对齐--issue-状态--实施总结) |
|
|
30
42
|
|
|
31
|
-
|
|
43
|
+
编排主过程见上节 [多 issue 编排](#多-issue-编排按依赖分层并行),详规见 [orchestration.md](references/orchestration.md);子代理内部仍走上表 ①→⑦(其中 ④ 为相关测试口径,全量由编排器收敛)。
|
|
32
44
|
|
|
33
45
|
### 阶段间流转
|
|
34
46
|
|
|
35
47
|
- 正常流转:出口条件满足即进入下一阶段,不在阶段间停顿。
|
|
36
|
-
- 回退路由:见 [stages.md#回退路由](references/stages.md#回退路由)
|
|
37
|
-
- 回合连续性:阶段内连续动作(红→绿→typecheck→下一 seam)在**一个回合内串行完成**,直至阶段出口;预告下一步后立即执行。详规见 [stages.md ③-3e](references/stages.md#3e-回合连续性)
|
|
48
|
+
- 回退路由:见 [stages.md#回退路由](references/stages.md#回退路由);编排模式回退见上节 [多 issue 编排 A5](#多-issue-编排按依赖分层并行) 与 [orchestration.md#A5](references/orchestration.md#a5-回退与冲突)。
|
|
49
|
+
- 回合连续性:阶段内连续动作(红→绿→typecheck→下一 seam)在**一个回合内串行完成**,直至阶段出口;预告下一步后立即执行。详规见 [stages.md ③-3e](references/stages.md#3e-回合连续性) 与上节 [多 issue 编排 A2](#多-issue-编排按依赖分层并行) / [orchestration.md#A2](references/orchestration.md#a2-分层调度)。
|
|
38
50
|
- 任务分解:巨型写入拆小步——`write` 超 ~150 行先写骨架再分批补全,`replace` 超 ~5 处分批执行并验证。详见 [stages.md ③-3f](references/stages.md#3f-任务分解chunking)。
|
|
39
51
|
|
|
40
52
|
## 引用
|
|
@@ -44,4 +56,5 @@ description: "TDD seam red-green loop: use when the user provides a spec/ticket
|
|
|
44
56
|
- Mock 指南:[tdd/mocking.md](.agents/skills/tdd/mocking.md)
|
|
45
57
|
- Commit 门禁:[commit-check](.agents/skills/commit-check/SKILL.md)
|
|
46
58
|
- 单线详规:[stages.md](references/stages.md)
|
|
47
|
-
- 多 issue
|
|
59
|
+
- 多 issue 编排主过程:本文件 [多 issue 编排](#多-issue-编排按依赖分层并行)
|
|
60
|
+
- 多 issue 编排详规:[orchestration.md](references/orchestration.md)(全量保留)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 阶段详细定义
|
|
2
2
|
|
|
3
|
-
单线 ①→⑦ 的详细定义;多 issue
|
|
3
|
+
单线 ①→⑦ 的详细定义;多 issue 编排主过程见 [SKILL.md](../SKILL.md#多-issue-编排按依赖分层并行),详规见 [orchestration.md](orchestration.md)。TDD 语义以 [tdd 技能](.agents/skills/tdd/SKILL.md) 为唯一事实源,不在此重写。
|
|
4
4
|
|
|
5
5
|
## 目录
|
|
6
6
|
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
3. **小任务**:Todo——seam 内可独立验证、可勾选的执行单元(T1/T2/T3…)
|
|
256
256
|
4. **执行步**:Subtodo——Todo 内的串行步骤(红 → 绿 → typecheck),回合内逐步勾选推进
|
|
257
257
|
|
|
258
|
-
> 编排模式新增一层见 [orchestration.md](orchestration.md)
|
|
258
|
+
> 编排模式新增一层见 [SKILL.md](../SKILL.md#多-issue-编排按依赖分层并行) 主过程与 [orchestration.md](orchestration.md) 详规:**编排层** Feature——`.scratch/<feature>/` 下全部 issues,按 `Blocked by` 分层;每层一组并行子代理,每子代理一个 issue 的完整 ①→⑦。
|
|
259
259
|
|
|
260
260
|
### Todo 清单格式
|
|
261
261
|
|
|
@@ -307,5 +307,5 @@ pending → in-progress → done
|
|
|
307
307
|
| ⑤ Code Review | seams 遗漏 | → ② 补充 seams |
|
|
308
308
|
| ⑤ Code Review | 需求偏差 | → ① 澄清需求 |
|
|
309
309
|
|
|
310
|
-
|
|
310
|
+
编排模式回退主过程见 [SKILL.md](../SKILL.md#多-issue-编排按依赖分层并行) A5,详规见 [orchestration.md#A5](orchestration.md#a5-回退与冲突):子代理内回退按上表在子代理内闭环;编排器层收敛失败(全量测试失败 / 目录不干净)→ 定位到失败 issue 所在层重派对应子代理。
|
|
311
311
|
|