Conversation
Engine half of a coordinated pair with trustabl/agent-reliability-rules#93, 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 langchain/tool_definition.yaml into testdata/rules-fixture and adds cases to policyRuleCases, as TestPolicyRules_AllRulesCovered requires. Five cases rather than four. LC-022 pairs description_length_lt with has_docstring so an absent description stays LC-010's finding instead of double-reporting, and the fifth case pins that guard. Note for sequencing: rules#66 (LC-018/019, the Python pair) appends to the same file, so whichever of the two pairs lands second needs a trivial rebase in both repos — the rule blocks and the test cases are independent and the resolution is "keep both".
|
Thanks @bradAGI. This is the half that makes trustabl/agent-reliability-rules#93 safe to land, and the mirror is exact: the fixture copy and the production file end on the same blob hash, so The five cases are real rather than vacuous. Walking each one against Your note is right that trustabl/agent-reliability-rules#66 and #145 append to the same two files, so whichever pair lands second needs the trivial rebase, and keep-both is the resolution. The only thing still outstanding is a rulebook rationale doc for the two new rules, which is on us rather than on you. Both halves look good to me. |
What the pair adds
The TypeScript counterpart to LC-018/019. LC-010 only checks that a description exists, so
"TODO: describe this tool."and"Gets data."pass today. Three points, in the order they bite:descriptionfield is the entire account of the tool the model sees.maxIterationsbound LC-111 checks for.What this PR does
langchain/tool_definition.yamlintotestdata/rules-fixture/.policyRuleCases, asTestPolicyRules_AllRulesCoveredrequires."TODO: describe this tool.""Gets data."descriptionfield at allFive cases rather than four. LC-022 pairs
description_length_lt: 40withhas_docstring: trueso an absent description stays LC-010's finding rather than double-reporting. The fifth case pins that guard.Sequencing note: rules#66 / this repo's #145 (the LC-018/019 Python pair) append to the same two files, so whichever pair lands second needs a trivial rebase in both repos — resolution is "keep both." Happy to rebase on request.
Verification