T-1020: disclose measured limits in MCP guard tool description - #226
Merged
Conversation
CommitLore — record lintTrailers: clean — 1 commit in Active constraints for the paths this PR touchesLimits (44)
Ruled out (92)
Warnings (43)
Trailer violations fail this check. Active constraints are informational — they are what the repository already decided, not a verdict on this PR. |
The guard tool description told callers that an empty matched array is a
verdict, not an absence. At 22% recall an empty result is a miss roughly
four times in five — the sentence was false in the common case. The
description now states the experimental-advisory classification and the
measured precision (44.8%) and recall (22.0%) from the 417-decision corpus,
and replaces the overclaiming sentence with an honest disclosure that an
empty result does not guarantee safety.
The first two sentences are preserved. The annotations (readOnlyHint: true)
are unchanged.
Ruled-out: removing the description entirely | the first two sentences carry useful contract information a caller needs
Ruled-out: stating only precision without recall | a caller needs both to judge the signal; recall is the more dangerous gap
Limit: the test asserts on the exact precision and recall figures; a future re-measurement changes both the description and the test
Blast: local
Undo: easy
Certainty: firm
Record-Id: r-t1020desc
Limit: the first attempt's Record-Id used hyphens, which the r-[a-z0-9]{6,} format rejects; both the lint action and the dogfood test caught it
MongLong0214
force-pushed
the
feat-issue-208
branch
from
July 30, 2026 09:01
bb03a0b to
dd12b42
Compare
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.
Closes #208
Summary
The guard tool description told callers that an empty
matchedarray is a verdict, not an absence. At 22% recall an empty result is a miss roughly four times in five — the sentence was false in the common case.The description now:
readOnlyHint: trueannotationWhat was tested
npx vitest run test/mcp.test.ts— 44 passednpx vitest run— 45 files, 1501 passed, 1 skippednpx tsc --noEmitexit 0,npx tsc --noEmit -p bench/tsconfig.jsonexit 0dist/rebuilt and committedDepends on