@wwkit/harness 1.0.13 → 1.0.15
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/commands/fix.md +24 -13
- package/package.json +1 -1
package/commands/fix.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: 修复问题:问题定位→修复方案→修复测试→review→总结,并写入
|
|
2
|
+
description: 修复问题:问题定位→修复方案→修复测试→review→总结,并写入 <root_dir>/.webwork/harness/fix/<yyyy-mm-dd>/<问题极简标题>-<hhmmss>.md
|
|
3
3
|
agent: build
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
你(build agent)根据用户问题描述 `$ARGUMENTS` 执行 5 阶段修复流程,产出文档写入
|
|
6
|
+
你(build agent)根据用户问题描述 `$ARGUMENTS` 执行 5 阶段修复流程,产出文档写入 `<root_dir>/.webwork/harness/fix/<yyyy-mm-dd>/<问题极简标题>-<hhmmss>.md`。
|
|
7
7
|
|
|
8
8
|
## 前置
|
|
9
9
|
|
|
@@ -17,11 +17,17 @@ agent: build
|
|
|
17
17
|
- [ ] 4. review
|
|
18
18
|
- [ ] 5. 总结
|
|
19
19
|
|
|
20
|
+
**收尾约定(强制)**:本 command 只有两种收尾——**修复成功**(改动 + 验证结果)或**修复失败**(根因 + 已尝试方案 + 卡点 + 建议)。**绝不假装修复成功**:修不好就如实写「未能修复」,不硬编通过。判定失败的条件(满足任一):
|
|
21
|
+
|
|
22
|
+
- 阶段 1 定位失败:无法复现,且无法定位到可疑根因(非单纯环境缺失);
|
|
23
|
+
- 阶段 2/3/4 循环累计迭代 > 5 次仍未 review 通过(其中验证失败迭代 ≤3、review 返工迭代 ≤2)。
|
|
24
|
+
|
|
20
25
|
## 阶段 1:问题定位
|
|
21
26
|
|
|
22
27
|
- 用 `grep`/`glob`/`read` 定位与问题相关的代码,梳理调用链,尽量复现问题。
|
|
23
|
-
-
|
|
28
|
+
- 无法复现时如实记录「未能复现」及原因(环境/数据缺失等),不臆测。
|
|
24
29
|
- 产出结论:**问题现象 → 定位位置(file:line)→ 根因**。
|
|
30
|
+
- 定位失败则停止后续阶段,直接产出文档:在「问题定位」写「未能定位」+ 原因,「总结」写需要用户补充的信息,按「修复失败」收尾。
|
|
25
31
|
|
|
26
32
|
## 阶段 2:修复方案
|
|
27
33
|
|
|
@@ -33,45 +39,50 @@ agent: build
|
|
|
33
39
|
|
|
34
40
|
- 实施修改:遵循仓库既有代码风格,不加多余注释,只改必须改的地方。
|
|
35
41
|
- 验证修复:运行相关测试/构建命令,或重跑复现用例确认症状消失。
|
|
36
|
-
- 验证失败则回到阶段 2/3
|
|
42
|
+
- 验证失败则回到阶段 2/3 迭代(验证失败迭代 ≤3 次),记录每轮结果。
|
|
37
43
|
|
|
38
44
|
## 阶段 4:review
|
|
39
45
|
|
|
40
46
|
- 自查 diff:边界情况、兼容性、遗漏改动、是否有其他调用方受影响。
|
|
41
|
-
-
|
|
47
|
+
- **切换独立视角**:假想这是别人的 diff,列出你会拒绝它的理由(边界遗漏、兼容性破坏、副作用),再用这些理由逐条复检自己的改动。
|
|
48
|
+
- 复查是否根治而非掩盖症状;发现问题回到阶段 2 修正(review 返工迭代 ≤2 次),修正后重跑阶段 3 验证。
|
|
42
49
|
- 全部通过后进入阶段 5。
|
|
43
50
|
|
|
44
51
|
## 阶段 5:总结
|
|
45
52
|
|
|
46
|
-
1. 生成日期目录和时间戳:`date +%Y-%m-%d` 获取日期,`date +%H%M%S` 获取时间戳(如
|
|
53
|
+
1. 生成日期目录和时间戳:`date +%Y-%m-%d` 获取日期,`date +%H%M%S` 获取时间戳(如 `<root_dir>/.webwork/harness/fix/2026-09-15/`),`mkdir -p` 创建。
|
|
47
54
|
2. 标题:从问题描述提炼 ≤6 字极简短语(去空格/标点/特殊字符),如"登录接口401"。
|
|
48
|
-
3. 用 `write` 写入
|
|
55
|
+
3. 用 `write` 写入 `<root_dir>/.webwork/harness/fix/<yyyy-mm-dd>/<问题极简标题>-<hhmmss>.md`,结构:
|
|
49
56
|
|
|
50
57
|
```
|
|
51
58
|
# <问题极简标题>
|
|
52
59
|
|
|
53
60
|
- 日期:<yyyy-mm-dd>
|
|
54
61
|
- 问题描述:<用户描述摘要>
|
|
62
|
+
- 结论:已修复 | 未能修复 ← 二选一,必须显式写出
|
|
55
63
|
|
|
56
64
|
## 1. 问题定位
|
|
57
65
|
|
|
58
|
-
<现象 / 位置 /
|
|
66
|
+
<现象 / 位置 / 根因;未能定位时写原因>
|
|
59
67
|
|
|
60
68
|
## 2. 修复方案
|
|
61
69
|
|
|
62
|
-
|
|
70
|
+
<方案与取舍;未能修复时逐条列出已尝试的方案>
|
|
63
71
|
|
|
64
72
|
## 3. 修复测试
|
|
65
73
|
|
|
66
|
-
<改动摘要 +
|
|
74
|
+
<改动摘要 + 验证命令与结果;未能修复时写每轮验证失败的原因>
|
|
67
75
|
|
|
68
76
|
## 4. Review
|
|
69
77
|
|
|
70
|
-
|
|
78
|
+
<自查结论 + 独立视角复检结果>
|
|
71
79
|
|
|
72
80
|
## 5. 总结
|
|
73
81
|
|
|
74
|
-
|
|
82
|
+
<已修复:影响面、后续建议>
|
|
83
|
+
<未能修复:卡点、需要用户提供的信息、建议的下一步方向>
|
|
75
84
|
```
|
|
76
85
|
|
|
77
|
-
4. `todowrite` 确认 5 项全部勾完,向用户输出:**文档路径** +
|
|
86
|
+
4. `todowrite` 确认 5 项全部勾完,向用户输出:**文档路径** + 结论摘要。
|
|
87
|
+
- 修复成功:改动文件、验证结果。
|
|
88
|
+
- 修复失败:根因、已尝试方案、卡点、建议。
|