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.
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.
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.
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:
subRun.materialDecision).approved-o2-a01-final: budget 45000, output cap 6000, mapped tocandidate-o2-a01-final; the model-mode eval provider wrapper now receives the label's cap (previously hard-clamped to 4000). Existing labels unchanged.Evidence:
aec92b7.go vet+go test ./internal/runtime ./internal/runmgr ./internal/serverand eval/live A01 test pass at aec92b7; gofmt clean on changed files.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.