Skip to content

fix(evaluation): populate developer_instructions when invocation_even…#5595

Open
cthurston-clgx wants to merge 1 commit intogoogle:mainfrom
cthurston-clgx:fix/empty-developer-instructions-zero-tool-calls
Open

fix(evaluation): populate developer_instructions when invocation_even…#5595
cthurston-clgx wants to merge 1 commit intogoogle:mainfrom
cthurston-clgx:fix/empty-developer-instructions-zero-tool-calls

Conversation

@cthurston-clgx
Copy link
Copy Markdown

The rubric_based_final_response_quality_v1 evaluator fails to pass developer_instructions to the judge when the agent makes zero tool calls (empty invocation_events list). This occurs because the agent name is resolved exclusively from invocation_events[0].author, with no fallback for the zero-event case.

This is critical for evaluating out-of-scope rejection behavior where an agent correctly declines a request without calling any tools. The judge receives an empty <developer_instructions> block and cannot validate rubrics that reference the system prompt.

Fix: When invocation_events is empty, fall back to the first agent name in app_details.agent_details to resolve developer_instructions. This mirrors how hallucinations_v1.py handles the same scenario.

Fixes #5593

@google-cla
Copy link
Copy Markdown

google-cla Bot commented May 5, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@adk-bot adk-bot added the eval [Component] This issue is related to evaluation label May 5, 2026
@adk-bot
Copy link
Copy Markdown
Collaborator

adk-bot commented May 5, 2026

Response from ADK Triaging Agent

Hello @cthurston-clgx, thank you for your contribution!

Before we can merge this pull request, you'll need to sign the Contributor License Agreement (CLA). It seems that the CLA check has failed. Please visit https://cla.developers.google.com/ to sign the agreement.

This is a necessary step for us to be able to accept your contribution. Thanks!

…ts is empty (google#5593)

The rubric_based_final_response_quality_v1 evaluator fails to pass
developer_instructions to the judge when the agent makes zero tool
calls (empty invocation_events list). This occurs because the agent
name is resolved exclusively from invocation_events[0].author, with
no fallback for the zero-event case.

This is critical for evaluating out-of-scope rejection behavior where
an agent correctly declines a request without calling any tools. The
judge receives an empty <developer_instructions> block and cannot
validate rubrics that reference the system prompt.

Fix: When invocation_events is empty, fall back to the first agent
name in app_details.agent_details to resolve developer_instructions.
This mirrors how hallucinations_v1.py handles the same scenario.

Fixes google#5593
@cthurston-clgx cthurston-clgx force-pushed the fix/empty-developer-instructions-zero-tool-calls branch from 67ab346 to ecdc7fd Compare May 5, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

eval [Component] This issue is related to evaluation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: rubric_based_final_response_quality_v1 passes empty developer_instructions to judge when agent makes zero tool calls

2 participants