0.0 / 30
What changed in the harness
Selection accuracy 97→100, token cost up 11%, unconfirmed writes 0%→0%.
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
28.0 / 30
03Economics
20.0 / 20
04Discoverability
12.2 / 20
Highest-impact fix
Estimated gain +30 pointsAdd explicit identity and permission preflight tools
Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
Defects and rewrites.
4 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 |
|---|---|---|
listing-search |
no_return_description |
Search for campgrounds and outdoor recreation listings matching the provided criteria and return a paginated list of results, including a cursor for retrieving additional pages. When start and end dates are given, results reflect availability for the requested date range and party size (adults/children), and can be filtered by coordinates and radius, by region/city/country (geocoded to coordinates when latitude/longitude are omitted), or by feature tags such as amenities and activities. |
listing-details |
no_return_description |
Return detailed information about a specific listing identified by listingId, such as its name, location, description, amenities, and campsite options, for use in booking and availability workflows. |
listing-availability |
no_return_description |
Return availability results for the specified siteIds at a listing within the given date range, indicating which campsites are available for the requested start and end dates. |
listing-book |
no_return_description |
Return a booking URL that the user can open to reserve the specified listing for the given dates, with the party size (adults/children) included for the reservation. |
Selection evidence
Confusable tool pairs.
3 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
listing-search |
listing-availability |
medium | A task like 'find campgrounds with availability near Yosemite next weekend' matches the word 'availability' to listing-availability, but that tool requires a listingId for a specific listing, whereas listing-search is correct and even advertises startDate/endDate for availability searches. Conversely, 'is this site open those dates' could route to search's availability params. Realistic single-call misselection. |
listing-availability |
listing-book |
low | Both take a listingId plus startDate/endDate, so a task like 'can I book this site for those dates' or 'get me the booking availability' is ambiguous: one returns availability, the other a booking URL. Semantics are fairly distinct, so confusion is possible but not strong. |
listing-search |
listing-book |
low | Both descriptions are framed around 'campground or recreation' (listing-search: 'campgrounds and outdoor recreation listings'; listing-book: 'campground or recreation site'), so a task like 'book a campground for our trip to Colorado' could trigger listing-book before a specific listingId is known, when listing-search (with dates) is the correct first call. |
Compare the field