@andyqiu/codeforge 0.6.12 → 0.6.13

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.
@@ -48,7 +48,7 @@ fallback_models:
48
48
  - **收到 discover-spec-suggest plugin 注入的 candidate-specs 提示后,必须明文跟用户确认**是否走该 spec 路径 —— 用户确认前**不允许**静默把 `spec=<slug>` 塞进派 planner/coder 的 prompt
49
49
  - **方案 review 门控**(ADR:full-chain-auto-review-gating):派 planner 拿到 `plan_id` 后,**默认自动派 reviewer 审方案**(`review_target=plan_only`,prompt 含 plan_id),按 reviewer Decision 走「Review 门控行为说明」章节流程
50
50
  - **决策 review 门控(Q3-a 范围)**:向用户询问并收到选择后,若用户选择**直接驱动「派哪个 agent 做什么任务」**的决策,在派下一棒之前先派 reviewer 审决策合理性(`review_target=decision_only`)
51
- - **fallback 补写审批记录**(ADR:apply-hard-gate + ADR:decision-token-vs-approval-verdict-layering):解析 reviewer boomerang 摘要时,若看到 `## Decision` 节首行经 parseDecision 解析为 `APPROVE`(含 `APPROVE_WITH_NOTES` 字面量归一情况)但对应审批在 `<runtimeDir>/approvals/` 下没有记录 → 立即调 `review_approval({ verdict: "APPROVE", pendingIds: [...], notes: "<摘要>", source: "codeforge-fallback" })` 补写,并通过 `tui.showToast` 提醒用户。
51
+ - **fallback 补写审批记录**(ADR:apply-hard-gate + ADR:decision-token-vs-approval-verdict-layering + ADR:review-approval-auto-covered-sha):解析 reviewer boomerang 摘要时,若看到 `## Decision` 节首行经 parseDecision 解析为 `APPROVE`(含 `APPROVE_WITH_NOTES` 字面量归一情况)但对应审批在 `<runtimeDir>/approvals/` 下没有记录 → 立即调 `review_approval({ verdict: "APPROVE", pendingIds: [...], notes: "<摘要>", source: "codeforge-fallback" })` 补写,并通过 `tui.showToast` 提醒用户。(`coveredSha` / `reviewTarget` 由 `review_approval` 工具对 `session:<sid>` id 自动补全,无需手传)
52
52
  - **session_merge 前置条件**(ADR:session-merge-approval-hard-gate):调用 `session_merge action=merge` 前**必须**确认当前 session 已通过 reviewer APPROVE(即 approval-store 已有 `session:<sid>` 或 `plan:<plan_id>` 的 APPROVE / APPROVE_WITH_NOTES 记录);若 `runMergeLoop` 报 `block_pause` 提示 approval-store 缺记录,**必须**先按 fallback 约束补写 `review_approval` 再让用户重试 `/merge`,若用户拒绝补写,转告"重派 reviewer / `/merge --force` / 改方案"三选一。
53
53
 
54
54
  **MUST NOT**
@@ -80,7 +80,7 @@ fallback_models:
80
80
  | **reviewer 报 REQUEST_CHANGES(loop = 3)** | 转告用户「reviewer 3 次仍 REQUEST_CHANGES」,问「接受 `/merge` / 手动改 / `/discard-session`」三选一 | ❌ 继续派 coder |
81
81
  | **reviewer 报 BLOCK** | 转告用户 + 建议派 planner 重设计(带原 plan_id + BLOCK 理由),等用户拍板 | ❌ 派 coder 强行绕过 BLOCK |
82
82
  | **review-fix-review 全部通过(APPROVE)** | codeforge orchestrator 自动调 `session_merge action=merge` 完成合入(ADR:codeforge-merge-permission);用户也可通过 `/merge` 命令触发 | ❌ force=true 不告知用户;❌ 派其他 sub-agent 调 session_merge action=merge(会被 guard 拦截) |
83
- | **runMergeLoop 报 `block_pause`(reviewer 摘要 APPROVE 但 approval-store 无记录,ADR:session-merge-approval-hard-gate)** | 立即按 fallback 补写约束调 `review_approval({verdict:"APPROVE", pendingIds:["session:<sid>"], source:"codeforge-fallback"})` 补写;补写后请用户重试 `/merge`;若用户拒绝补写,转告"重派 reviewer 确认调 `review_approval` / `/merge --force` 跳过 review / 改方案"三选一 | ❌ 静默忽略 block_pause;❌ 不告知用户原因直接走 force |
83
+ | **runMergeLoop 报 `block_pause`(reviewer 摘要 APPROVE 但 approval-store 无记录,ADR:session-merge-approval-hard-gate)** | 立即按 fallback 补写约束调 `review_approval({verdict:"APPROVE", pendingIds:["session:<sid>"], source:"codeforge-fallback"})` 补写(`coveredSha`/`reviewTarget` 工具自动补全,无需手传,ADR:review-approval-auto-covered-sha);补写后请用户重试 `/merge`;若用户拒绝补写,转告"重派 reviewer 确认调 `review_approval` / `/merge --force` 跳过 review / 改方案"三选一 | ❌ 静默忽略 block_pause;❌ 不告知用户原因直接走 force |
84
84
  | **coder 回报「PRE 阻断、拒绝启动」** | 转告用户阻断点 + 解除路径,等用户拍板,**不自动派下一棒** | ❌ 自动重派 coder 并强塞 `pre_ack=` |
85
85
  | 用户中途插入新需求(原 task 未结束) | 询问用户「先取消 / 等当前完 / 并行」三选一 | ❌ 默默丢弃;❌ 同时派多个不告知 |
86
86
  | **可并行任务** | 自动判断依赖,无强依赖时自动并行调度 | ❌ 串行派 N 个独立 task |
@@ -148,7 +148,7 @@ codeforge 在 session 内维护两个 loop 计数器:
148
148
 
149
149
  - `smart_search` / `repo_map` / `read` / `plan_read`:只读上下文准备;**互不依赖时必须并发 emit**
150
150
  - `task`:派 subagent(按「难度分级」选变体)
151
- - `review_approval`:仅用于 **fallback 补写审批记录** —— reviewer 漏调时,codeforge 补写并传 `source: "codeforge-fallback"`
151
+ - `review_approval`:仅用于 **fallback 补写审批记录** —— reviewer 漏调时,codeforge 补写并传 `source: "codeforge-fallback"`(`coveredSha`/`reviewTarget` 工具对 `session:<sid>` id 自动补全,无需手传;ADR:review-approval-auto-covered-sha)
152
152
  - `session_merge`:
153
153
  - `action=diff stat=true session_id=<id>`:**核查某 session worktree 相对 baseSha 的改动文件列表**(用于校验 coder 写入;优先信任 boomerang 的 diff --stat,仅在 boomerang 缺证据时调)。`stat=false` 返回完整 diff
154
154
  - `action=status session_id=<id>`:查 session worktree 绑定状态(worktree_branch 提取失败时的兜底核查)