Check final replies before the direct run stops #44

Merged
weichen merged 1 commits from feature/agent-harness-p2 into main 2026-10-01 14:00:52 +00:00
Owner

为什么

直连终轮可以在工件缺失、版式不过或声称未经验证时停下来。现在先做确定性检查,再由一次不带工具的验证器给出 {passed, reason, nextAction}。验证器出错或无法解析时不再续跑主模型,并附 Notice。计划和待办连续 3 个工具轮没更新时提醒一次,每个 run 最多 3 次,提醒不落库。

影响

runtime.verify 默认开启(新 run 生效)。每个终轮多一次轻量模型调用,也更费钱。把这项设为 false 即回到只保留 deliverableGate 的行为。普通问答也会被「拿不准判不通过」,最多续跑 3 次,到顶后保留最后一版回复并附说明。

小队路径和 SubLLMRunner 没有改。agent-native 指针仍是 a34689c。

验证

go test ./... 通过。

## 为什么 直连终轮可以在工件缺失、版式不过或声称未经验证时停下来。现在先做确定性检查,再由一次不带工具的验证器给出 `{passed, reason, nextAction}`。验证器出错或无法解析时不再续跑主模型,并附 Notice。计划和待办连续 3 个工具轮没更新时提醒一次,每个 run 最多 3 次,提醒不落库。 ## 影响 `runtime.verify` 默认开启(新 run 生效)。每个终轮多一次轻量模型调用,也更费钱。把这项设为 false 即回到只保留 `deliverableGate` 的行为。普通问答也会被「拿不准判不通过」,最多续跑 3 次,到顶后保留最后一版回复并附说明。 小队路径和 SubLLMRunner 没有改。agent-native 指针仍是 `a34689c`。 ## 验证 `go test ./...` 通过。
weichen added 1 commit 2026-10-01 13:55:33 +00:00
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 main 2026-10-01 14:00:52 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Backend#44