30.0 / 30
What changed in the harness
Selection accuracy 93→85, token cost down 0%, 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
27.7 / 30
03Economics
15.9 / 20
04Discoverability
10.9 / 20
Highest-impact fix
Estimated gain +9 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. Returns a text guide explaining the blockchain-settled per-call payment model, discovery URLs, the balance source of truth, optional owner-approved savings offers, and, when includeCurl is true, 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.
4 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 entry points for finding a paid route from a task description; a vague natural-language request like 'find me an endpoint for X' could plausibly trigger either the planner or the catalog search, since plan_task explicitly says to use it 'before search_catalog' but an agent unaware of that ordering may pick search_catalog directly for a task phrased as a query rather than plain language. |
agentbodega_get_endpoint |
agentbodega_call_snippet |
medium | Both operate on a known endpoint identifier and are steps in the same pre-payment workflow; a request like 'show me how to call this endpoint' could be interpreted as wanting the full contract (get_endpoint) or the ready-to-run HTTP snippet (call_snippet), especially since call_snippet is meant to follow get_endpoint but doesn't strictly require it first. |
agentbodega_call_snippet |
agentbodega_payment_guide |
low | Both relate to constructing a paid HTTP request with X-PAYMENT/x402 details, so a question like 'how do I pay for this endpoint call' could be routed to either the endpoint-specific snippet generator or the general payment discovery guide, though their scopes (endpoint-specific vs conceptual) are fairly distinct. |
agentbodega_get_endpoint |
agentbodega_payment_guide |
low | A task like 'what do I need before paying for this endpoint' overlaps get_endpoint's contract details and payment_guide's pre-payment discovery explanation, though get_endpoint is endpoint-specific while payment_guide is endpoint-agnostic, limiting real confusion. |
Compare the field