Announce final-only in the material checkpoint tool result #233

Merged
weichen merged 1 commits from feature/fast-slow-o2-final-only-notice into main 2026-10-21 03:17:08 +00:00
Owner

Announce final-only in the material checkpoint tool result

Why: O2 A01 paid rerun (P2) failed on route-contract C8. The third request was final-only (2 saved checkpoints and budget reserve), so the host removed publish_work_checkpoint from the declarations; the model ignored the system reminder, called it anyway, and the strict contract treated the undeclared tool as terminal. Root cause and options: Dev docs/superpowers/specs/2026-10-21-fast-slow-o2-c8-review.md (F1).

Change:

  • The final-only/stop decision is computed by one helper (subRun.materialDecision), shared by the per-request wrapper and the checkpoint tool result; inputs and formula are unchanged.
  • When the next request will be final-only or stop, the current publish_work_checkpoint tool result (success or error) gets the notice「后续不再接受检查点:下一步直接用现有材料写出最终结论与未决项,不要再调用 publish_work_checkpoint。」; IsError is unchanged.
  • The material task text says checkpoints are usually at most 2 (reading, then crosscheck) and to stop calling the tool after the notice.

Evidence (SELF, host): gofmt clean; go vet ./internal/runtime/ ./internal/runmgr/; go test ./internal/runtime/ ./internal/runmgr/ ./internal/server/ -count=1 ok; go test -tags live -run '^TestFollowupA01KeepsItsOwnOneShotResult$' ./eval/live/ ok; git diff --check clean. Implementation: agent-exec unit o2f1-i1-backend-final-only-notice (Cursor, attempt 1, success). Independent review (fresh session): no blocking issues.

Impact: material subagent with a token budget only; no route-contract, schema or tool-description change; no paid calls. Whether the model obeys the notice needs a separately authorized paid rerun.

Refs: Dev feature/fast-slow-o2-final-only-notice

Announce final-only in the material checkpoint tool result Why: O2 A01 paid rerun (P2) failed on route-contract C8. The third request was final-only (2 saved checkpoints and budget reserve), so the host removed publish_work_checkpoint from the declarations; the model ignored the system reminder, called it anyway, and the strict contract treated the undeclared tool as terminal. Root cause and options: Dev docs/superpowers/specs/2026-10-21-fast-slow-o2-c8-review.md (F1). Change: - The final-only/stop decision is computed by one helper (`subRun.materialDecision`), shared by the per-request wrapper and the checkpoint tool result; inputs and formula are unchanged. - When the next request will be final-only or stop, the current publish_work_checkpoint tool result (success or error) gets the notice「后续不再接受检查点:下一步直接用现有材料写出最终结论与未决项,不要再调用 publish_work_checkpoint。」; IsError is unchanged. - The material task text says checkpoints are usually at most 2 (reading, then crosscheck) and to stop calling the tool after the notice. Evidence (SELF, host): gofmt clean; go vet ./internal/runtime/ ./internal/runmgr/; go test ./internal/runtime/ ./internal/runmgr/ ./internal/server/ -count=1 ok; go test -tags live -run '^TestFollowupA01KeepsItsOwnOneShotResult$' ./eval/live/ ok; git diff --check clean. Implementation: agent-exec unit o2f1-i1-backend-final-only-notice (Cursor, attempt 1, success). Independent review (fresh session): no blocking issues. Impact: material subagent with a token budget only; no route-contract, schema or tool-description change; no paid calls. Whether the model obeys the notice needs a separately authorized paid rerun. Refs: Dev feature/fast-slow-o2-final-only-notice
weichen added 1 commit 2026-10-21 03:15:24 +00:00
agent-exec transport 3908146c8a3ed2d0c3967ffe7fdf69cf/9e8e3bf5a934
governance / governance (pull_request) Successful in 19s
ci / vet-and-test (pull_request) Successful in 1m12s
7867449920
weichen merged commit e02e25a0ce into main 2026-10-21 03:17:08 +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#233