What happened
The Model Pool judge scores tasks when they land (poolJudgeHook in cmd/codeaf/poolrecord.go, wired as taskLanded in cmd/codeaf/chatv3.go). A task started with the chat's ordinary /task never reaches that hook, so its landing is never judged. This was found on 2026-09-25 while fixing the judge's keyless-boot bug in #1519: a hand check of that fix could not reach the judge from /task at all.
Replication
Deterministic: a cmd/codeaf test that lands a /task through the chat's own task road, with a stub worker and the pool in record mode, then checks the pool's judged/ directory, or pool/judge-last.json. Nothing is written today. Compare with the road that does call taskLanded.
By hand (real model, about $0.01):
- Run
/task on a trivial change with CODEAF_MODEL_POOL recording.
- After it lands,
codeaf pool show lists no new judged landing.
The fix
Every road that lands a task, /task included, reports its landing to the judge hook once.
Acceptance
- e2e: after a
/task lands, codeaf pool show lists its judged entry.
- Unit: every landing road goes through the one hook. A structural test over the landing sites would do.
What happened
The Model Pool judge scores tasks when they land (
poolJudgeHookincmd/codeaf/poolrecord.go, wired astaskLandedincmd/codeaf/chatv3.go). A task started with the chat's ordinary/tasknever reaches that hook, so its landing is never judged. This was found on 2026-09-25 while fixing the judge's keyless-boot bug in #1519: a hand check of that fix could not reach the judge from/taskat all.Replication
Deterministic: a
cmd/codeaftest that lands a/taskthrough the chat's own task road, with a stub worker and the pool in record mode, then checks the pool'sjudged/directory, orpool/judge-last.json. Nothing is written today. Compare with the road that does calltaskLanded.By hand (real model, about $0.01):
/taskon a trivial change withCODEAF_MODEL_POOLrecording.codeaf pool showlists no new judged landing.The fix
Every road that lands a task,
/taskincluded, reports its landing to the judge hook once.Acceptance
/tasklands,codeaf pool showlists its judged entry.