Tighten A01 final reserve and add final eval label #236

Merged
weichen merged 2 commits from feature/fast-slow-o2-a01-final-budget into main 2026-10-21 06:18:35 +00:00
Owner

Why:
P4 paid rerun (NOT_PASS) showed three remaining A01 blockers after C8 was fixed: the final answer was cut at the 4000 output cap twice, the 30000 budget could not fit two checkpoints plus a final answer, and the material reserve guard under-estimated the next prompt (it ignored the previous completion that becomes prompt input), overrunning the guard by 5914 tokens.

What:

  • Reserve estimate: the next prompt is estimated as LastPromptTokens + LastCompletionTokens (subRun.materialDecision).
  • Final-answer brevity: the final-only reminder and material task text ask for a concise answer of about 1500 characters written in one go.
  • New evaluation label approved-o2-a01-final: budget 45000, output cap 6000, mapped to candidate-o2-a01-final; the model-mode eval provider wrapper now receives the label's cap (previously hard-clamped to 4000). Existing labels unchanged.

Evidence:

  • Implementation via agent-exec (PI): u1 attempt 3e52e52b4541 -> 9a6f0f8; u2 attempt ba449849829e -> aec92b7.
  • SELF: host go vet + go test ./internal/runtime ./internal/runmgr ./internal/server and eval/live A01 test pass at aec92b7; gofmt clean on changed files.
  • Independent review (fresh code-reviewer session): blocking 4000-clamp finding closed; no blocking regressions.
  • Authoritative: CI on this PR HEAD.

Impact:
Runtime material subagent reserve becomes more conservative (stops/final-only earlier). Prompt wording shorter final answers. The 45000/6000 settings exist only under the new eval label; no route contract or instance config change.

Refs:
Dev task feature/fast-slow-o2-a01-final-budget; Backend #233, #235; Dev #667, #669, #670.

Why: P4 paid rerun (NOT_PASS) showed three remaining A01 blockers after C8 was fixed: the final answer was cut at the 4000 output cap twice, the 30000 budget could not fit two checkpoints plus a final answer, and the material reserve guard under-estimated the next prompt (it ignored the previous completion that becomes prompt input), overrunning the guard by 5914 tokens. What: - Reserve estimate: the next prompt is estimated as LastPromptTokens + LastCompletionTokens (`subRun.materialDecision`). - Final-answer brevity: the final-only reminder and material task text ask for a concise answer of about 1500 characters written in one go. - New evaluation label `approved-o2-a01-final`: budget 45000, output cap 6000, mapped to `candidate-o2-a01-final`; the model-mode eval provider wrapper now receives the label's cap (previously hard-clamped to 4000). Existing labels unchanged. Evidence: - Implementation via agent-exec (PI): u1 attempt 3e52e52b4541 -> 9a6f0f8; u2 attempt ba449849829e -> aec92b7. - SELF: host `go vet` + `go test ./internal/runtime ./internal/runmgr ./internal/server` and eval/live A01 test pass at aec92b7; gofmt clean on changed files. - Independent review (fresh code-reviewer session): blocking 4000-clamp finding closed; no blocking regressions. - Authoritative: CI on this PR HEAD. Impact: Runtime material subagent reserve becomes more conservative (stops/final-only earlier). Prompt wording shorter final answers. The 45000/6000 settings exist only under the new eval label; no route contract or instance config change. Refs: Dev task feature/fast-slow-o2-a01-final-budget; Backend #233, #235; Dev #667, #669, #670.
weichen added 2 commits 2026-10-21 06:16:52 +00:00
agent-exec transport bf732506478b02c63a7b4fe251f0ef0f/ba449849829e
governance / governance (pull_request) Successful in 16s
ci / vet-and-test (pull_request) Successful in 1m18s
aec92b7684
weichen merged commit 241e1b3c76 into main 2026-10-21 06:18:35 +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#236