Repository navigation
Give the legacy eval judge the declared tasks the server sends - #1301
Conversation
A server that sends no block leaves both prompts byte-identical. The evidence route keeps its fixed line: there the plan reaches the judge as evidence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Summary by QodoPass server-declared tasks to legacy eval judges
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo
1.
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AI-3459 — no GitHub issue exists for this change.
What & why
The legacy daemon judge left
{TASKS}unfilled on the text path and had no task section on the tools path, so a single-scope judge scored plan completion against the session's prose alone. The eval context now carries the server judge's declared-task block (kurrent-io/kcap-server#2231); the text prompt fills{TASKS}with it in one pass, and the tools prompt gains a declared-tasks section before the question.Where to look
With no block (an older server) both prompts are byte-identical to what they render without it, which the existing legacy byte pins check. The evidence route still sends its fixed line: there the plan reaches the judge as evidence.
Verification
New unit tests pin the one-pass fill (a task title holding
{TRACE_JSON}stays literal), the tools section placement, and parsing the field from a newer and an older server; the legacy byte-identity and prompt tests still hold; AOT publish shows no IL warnings.Part of AI-3459.
🤖 Generated with Claude Code