Task 10 (Stage 0) shipped EmitResult with both tool_calls (snake, from the Zod schema) and toolCalls (camel, from a now-fixed plan typo). The duplication was a pragmatic fix at the time but is a smell. Pick one (recommend snake tool_calls — matches the persisted schema), update all callers and tests, drop the duplicate field.
Task 10 (Stage 0) shipped
EmitResultwith bothtool_calls(snake, from the Zod schema) andtoolCalls(camel, from a now-fixed plan typo). The duplication was a pragmatic fix at the time but is a smell. Pick one (recommend snaketool_calls— matches the persisted schema), update all callers and tests, drop the duplicate field.