30.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 1%, unconfirmed writes 100%→100%.
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.4 / 30
03Economics
20.0 / 20
04Discoverability
16.2 / 20
Highest-impact fix
Estimated gain +4 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.
1 defect 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 |
|---|---|---|
agentbodega_payment_guide |
no_return_description |
Use this when an agent needs to understand how AgentBodega x402 and L402 payment discovery work before making paid HTTP calls. It returns a guide covering the blockchain-settled per-call model, discovery URLs, balance source of truth, and optional owner-approved savings offers, plus an optional sample challenge request. When includeCurl is true, the returned guide also includes a sample curl command for requesting a live 402 payment challenge. It does not validate wallets, issue discounts, or perform payments. |
Selection evidence
Confusable tool pairs.
6 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
agentbodega_plan_task |
agentbodega_search_catalog |
medium | Both are framed as the first step for choosing an AgentBodega route/endpoint. A plain-language task like 'pick the best GitHub status endpoint for me' could plausibly map to either: plan_task for 'choose the best matching paid route' or search_catalog for 'choose a paid data endpoint.' An agent may not infer from the descriptions alone which is the right entry point. |
agentbodega_search_catalog |
agentbodega_payment_guide |
medium | A task phrased as 'how do I pay for AgentBodega endpoints' or 'tell me about billing/payments' could trigger search_catalog with a 'payment'/'billing' query to find payment-related endpoints, rather than payment_guide, which explains the x402/L402 payment model. Both surfaces mention paid calls and x402, so the right tool is unclear from the query alone. |
agentbodega_call_snippet |
agentbodega_payment_guide |
medium | Both can return sample curl commands involving x402 payments: call_snippet yields curl with an X-PAYMENT placeholder for a chosen endpoint, while payment_guide includes a sample curl for a live 402 challenge. A task like 'show me an example curl for an AgentBodega payment' is genuinely ambiguous between them. |
agentbodega_get_endpoint |
agentbodega_call_snippet |
medium | Both accept an endpoint identifier and return request-related artifacts (get_endpoint gives the full contract with example request/schemas; call_snippet gives runnable curl/JS with placeholder). A task like 'give me the example request for /api/status/github' could reasonably match either, and neither clearly signals the contract-vs-snippet distinction. |
agentbodega_plan_task |
agentbodega_get_endpoint |
low | Confusion is only mild: a task that both recommends and details an endpoint, like 'which endpoint handles GitHub status and what does it need,' might reach for either. However, get_endpoint explicitly requires a known identifier while plan_task handles plain-language choice, so the descriptions usually disambiguate. |
agentbodega_plan_task |
agentbodega_payment_guide |
low | plan_task returns x402 handoff notes and payment_guide explains x402/L402 payments, so a task like 'explain how payment works for my planned task' has slight overlap. But plan_task is about selecting a route while payment_guide is purely educational, so the purposes are distinct enough that confusion is unlikely. |
Compare the field