@wwkit/harness 1.0.17 → 1.0.19

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.
Files changed (43) hide show
  1. package/README.md +2 -2
  2. package/agents/fastcode.md +130 -0
  3. package/agents/scrum.md +65 -0
  4. package/package.json +4 -2
  5. package/readme/development.md +1 -1
  6. package/scripts/postinstall.js +41 -0
  7. package/skills/query/SKILL.md +112 -0
  8. package/skills/query/references/input.schema.json5 +25 -0
  9. package/skills/read-docs/references/superpowers/comparison.md +1 -1
  10. package/skills/read-docs/references/superpowers/index.md +1 -1
  11. package/agents/query.md +0 -42
  12. package/agents/work.md +0 -167
  13. package/plugins/work-bootstrap.js +0 -77
  14. package/scripts/work-review-package +0 -50
  15. package/scripts/work-task-brief +0 -27
  16. package/scripts/work-workspace +0 -31
  17. package/skills/work-dispatch/SKILL.md +0 -78
  18. package/skills/work-dispatch/references/dispatch-prompt.md +0 -87
  19. package/skills/work-dispatch/references/prepare.md +0 -25
  20. package/skills/work-dispatch/references/report-handling.md +0 -38
  21. package/skills/work-finalize/SKILL.md +0 -83
  22. package/skills/work-finalize/references/acceptance.md +0 -19
  23. package/skills/work-finalize/references/final-review.md +0 -53
  24. package/skills/work-finalize/references/handover.md +0 -28
  25. package/skills/work-ledger/SKILL.md +0 -73
  26. package/skills/work-ledger/references/bootstrap.md +0 -28
  27. package/skills/work-ledger/references/layout.md +0 -25
  28. package/skills/work-ledger/references/ledger-format.md +0 -57
  29. package/skills/work-plan/SKILL.md +0 -81
  30. package/skills/work-plan/references/plan-file.md +0 -29
  31. package/skills/work-plan/references/self-review.md +0 -18
  32. package/skills/work-plan/references/split-rules.md +0 -23
  33. package/skills/work-plan/references/task-fields.md +0 -44
  34. package/skills/work-recovery/SKILL.md +0 -80
  35. package/skills/work-recovery/references/budget.md +0 -40
  36. package/skills/work-recovery/references/replan.md +0 -21
  37. package/skills/work-recovery/references/rollback.md +0 -20
  38. package/skills/work-review/SKILL.md +0 -95
  39. package/skills/work-review/references/breaker.md +0 -26
  40. package/skills/work-review/references/fix-loop.md +0 -118
  41. package/skills/work-review/references/review-package.md +0 -24
  42. package/skills/work-review/references/reviewer-prompt.md +0 -77
  43. package/skills/work-review/references/verdict-handling.md +0 -25
