30.0 / 30
What changed in the harness
Selection accuracy 100%, destructive-action safety rate 100% (baseline only -- no rewrite pass applied).
Category breakdown
Where the score comes from.
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
01Safety
02Legibility
29.7 / 30
03Economics
20.0 / 20
04Discoverability
12.8 / 20
Highest-impact fix
Estimated gain +7 pointsMake target tools discoverable on the first call
Clarify tool names, decision boundaries, and required argument schemas so an agent can choose and construct the target call without exploratory steps.
Description evidence
Defects and rewrites.
0 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
| No description defects were flagged in this assessment. | ||
Selection evidence
Confusable tool pairs.
1 pair where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
fetch_html |
fetch_parsed |
medium | Both fetch pages through the same unblocker and share heavy lexical overlap (fetch, page, scrape, unblocker, web). A natural task like 'scrape this product page and extract the details/price' could lead an agent to pick fetch_html thinking it must fetch raw HTML and parse it itself, when fetch_parsed returns the structured fields directly; likewise a vague 'get me this page' could land on either. The return-format divergence (raw HTML vs AI-parsed JSON) is the only clear disambiguator, and it is not obvious from the surface-level task wording. |
Compare the field