@andyqiu/codeforge 0.5.1 → 0.5.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andyqiu/codeforge",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "CodeForge — opencode 的零侵入扩展包",
5
5
  "type": "module",
6
6
  "private": false,
@@ -12,10 +12,10 @@ description: |
12
12
  systematic debugging:根因驱动而非症状修补。
13
13
  1. reviewer 取证(smart_search 历史、读 log / git blame)
14
14
  2. planner 出根因假设 + 修复方案
15
- 3. coder 先写「复现」测试 stage(红)
16
- 4. coder 改代码 stage(绿)
17
- 5. reviewer 审 + 跑全量测试
18
- 6. coder apply_all(必审批)
15
+ 3. coder 先在 session worktree 写「复现」测试(红)
16
+ 4. coder session worktree 改代码(绿)
17
+ 5. reviewer 审 worktree diff + 跑全量测试
18
+ 6. 用户跑 /merge 触发 review-fix-review 闭环合并到主仓
19
19
  7. reviewer 沉淀 bugfix 经验回 KH
20
20
 
21
21
  trigger: /debug
@@ -49,18 +49,18 @@ steps:
49
49
 
50
50
  - name: 复现
51
51
  agent: coder
52
- description: 写一个能稳定复现 bug 的最小测试用例(应该红)
52
+ description: session worktree 内写一个能稳定复现 bug 的最小测试用例(应该红)
53
53
  inject_context:
54
- forbid_direct_edit: true
55
- hint: ast-edit / pending-changes,不要直接改文件
54
+ forbid_main_repo_write: true
55
+ hint: 直接 edit / write / ast_edit 到 session worktree(worktree-guard 隔离主仓),不要绕过
56
56
  on_error: retry
57
57
  max_retries: 1
58
58
 
59
59
  - name: 修复
60
60
  agent: coder
61
- description: planner 选定的根因假设改代码,让复现测试变绿
61
+ description: session worktree 内按 planner 选定的根因假设改代码,让复现测试变绿
62
62
  inject_context:
63
- forbid_direct_edit: true
63
+ forbid_main_repo_write: true
64
64
  # ADR:workflow-auto-feedback-loop: 完成 stage 后自动跑 npm test 自纠
65
65
  # bugfix 失败本质是假设错——escalate 给 planner 重出根因假设,而不是 reviewer
66
66
  auto_feedback:
@@ -73,12 +73,13 @@ steps:
73
73
 
74
74
  - name: 审阅
75
75
  agent: reviewer
76
- description: 看全部 pending + 跑全量测试;输出 APPROVE / REQUEST_CHANGES / BLOCK
77
- actions:
78
- - tool: pending-changes
79
- args:
80
- action: list
81
- status: pending
76
+ description: worktree diff + 跑全量测试;输出 APPROVE / REQUEST_CHANGES / BLOCK
77
+ inject_context:
78
+ review_target: code
79
+ # ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
80
+ # 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
81
+ # 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
82
+ # actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
82
83
  # ADR:workflow-on-decision-branching: 三档决策驱动;BLOCK 回 planner 重出根因假设(与 auto_feedback escalate_to=planner 同语义)
83
84
  on_decision:
84
85
  APPROVE: continue # 进入"落地" step
@@ -91,14 +92,10 @@ steps:
91
92
  on_error: abort
92
93
 
93
94
  - name: 落地
94
- agent: coder
95
- description: 用户审批通过后把 fix + 复现测试一起 apply
95
+ # 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge 到主仓
96
+ agent: codeforge
97
+ description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
96
98
  requires_human_approval: true
97
- actions:
98
- - tool: pending-changes
99
- args:
100
- action: apply_all
101
- on_error: abort
102
99
  on_error: abort
103
100
 
104
101
  - name: 沉淀
@@ -39,12 +39,13 @@ steps:
39
39
  - name: 审阅
40
40
  agent: reviewer
41
41
  description: 按维度清单逐项审,跑测试,输出 APPROVE/REQUEST_CHANGES/BLOCK
42
- actions:
43
- - tool: pending-changes
44
- args:
45
- action: list
46
- status: pending
47
- on_error: skip
42
+ inject_context:
43
+ review_target: code
44
+ # ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha 注入到 reviewer prompt 头部
45
+ # 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
46
+ # 注意:本 workflow 只读,没有 plan_id(不强制 plan_read 对照)
47
+ # 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
48
+ # actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`(本 workflow 只读,不写 worktree、不触发 /merge)
48
49
  on_decision:
49
50
  APPROVE: continue
50
51
  REQUEST_CHANGES: continue # 仍 continue 进入沉淀,REQUEST_CHANGES 是给提交者看的
@@ -18,9 +18,9 @@ description: |
18
18
  完整的"从需求到落地"流程。串联三个核心 agent:
19
19
  1. planner 出方案(自动 smart_search + repo-map)
20
20
  2. reviewer 审方案(plan_only,REQUEST_CHANGES 回 planner 重写)
21
- 3. coder 按方案 stage 改动到 .codeforge/pending/
22
- 4. reviewer 审代码 + 跑测试
23
- 5. 用户审批 apply 落地工作区 → 自动沉淀经验回 KH
21
+ 3. coder 按方案直接写入 session worktree(session-worktree-guard 隔离主仓)
22
+ 4. reviewer worktree diff + 跑测试
23
+ 5. 用户跑 /merge 触发 review-fix-review 闭环合并到主仓 → 自动沉淀经验回 KH
24
24
 
25
25
  trigger: /ship
26
26
 
@@ -52,12 +52,9 @@ steps:
52
52
  - 设计合理性
