Why: A direct run could stop on a missing file, a failed lint, or an unverified claim. The final turn now checks registered artifacts and asks a tool-less verifier, and nudges stale plans and todos.
Evidence: go test ./... passed. New runtime tests cover missing and empty artifacts, docx lint errors, verifier reject-then-pass, unparseable and failed verifier calls, nil verifier tools, todo reminders, and the false-deliverable fixture.
Impact: Direct runs with runtime.verify (default on for new runs) spend one extra lightweight call on every final turn. Setting it off keeps the previous stop behavior. Squad and SubLLMRunner are unchanged. The agent-native pin stays a34689c.
Refs: feature/agent-harness-p2
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen
merged commit d407e4df22 into main2026-10-01 14:00:52 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
为什么
直连终轮可以在工件缺失、版式不过或声称未经验证时停下来。现在先做确定性检查,再由一次不带工具的验证器给出
{passed, reason, nextAction}。验证器出错或无法解析时不再续跑主模型,并附 Notice。计划和待办连续 3 个工具轮没更新时提醒一次,每个 run 最多 3 次,提醒不落库。影响
runtime.verify默认开启(新 run 生效)。每个终轮多一次轻量模型调用,也更费钱。把这项设为 false 即回到只保留deliverableGate的行为。普通问答也会被「拿不准判不通过」,最多续跑 3 次,到顶后保留最后一版回复并附说明。小队路径和 SubLLMRunner 没有改。agent-native 指针仍是
a34689c。验证
go test ./...通过。