Conversation
Engine half of a coordinated pair with trustabl/agent-reliability-rules#89, on a branch of the same name so the rules-sync job resolves the matching pack rather than main. Neither half should merge alone — check-rules-sync.sh fails if they do. Mirrors google_adk/tool_definition.yaml into testdata/rules-fixture and adds cases to policyRuleCases, as TestPolicyRules_AllRulesCovered requires. Five cases rather than four. ADK-116 pairs description_length_lt with has_docstring so an absent docstring stays ADK-001's finding instead of double-reporting — an empty description is length 0, which is also under the threshold — and the fifth case is what pins that guard.
|
Thanks @bradAGI. The fixture copy is byte-identical to the production YAML in trustabl/agent-reliability-rules#89 (the pre-image and post-image blob hashes match across the two diffs), which is what The cases hold up when I walk them against the match expressions. One nit, take it or leave it. The removed blank line at the end of Nothing blocking here. I will merge this alongside the rules half. |
What the pair adds
Ports the CSDK-017/018 description-quality pair to the Google ADK. ADK-001 only checks that a docstring exists, so
"""TODO: describe this tool."""and"""Gets data."""pass today. Two ADK-specific points:ADK-116 also names the mitigation that isn't one: ADK-102/107's
before_tool_callbackcan block a call it recognizes as wrong, but can't supply the judgment the description was meant to provide.What this PR does
google_adk/tool_definition.yamlintotestdata/rules-fixture/.policyRuleCases, asTestPolicyRules_AllRulesCoveredrequires."""TODO: describe this tool.""""""Gets data."""Five cases rather than four. ADK-116 pairs
description_length_lt: 40withhas_docstring: trueso an absent docstring stays ADK-001's finding rather than double-reporting. The fifth case pins that guard.Verification