53
53
  - 风险评估
54
54
  - 涉及文件清单
55
- actions:
56
- - tool: pending-changes
57
- args:
58
- action: list
59
- status: pending
60
- on_error: skip
55
+ # ↓ plan_id 由 workflow-engine 从上一步 planner 的 boomerang 摘要中解析后注入(reviewer 模式 1 调 plan_read(plan_id=<id>) 必需)
56
+ # 若 workflow-engine 当前未实现自动解析:planner 必须把 `plan_id: plan-YYYYMMDD-HHmmss-NNN` 独占一行写到 boomerang,workflow-engine 透传到下一步 inject_context.plan_id
57
+ # actions 留空:reviewer 自己 plan_read(plan_id=<上方注入>) 拿方案(review_target=plan_only)
61
58
  on_decision:
62
59
  APPROVE: continue
63
60
  REQUEST_CHANGES:
@@ -68,9 +65,9 @@ steps:
68
65
 
69
66
  - name: 执行
70
67
  agent: coder
71
- description: 严格按方案 stage 改动;测试失败立刻停下汇报
68
+ description: 严格按方案在 session worktree 内直接写文件(edit / write / ast_edit);测试失败立刻停下汇报
72
69
  inject_context:
73
- forbid_direct_edit: true
70
+ forbid_main_repo_write: true
74
71
  # ADR:workflow-auto-feedback-loop: 完成 stage 后自动跑 npm test 自纠(最多 3 轮,失败 escalate reviewer)
75
72
  auto_feedback:
76
73
  test_cmd: "npm test"
@@ -78,18 +75,19 @@ steps:
78
75
  error_excerpt_lines: 5
79
76
  escalate_to: reviewer
80
77
  # actions 故意为空 —— 由 coder agent 自主决定调哪些工具
81
- # (pending-changes / nav-find / bash 等都允许,但 risky 动作会自动审批)
78
+ # (edit / write / ast_edit / nav-find / bash 等都允许;主仓写操作被 session-worktree-guard 拦截)
82
79
  on_error: retry
83
80
  max_retries: 1
84
81
 
85
82
  - name: 审阅
86
83
  agent: reviewer
87
- description: 只读审阅 + 跑测试,输出 APPROVE/REQUEST_CHANGES/BLOCK
88
- actions:
89
- - tool: pending-changes
90
- args:
91
- action: list
92
- status: pending
84
+ description: 只读审阅 worktree diff + 跑测试,输出 APPROVE/REQUEST_CHANGES/BLOCK
85
+ inject_context:
86
+ review_target: code
87
+ # ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
88
+ # 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
89
+ # 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
90
+ # actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
93
91
  # ADR:workflow-on-decision-branching: 三档决策驱动 workflow 跳转
94
92
  on_decision:
95
93
  APPROVE: continue # 进入"落地" step
@@ -100,14 +98,11 @@ steps:
100
98
  on_error: abort
101
99
 
102
100
  - name: 落地
103
- agent: coder
104
- description: 用户审批通过后,把全部 pending 应用到工作区
101
+ # 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge session worktree 到主仓
102
+ # 本步骤 workflow 不调任何 apply 工具;仅提示用户执行
103
+ agent: codeforge
104
+ description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
105
105
  requires_human_approval: true
106
- actions:
107
- - tool: pending-changes
108
- args:
109
- action: apply_all
110
- on_error: abort
111
106
  on_error: abort
112
107
 
113
108
  - name: 沉淀
@@ -67,11 +67,12 @@ steps:
67
67
  - name: 审阅
68
68
  agent: reviewer
69
69
  description: 确认行为不变(tests 绿)+ 代码更清晰
70
- actions:
71
- - tool: pending-changes
72
- args:
73
- action: list
74
- status: pending
70
+ inject_context:
71
+ review_target: code
72
+ # ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
73
+ # 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
74
+ # 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
75
+ # actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
75
76
  on_decision:
76
77
  APPROVE: continue
77
78
  REQUEST_CHANGES:
@@ -81,14 +82,10 @@ steps:
81
82
  on_error: abort
82
83
 
83
84
  - name: 落地
84
- agent: coder
85
- description: 用户审批通过后 apply 全部 pending
85
+ # 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge 到主仓
86
+ agent: codeforge
87
+ description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
86
88
  requires_human_approval: true
87
- actions:
88
- - tool: pending-changes
89
- args:
90
- action: apply_all
91
- on_error: abort
92
89
  on_error: abort
93
90
 
94
91
  - name: 沉淀
@@ -74,11 +74,12 @@ steps:
74
74
  - name: 审阅
75
75
  agent: reviewer
76
76
  description: 确认 RED→GREEN→REFACTOR 三步全做,测试覆盖核心
77
- actions:
78
- - tool: pending-changes
79
- args:
80
- action: list
81
- status: pending
77
+ inject_context:
78
+ review_target: code
79
+ # ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
80
+ # 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
81
+ # 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
82
+ # actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
82
83
  on_decision:
83
84
  APPROVE: continue
84
85
  REQUEST_CHANGES:
@@ -88,12 +89,8 @@ steps:
88
89
  on_error: abort
89
90
 
90
91
  - name: 落地
91
- agent: coder
92
- description: 用户审批通过后 apply 全部 pending
92
+ # 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge 到主仓
93
+ agent: codeforge
94
+ description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
93
95
  requires_human_approval: true
94
- actions:
95
- - tool: pending-changes
96
- args:
97
- action: apply_all
98
- on_error: abort
99
96
  on_error: abort