Repository navigation
feat(tool_call_claims): EBTE tool-call claims for OpenAI, MCP, LangChain (schema 32) - #200
Merged
Merged
Conversation
Nine tool-scope rules over the new tool_claim_use predicate, a ladder per SDK (OpenAI Agents, MCP, LangChain; Python): OAI-034/MCP-033/LC-028 flag a side-effecting tool with no claim argument, OAI-035/MCP-034/LC-029 a claim nothing reads, OAI-036/MCP-035/LC-030 a claim only written out or returned. manifest schema_version 26 -> 27.
OAI-034 / MCP-033 / LC-028 move from low to info, so a repo that has not adopted claims gets the finding and its fix without failing --strict. The unused and passthrough rungs stay medium.
trustabl
approved these changes
Oct 22, 2026
ericksondelacruz
requested review from
ivanpaghubasan,
jhumel-code and
sairenchristianbuerano
October 22, 2026 10:12
Main took schema_version 27 for OBS-009..012 (#184), and the 26 -> 27 bump here merged cleanly on top of it, so move this batch to 28 to match the engine (agent-reliability-analyzer #276).
trustabl
approved these changes
Oct 25, 2026
Main took schema_version 28..31 (CI-001..005, CSDK-115, MCPCFG-003, AGCFG-011) after this branch moved to 28, so move this batch to 32 to match the engine (agent-reliability-analyzer #276).
2 of 3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Nine new rules check that side-effecting tools carry an EBTE (Explanation-Bound Tool Execution) claim and that something checks it. There are three per SDK: OpenAI Agents, MCP and LangChain (Python). Each lives in a new
tool_call_claims.yamlpack.manifest.yamlmoves toschema_version: 32.claimparameterclaimbut never reads itA tool whose claim is checked, or that sits behind a possible mediator (an OpenAI tool input guardrail or an extra decorator), does not fire.
Notes for review
--strictrun on a repo with side-effecting tools. At info the finding and its fix still show in every report, without failing--strict, and weigh 0.05 in the score. The two rules that only fire on code that has adopted claims stay medium.Test plan
trustabl rules validate(analyzer atfeat/analyzer-ebte-claims):OK: 138 rule pack(s), 364 rule(s) valid under rule schema version 32(re-run 2026-10-28 after mergingmain)testdata/rules-fixturebyte for byte