SIGN IN SIGN UP

fix(klaud): recover overlap reviews and correct agent naming (#2832)

The first manual auto-sweep failed after its overlap review used 103 turns against a 20-turn limit. This change runs that review on Opus 5 with fast mode disabled with a 200-turn budget, gives it access to its evidence directory, and prefetches paginated PR file lists. Candidate execution remains Fable 5.1 with fast mode disabled.

- Failed reviews and invalid structured output now warn and defer all candidates, preserving duplicate checks. Selection summaries and sanitized numeric/tool-denial diagnostics survive review failure; raw execution transcripts are not uploaded.
- Correct the display name to **Klaud Cold** and require generated draft PR titles to start with **`[Klaud Cold] `**. Keep existing workflow/CLI/secret/branch identifiers compatible.
- Use the repository's `./` reusable-workflow convention, paginate matching branches, and reject non-finite JSON numbers including overflowing exponents before hashing.
- Pass an explicit, default-false `klaud-run` flag through every e2e benchmark/eval route. Ordinary test names no longer alter priority.

Validation: controlled local checks cover review deferral, deduplication, paginated branch/file reads, renames, incomplete file lists, JSON overflow, diagnostic redaction and input forwarding. Both Klaud workflows pass actionlint 1.7.12 directly. Zizmor 1.30.0 reports one low-severity `self-repository` preference for `$/`; shared-workflow actionlint/zizmor findings are unchanged from the base. `git diff --check` passes. No new test files are committed.

Live verification is pending: the initial run stopped before candidate execution, and these fixes have not been dispatched. Scheduler deployment is required before GPU testing. The six-hour cron remains commented out. `perf-changelog.yaml` is byte-for-byte unchanged under the existing task instruction; checks and review remain in force.

## 中文说明

首次手动 auto-sweep 的 PR 重叠检查使用了 103 轮,超过 20 轮上限,导致运行失败。本次将检查改为 Opus 5,关闭 fast mode,上限提高至 200 轮,明确授予证据目录访问权限,并提前分页获取 PR 变更文件列表。候选执行仍使用 Fable 5.1,关闭 fast mode。

- 检查失败或结构化输出无效时,发出警告并延后全部候选,不绕过重复检查。保留选择摘要和经过过滤的数值指标、工具权限拒绝次数,不上传原始执行记录。
- 将显示名称改为 **Klaud Cold**,要求生成的草稿 PR 标题以 **`[Klaud Cold] `** 开头。现有工作流、CLI、secret 和分支标识保持兼容。
- 复用调用采用仓库现有的 `./` 形式;分页读取匹配分支;在哈希计算前拒绝非有限 JSON 数值,包括指数溢出。
- 所有 e2e benchmark/eval 路径显式传递默认值为 false 的 `klaud-run` 标志,普通测试名称不再改变优先级。

验证:本地受控检查覆盖失败延后、去重、分支与文件分页、重命名、不完整文件列表、JSON 溢出、诊断信息过滤和输入传递。两个 Klaud 工作流直接通过 actionlint 1.7.12。Zizmor 1.30.0 仅新增一项低严重性的 `self-repository` 建议,倾向使用 `$/`;共享工作流的 actionlint/zizmor 发现与基准一致。`git diff --check` 通过,未提交新增测试文件。

仍需线上验证:首次运行未进入候选执行阶段,本次修改尚未调度。GPU 测试前需要部署调度器支持。六小时 cron 继续保持注释。依照已有任务要求,`perf-changelog.yaml` 逐字节不变,现有检查和审核仍然有效。
A
Alec Ibarra committed
54a35ed28bec9a004cbc2bdc92da1968cdfe1680
Parent: 650ee9e
Committed by GitHub <noreply@github.com> on 9/5/2026, 12:23:45 AM