01Safety
0.0 / 30
What changed in the harness
Selection accuracy 98→100, token cost up 3%, unconfirmed writes 0%→0%.
Category breakdown
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
0.0 / 30
28.7 / 30
18.9 / 20
11.0 / 20
Highest-impact fix
Estimated gain +30 pointsExpose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
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 |
|---|---|---|
list_projects |
no_return_description |
List fundraising projects on AgentFund. Returns a list of projects, each with its title, goal amount (in base units of its token), status (Active, Funded, Failed, or Complete), funding token (SOL or USDC), category, and an optional repoUrl that should be followed to inspect the project's code. Use this to discover active campaigns to contribute to or to check the status of recent ones; for the full evaluate flow, see get_project. Read-only — no wallet or signing required. Backed by GET /projects on the AgentFund REST API. |
Selection evidence
3 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
list_projects |
get_project |
medium | Both read-only project tools; a task like 'check the status of a project' or 'find info on projects' is ambiguous between summoning the list view (list_projects) and fetching full detail for a specific project (get_project), especially since list_projects mentions checking status of recent projects. |
get_project |
get_platform_stats |
medium | Both surface 'raised' amounts, so a task like 'how much has been raised?' is ambiguous between per-project detail (get_project) and platform-wide totals (get_platform_stats); the overlapping tokens (raised, project, count) make a wrong pick plausible without a clarifying qualifier. |
get_project |
get_agent_profile |
low | A task like 'look up details on this project/contributor' could target either tool, but the inputs differ (projectId vs walletAddress) and descriptions explicitly route creator-vetting to get_agent_profile, so genuine confusion is only weakly plausible. |
Compare the field