@@ -1,95 +0,0 @@
1
- ---
2
- name: work-review
3
- description: |
4
- [work 专属 runbook] 仅供 work agent 通过 skill 工具显式调用(name=work-review),其他 agent / 普通对话禁止触发
5
- 审查与修复阶段技能:5.1 生成 review package(Commits/Files changed/Diff 上下文 10 行 + 7 位短 SHA);
6
- 5.2 派发 reviewer(两阶段 Spec Compliance+Code Quality、≤15 次、写白名单仅 REVIEW_FILE、不重跑测试);
7
- 5.3 结论处理(✅+Approved→complete / ❌或有 Critical/Important→fix loop / ⚠️→主 agent 核查;Minor→deferred;Plan-mandated→主 agent 裁决 ruled 不打断);
8
- 6.2 fix 轮次策略(1-3 复用 session,4-5 新 implementer,能力假设退化);
9
- 6.3 scoped re-review(FIX_BASE=最后 reviewed_head、re-reviewer ≤10 次、写 rereview-<R>.md);
10
- 6.4 Ledger 记录两条;6.5 异常分支状态机;6.6 Breaker(round 5 才裁决 park/STOP,绝不 round 5 前裁决)。
11
- 适用:work agent 第五步「Task Review」与第六步「Fix Loop」。
12
- 不适用:派发 implementer(用 work-dispatch);规划(用 work-plan);非 work 流程的普通审查。
13
- license: MIT
14
- metadata:
15
- workflow: sequential
16
- ---
17
-
18
- # work-review 技能
19
-
20
- ## 触发时机
21
-
22
- work agent 完成第四步派发、implementer 返回 `DONE` 或 `DONE_WITH_CONCERNS` 后,进入第五步「Task Review」时加载本技能;review 报告 Spec ❌ 或有 Critical/Important finding 时进入第六步「Fix Loop」,沿用本技能至 review close 或 Breaker 裁决。
23
-
24
- ## 输入
25
-
26
- 从 work.md 流程传入:
27
-
28
- | 输入 | 说明 |
29
- |------|------|
30
- | `doc_dir` | 产物目录绝对路径(来自 work-ledger),review/diff/rereview 文件均写其下 |
31
- | `task_id` (`T<N>`) | 当前任务编号 |
32
- | `BASE` / `HEAD` | review package 的 diff 起止;`BASE` 取 Ledger 中该任务的 `base=` 值,`HEAD` = 当前 HEAD |
33
- | `BRIEF_FILE` | `<doc_dir>/task-<N>-brief.md`,reviewer/re-reviewer 读取验收标准 |
34
- | `REPORT_FILE` | `<doc_dir>/task-<N>-report.md`,reviewer 读取实现者声称 |
35
- | Ledger 句柄 | review/re-review 后写 `T<N>: reviewed_head=`/fix round 条目 |
36
-
37
- ## 工作流程
38
-
39
- ### 阶段 1:加载 references
40
-
41
- 用 `read` 工具加载本技能 `references/` 下的全部流程文件(相对路径基于本 skill 目录):
42
-
43
- - `references/review-package.md` → 5.1 生成 review package(三段结构 + 7 位短 SHA)
44
- - `references/reviewer-prompt.md` → 5.2 派发 reviewer(两阶段 prompt + 执行边界 ≤15 次 + 写白名单仅 REVIEW_FILE + 不重跑测试 + 报告格式)
45
- - `references/verdict-handling.md` → 5.3 Review 结论处理(✅/❌/⚠️ + Minor deferred + Plan-mandated ruled)
46
- - `references/fix-loop.md` → 6.2 fix 轮次策略 + 6.3 scoped re-review + 6.4 Ledger 记录 + 6.5 异常分支状态机
47
- - `references/breaker.md` → 6.6 Breaker(Round 5 仍有 open findings 时裁决 park/STOP)
48
-
49
- ### 阶段 2:生成 review package
50
-
51
- 按 `references/review-package.md`:取 Ledger 中该任务 `base=` 作为 `BASE`,`HEAD` = 当前 HEAD,写入 `<doc_dir>/task-<N>-review-<base7>..<head7>.diff`,内容含三段(Commits / Files changed / Diff 上下文 10 行)。
52
-
53
- ### 阶段 3:派发 reviewer
54
-
55
- 按 `references/reviewer-prompt.md` 渲染两阶段审查 prompt(Spec Compliance + Code Quality),用 `task` 工具派发,`subagent_type` 取 `general`(需写入 REVIEW_FILE)。reviewer 写入 `<doc_dir>/task-<N>-review.md`。
56
-
57
- ### 阶段 4:处理结论
58
-
59
- 按 `references/verdict-handling.md` 读取 `task-<N>-review.md` 分派:✅+Approved→complete;❌或有 Critical/Important→fix loop;⚠️→主 agent 核查;Minor→deferred;Plan-mandated→主 agent 裁决 ruled 不打断。
60
-
61
- ### 阶段 5:Fix Loop(如触发)
62
-
63
- 按 `references/fix-loop.md` 执行最多 5 轮 fix:每轮按轮次策略派发 fix implementer(1-3 复用 session,4-5 新 implementer),fix 后做 scoped re-review(`FIX_BASE` = 最后一条 `reviewed_head=`),写 Ledger 两条;异常分支按 6.5 状态机处理。
64
-
65
- ### 阶段 6:Breaker(如 Round 5 仍有 open findings)
66
-
67
- 按 `references/breaker.md`:停止派发,读 `task-<N>-rereview-5.md`,主 agent 裁决每条 open finding(park with ruling / STOP)。**绝不**在 Round 5 前提前裁决。
68
-
69
- ## 输出
70
-
71
- - `<doc_dir>/task-<N>-review-<base7>..<head7>.diff`(review package)
72
- - `<doc_dir>/task-<N>-review.md`(reviewer 报告)
73
- - fix loop 期间:`<doc_dir>/task-<N>-review-<fix_base7>..<head7>.diff`(scoped package)、`<doc_dir>/task-<N>-rereview-<R>.md`(re-reviewer 报告)
74
- - Ledger 条目:`T<N>: reviewed_head=`、`T<N>: complete`、`T<N>: fix round <R>/5`、`T<N>: minor (deferred)`、`T<N>: ruled`、`T<N>: parked`、`T<N>: BLOCKED`
75
- - 本技能**不派发 implementer 初次执行**(属 work-dispatch),只派发 reviewer / fix implementer / re-reviewer
76
-
77
- ## 约束
78
-
79
- - reviewer/re-reviewer 只读约束写在 prompt 里,不体现在工具权限:唯一允许的写操作是写入对应 REVIEW_FILE/REREVIEW_FILE,不得改源码、不得 add/commit、不得改工作树/index/HEAD/分支。
80
- - reviewer 不重跑测试:信任 Ledger 记录的测试结果。
81
- - fix prompt 引用 review 文件路径,不内联 findings——compaction 后 findings 可能丢失,文件不会。
82
- - fix 轮次硬上限 5 轮;Breaker 绝不在 Round 5 前提前裁决(6.5 即时 ESCALATE/BLOCKED 是技术与边界问题,不属「提前裁决 finding 正确性」)。
83
- - 能力假设退化:若平台不支持 session 续接,每轮新 implementer;若不支持模型切换,退化为「新 implementer + 更详细 brief」,不许静默失效。
84
- - 本技能只审查与 fix,不规划、不派发初次 implementer、不改源码。
85
-
86
- ## 资源目录
87
-
88
- ```
89
- references/
90
- ├── review-package.md # 5.1 review package 三段结构
91
- ├── reviewer-prompt.md # 5.2 reviewer prompt 模板 + 执行边界 + 报告格式
92
- ├── verdict-handling.md # 5.3 结论处理(✅/❌/⚠️/Minor/Plan-mandated)
93
- ├── fix-loop.md # 6.2 轮次策略 + 6.3 scoped re-review + 6.4 Ledger + 6.5 异常状态机
94
- └── breaker.md # 6.6 Breaker(Round 5 裁决 park/STOP)
95
- ```
@@ -1,26 +0,0 @@
1
- # 6.6 Breaker(Round 5 仍有 open findings)
2
-
3
- ## 触发条件
4
-
5
- Fix loop 跑完 Round 5 仍有 open findings 时触发。**绝不**在 Round 5 前提前裁决——那是 pre-judging。6.5 中的即时 ESCALATE/BLOCKED 是技术与边界问题,不属于「提前裁决 finding 正确性」。
6
-
7
- ## 步骤
8
-
9
- 1. 停止派发。
10
- 2. 读取 `task-<N>-rereview-5.md`。
11
- 3. 自己裁决每条 open finding,按下表分派:
12
-
13
- ## 裁决表
14
-
15
- | 情况 | 动作 |
16
- |------|------|
17
- | reviewer 错误/可争议 | park with ruling: `T<N>: parked — <finding> — ruling: <why>` |
18
- | 真问题但不 load-bearing | park with ruling(同上) |
19
- | 真问题且 load-bearing | STOP: `T<N>: BLOCKED — <reason>`,报告用户 |
20
-
21
- ## 约束
22
-
23
- - 仅 Round 5 后触发,Round 1-4 不裁决 finding 正确性。
24
- - park 不打断用户;STOP 才报告用户。
25
- - load-bearing 判定:该 finding 不修复会导致 `target` 未达成或后续任务无法进行。
26
- - 6.5 即时 ESCALATE/BLOCKED(fix implementer 返回 BLOCKED/ESCALATE、finding retry 2 次未解决等)是技术与边界问题,与本 Breaker 的 finding 正确性裁决不同,不视为「提前裁决」。
@@ -1,118 +0,0 @@
1
- # 6.2-6.5 Fix Loop
2
-
3
- ## 6.1 触发条件
4
-
5
- Review 报告 Spec ❌、任何 Critical/Important finding、或你确认的 ⚠️ 项。
6
-
7
- ## 6.2 Fix 轮次策略
8
-
9
- | 轮次 | 策略 | 理由 |
10
- |------|------|------|
11
- | Round 1-3 | 恢复原 implementer(传 session_ref) | context 完整,知道自己的代码和选择 |
12
- | Round 4-5 | 新 implementer + 更强模型 | fresh eyes + capability bump |
13
-
14
- **能力假设**(不符则退化,不许静默失效):
15
- - 「传 `session_ref` 续接同一 subagent 会话」依赖平台 `task` 工具支持会话续接;若不支持,改为每轮**新 implementer**(附完整 brief + report + review 文件路径,prompt 自包含)。
16
- - 「更强模型」为可选项:若 `task` 调用支持指定模型则用之;否则退化为「新 implementer + 更详细 brief」,**不假定模型可切换**。
17
-
18
- ### 每轮 fix 的 prompt
19
-
20
- ```
21
- 你之前实现了 T<N>,review 发现了以下问题需要修复。
22
-
23
- ## 任务详情
24
-
25
- 读取你的任务 brief:<BRIEF_FILE>
26
-
27
- ## 审查发现
28
-
29
- 读取审查报告:<REVIEW_FILE>
30
- 其中的 Critical 和 Important findings 是你需要修复的。
31
-
32
- ## 执行边界(硬约束)
33
-
34
- - **最多 20 次工具调用**:到 20 次仍未完成必须停止并报告 ESCALATE。
35
- - **只修 open findings**:不要重构未涉及的代码,不要"顺手改进"。
36
- - **每条 finding 最多重试 2 次**:如果同一 finding 修了 2 次仍未解决,停止并报告该 finding 为 ESCALATE。
37
-
38
- ## 修复要求
39
-
40
- 1. 逐条修复 review 中的 Critical/Important findings
41
- 2. 运行 brief 中的 verify 命令验证修复
42
- 3. 将 fix report 追加到 <REPORT_FILE>(不要覆盖之前的报告)
43
- 4. 返回 ≤10 行状态:fix 了哪些 finding、verify 结果、commits、工具调用次数
44
- ```
45
-
46
- **关键**:fix prompt 引用 review 文件路径,不内联 findings——compaction 后 findings 可能丢失,文件不会。
47
-
48
- ## 6.3 Scoped Re-review
49
-
50
- 每轮 fix 后,取 Ledger 中该任务**最后一条** `reviewed_head=` 的值作为 `FIX_BASE`,`HEAD` = 当前 HEAD,生成 scoped review package 到 `<doc_dir>/task-<N>-review-<fix_base7>..<head7>.diff`(结构同 5.1)。
51
-
52
- 派发 re-reviewer(`subagent_type` 取 `general`;唯一写操作是 `<REREVIEW_FILE>`,不得改源码/add/commit):
53
-
54
- ```
55
- 你是一个 scoped re-reviewer。验证上一轮 review 的 findings 是否被解决,检查 fix diff 是否引入新问题。
56
-
57
- ## Task
58
- 读取 brief:<BRIEF_FILE>
59
-
60
- ## 审查发现
61
- 读取审查报告:<REVIEW_FILE>
62
- 其中的 Critical/Important findings 是你需要验证的。
63
-
64
- ## Fix
65
- 读取实现者报告(fix report 在末尾):<REPORT_FILE>
66
- Fix base: <FIX_BASE_SHA> Head: <HEAD_SHA>
67
- Diff 文件:<DIFF_FILE>
68
-
69
- ## 执行边界(硬约束)
70
-
71
- - **最多 10 次工具调用**:到 10 次仍未完成必须停止并报告未完成。
72
- - **只验证 findings + fix diff**:不重新审查未改动代码。
73
- - **写操作白名单 = 仅 `<REREVIEW_FILE>`**:不修改源码、不 add、不 commit、不改工作树/index/HEAD/分支;唯一允许的写是写入 `<REREVIEW_FILE>`。
74
-
75
- ## 范围
76
- - 只验证 findings 是否解决 + 检查 fix diff 新问题
77
- - 范围外的观察记为 out-of-scope,不阻塞
78
-
79
- ## 报告格式
80
-
81
- 将完整 re-review 报告写入 <REREVIEW_FILE>,然后用 ≤10 行回报:
82
- - 逐条 finding: ADDRESSED / NOT ADDRESSED
83
- - New breakage: None / <描述>
84
- - Verdict: All findings addressed | Findings remain open
85
- - 工具调用次数(如 "used 6/10")
86
- ```
87
-
88
- re-reviewer 写入文件:`<doc_dir>/task-<N>-rereview-<R>.md`(R = 轮次编号)
89
-
90
- ## 6.4 Ledger 记录
91
-
92
- 每轮 fix 后、re-review 结束后立即追加两条:
93
-
94
- ```
95
- T<N>: fix round <R>/5 (<X> addressed, <Y> open — <finding one-liners>; commits <a7>..<b7>)
96
- T<N>: reviewed_head=<re-review 时的 HEAD>
97
- ```
98
-
99
- ## 6.5 Fix loop 异常分支状态机
100
-
101
- fix 过程中出现的非正常返回按以下状态表处理(不分轮次,即时触发):
102
-
103
- | 事件 | 处理 |
104
- |------|------|
105
- | fix implementer 返回 `BLOCKED`/`ESCALATE` | 停止本任务 fix,写 Ledger `T<N>: fix blocked/escale (<reason>)`,按 6.6 Breaker 裁决或升级用户 |
106
- | re-review 报 **New breakage**(Critical/Important) | 作为新 finding 并入下一 fix round(不单独重启流程);Minor → park |
107
- | fix 后 `verify` 失败 | 视为该 finding 未解决;该 finding 计 retry+1,累计 >2 次 → 该 finding 单独 `ESCALATE` |
108
- | 部分 `ADDRESSED` / 部分 `NOT ADDRESSED` | 仅未解决项进入下一轮;已解决项在 Ledger 标注 `fixed` |
109
- | 某 finding retry 2 次仍未解决 | 该 finding 单独 `ESCALATE`,不阻塞其他 finding 继续 |
110
- | re-reviewer 返回空 / 无 verdict | 记 Ledger `T<N>: rereview missing`,从 rereview 文件读取;文件亦无 → 按该轮 findings 未解决处理 |
111
-
112
- ## 约束
113
-
114
- - fix 轮次硬上限 5 轮。
115
- - `FIX_BASE` 语义:取 Ledger 中该任务**最后一条** `reviewed_head=` 的值(不是初始 `base=`),保证 scoped re-review 只看 fix diff。
116
- - re-reviewer 工具调用上限 10 次;写白名单仅 `<REREVIEW_FILE>`。
117
- - fix prompt 引用 review 文件路径,不内联 findings。
118
- - 能力假设退化不许静默失效:不支持 session 续接 → 每轮新 implementer;不支持模型切换 → 退化「新 implementer + 更详细 brief」。
@@ -1,24 +0,0 @@
1
- # 5.1 生成 review package
2
-
3
- ## 步骤
4
-
5
- 1. 取 Ledger 中该任务的 `base=` 值作为 `BASE`;`HEAD` = 当前 HEAD。
6
- 2. 写入 `<doc_dir>/task-<N>-review-<base7>..<head7>.diff`(`<base7>`/`<head7>` 为 7 位短 SHA),内容必须含三段:
7
-
8
- ## 三段结构
9
-
10
- 1. `## Commits`:`BASE..HEAD` 的 commit 列表
11
- 2. `## Files changed`:`BASE..HEAD` 的变更文件统计
12
- 3. `## Diff`:`BASE..HEAD` 的完整 diff(上下文取 10 行)
13
-
14
- ## 产物
15
-
16
- | 产物 | 位置 | 用途 |
17
- |------|------|------|
18
- | review package diff | `<doc_dir>/task-<N>-review-<base7>..<head7>.diff` | reviewer 读取审查 |
19
-
20
- ## 约束
21
-
22
- - 短 SHA 一律取 7 位(`${sha:0:7}`)。
23
- - diff 上下文固定 10 行(`git diff -U10` 或等价)。
24
- - `BASE` 必须来自 Ledger `base=` 条目,不取记忆值(compaction 恢复安全)。
@@ -1,77 +0,0 @@
1
- # 5.2 派发 task reviewer
2
-
3
- 使用 `task` 工具,`subagent_type` 取 `general`(reviewer 需写入 REVIEW_FILE,explore 无写工具)。**只读约束写在 prompt 里,不体现在工具权限**:唯一允许的写操作是写入 `<REVIEW_FILE>`,不得改源码、不得 add/commit。
4
-
5
- ## prompt 结构
6
-
7
- ```
8
- 你是一个任务审查者。审查 T<N> 的实现:先检查是否符合需求,再检查代码质量。
9
-
10
- ## 需求
11
-
12
- 读取任务 brief:<BRIEF_FILE>
13
- 它包含 goal、files、interfaces、accept(验收标准)、verify(验证命令)。
14
-
15
- 全局约束:
16
- <GLOBAL_CONSTRAINTS — 从 constraints 原样复制;constraints 为空时写(无额外约束)>
17
-
18
- ## 实现者声称做了什么
19
-
20
- 读取实现者报告:<REPORT_FILE>
21
-
22
- ## 待审查的 Diff
23
-
24
- Base: <BASE_SHA>
25
- Head: <HEAD_SHA>
26
- Diff 文件:<DIFF_FILE>
27
-
28
- 读取 diff 文件——它包含 commit 列表、统计摘要和完整 diff。
29
-
30
- ## 执行边界(硬约束)
31
-
32
- - **最多 15 次工具调用**:到 15 次仍未完成审查必须停止并报告未完成。
33
- - **禁止爬取代码库**:只在 diff 内审查,除非有具体命名风险需要检查(每次外部检查计 1 次工具调用)。
34
- - **不重跑测试**:信任 Ledger 记录的测试结果,不运行测试。
35
- - **写操作白名单 = 仅 `<REVIEW_FILE>`**:不修改源码、不 add、不 commit、不改工作树/index/HEAD/分支;唯一允许的写是写入 `<REVIEW_FILE>`。
36
-
37
- ## 审查原则
38
-
39
- - **不信任实现者报告**:它是未验证的声明,对照 diff 验证
40
- - diff 的上下文行就是被改的文件——不要单独 Read 已在 diff 中的文件,除非某段 hunk 被截断
41
-
42
- ## Part 1: Spec Compliance
43
-
44
- 对照 brief 的 accept 验收标准逐条检查:
45
- - 每条 accept 是否满足?附 file:line 证据
46
- - Missing:跳过/遗漏的要求
47
- - Extra:未要求的过度工程
48
- - Misunderstood:方向错误
49
-
50
- ## Part 2: Code Quality
51
-
52
- - 关注分离是否清晰
53
- - 错误处理是否恰当
54
- - DRY 且无过度抽象
55
- - 边界情况是否处理
56
- - 测试是否验证真实行为
57
- - interfaces 声明的签名是否与实现匹配
58
-
59
- ## 报告格式
60
-
61
- 将完整审查报告写入 <REVIEW_FILE>,然后用 ≤10 行回报:
62
- - Spec Compliance: ✅ | ❌
63
- - Task quality: Approved | Needs fixes
64
- - Critical/Important 数量
65
- - 工具调用次数(如 "used 8/15")
66
- - Review 文件路径
67
- ```
68
-
69
- ## reviewer 写入文件
70
-
71
- `<doc_dir>/task-<N>-review.md`
72
-
73
- ## 约束
74
-
75
- - 两阶段顺序固定:先 Spec Compliance,再 Code Quality。
76
- - 工具调用上限 15 次;写白名单仅 `<REVIEW_FILE>`;不重跑测试。
77
- - 不信任实现者报告,对照 diff 验证;diff 上下文行即被改文件,不单独 Read(除非 hunk 截断)。
@@ -1,25 +0,0 @@
1
- # 5.3 Review 结论处理
2
-
3
- 读取 `task-<N>-review.md`,按结论处理:
4
-
5
- ## 分支表
6
-
7
- | 结论 | 动作 |
8
- |------|------|
9
- | **Spec ✅ + Approved** | 写 Ledger `T<N>: reviewed_head=<head7>`、`T<N>: complete (commits <base7>..<head7>, review clean)`,勾单,下一任务 |
10
- | **Spec ❌ 或有 Critical/Important** | 先写 Ledger `T<N>: reviewed_head=<head7>`,再进入 fix loop(第六步) |
11
- | **⚠️ Cannot verify from diff** | 你自己核查(你持有计划和跨任务上下文);若核查需读文件超过 3 次,改为派 `explore` 子任务核查,避免污染 context |
12
-
13
- ## Minor findings
14
-
15
- 记入 Ledger(`T<N>: minor (deferred): <one-liner>`),不进入 fix loop,留给 final review 处理。
16
-
17
- ## Plan-mandated findings
18
-
19
- finding 与计划文本冲突时 → 你以 spec/`target` 为最高权威**自行裁决**(计划那句话 vs finding,谁更符合 spec),记 Ledger `T<N>: ruled — <finding> — <裁决与理由>`,不打断用户。仅当 finding 与用户给的 `constraints`(而非 AI 生成的 plan)冲突时,才升级用户。
20
-
21
- ## 约束
22
-
23
- - `reviewed_head=` 必须在进入 fix loop 前先写,作为后续 scoped re-review 的 `FIX_BASE` 来源。
24
- - Minor 不阻塞、不 fix,仅 deferred。
25
- - Plan-mandated 裁决不打断用户:spec/`target` 是最高权威,AI 生成的 plan 不是。仅与用户 `constraints` 冲突才升级。