01Safety
0.0 / 30
What changed in the harness
Selection accuracy 98→96, token cost down 1%, 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.2 / 30
16.3 / 20
17.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
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 |
|---|---|---|
forage_evaluate |
no_return_description |
Get detailed information about a specific npm package — version, downloads, README summary, and install command. Use this before installing to verify quality. Returns a summary object with package metadata (version, weekly downloads, README excerpt, and the resolved install command). |
forage_install |
no_return_description |
Install an MCP server and start it as a proxied subprocess. The server's tools become available immediately via Forage — no restart needed. IMPORTANT: Set confirm=true to proceed with installation (user will be prompted to approve the tool call). Returns the installation result, including the running server's status and the list of tools it now exposes through Forage. |
forage_learn |
no_return_description |
Write usage instructions for an installed tool to agent rule files (CLAUDE.md, AGENTS.md, .cursor/rules/) so the agent remembers how to use the tool in future sessions. Returns confirmation of the file path written and a summary of the rules recorded. |
forage_uninstall |
no_return_description |
Remove a previously installed tool: stops its server process, removes it from the manifest, and cleans up related agent rules. Set confirm=true to proceed. Returns confirmation that the tool was removed and its server stopped. |
Selection evidence
2 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
forage_install |
forage_uninstall |
medium | Both take a tool/package identifier and a confirm flag with opposite lifecycle effects; a vague instruction like 'remove and reinstall X' or ambiguous phrasing could lead the agent to pick the wrong lifecycle action. |
forage_learn |
forage_status |
low | forage_status lists installed tools while forage_learn writes usage docs for one; a request like 'show me what's known about tool X' could plausibly be routed to either, though their outputs differ clearly enough to keep confusion low. |
Compare the field