Conversation
Engine half of a coordinated pair with trustabl/agent-reliability-rules#88, 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 mcp/tool_definition.yaml into testdata/rules-fixture and adds cases to policyRuleCases, as TestPolicyRules_AllRulesCovered requires. Five cases rather than four. MCP-026 pairs description_length_lt with has_docstring so an absent docstring stays MCP-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. This is a well put together pair. The fixture copy of The five cases are the right shape. Reading them against the match expressions: the placeholder case trips the Two small things. The diff also removes an unrelated blank line at the end of Both rules still need a rulebook rationale doc before they ship, and we can handle or pair on that. Merge this together with trustabl/agent-reliability-rules#88, since |
What the pair adds
Ports the CSDK-017/018 description-quality pair to MCP. MCP-001 only checks that a docstring exists, so
"""TODO: describe this tool."""and"""Gets data."""pass today.A placeholder costs more across a protocol boundary than inside an in-process SDK, for three reasons the rule text makes explicit: the consumer has no fallback context (it can't read the source or neighboring tools); the server's authors never observe the mis-selection, since it surfaces in someone else's client session; and a client typically connects several servers at once, so the model picks across all of them from these strings alone.
What this PR does
mcp/tool_definition.yamlintotestdata/rules-fixture/.policyRuleCases, asTestPolicyRules_AllRulesCoveredrequires."""TODO: describe this tool.""""""Gets data."""Five cases rather than four. MCP-026 pairs
description_length_lt: 40withhas_docstring: trueso an absent docstring stays MCP-001's finding rather than double-reporting. The fifth case pins that guard.Verification