01Safety
0.0 / 30
What changed in the harness
Selection accuracy 92→85, token cost up 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
27.3 / 30
20.0 / 20
10.8 / 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
2 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 |
|---|---|---|
toolfunnel_tool_instructions |
no_return_description |
Get the full usage instructions / documentation for one tool by name (venv, the reliable invoke command, safety notes). Returns the complete instruction text for the named tool; read it before running the tool yourself. |
toolfunnel_howto |
no_return_description |
Get self-extension instructions: how to author a new tool, register an upstream MCP, add a hook, build a shareable package, wrap one MCP server as the entire surface (transparent passthrough), or configure the gateway with JSON files only. Returns the guide text for the requested topic. The system documents how to extend itself. |
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 |
|---|---|---|---|
toolfunnel_list_tools |
toolfunnel_tool_instructions |
medium | A request like 'show me the full instructions for the available tools' is ambiguous: list_tools returns brief summaries while tool_instructions returns full docs, so an agent could pick the wrong one when asked to detail or enumerate tools. |
toolfunnel_tool_instructions |
toolfunnel_run_tool |
medium | A task like 'invoke the foo tool' or 'do what the foo instructions say' is ambiguous about whether to read the docs (tool_instructions) or actually execute (run_tool); the shared 'tool by name' input shape increases the chance of picking the reading tool instead of executing. |
toolfunnel_tool_instructions |
toolfunnel_howto |
medium | Both return guidance/docs, so a task like 'how do I get instructions for the gateway' could pull the howto guide (configure) instead of per-tool usage instructions, or vice versa when a user asks 'how do I use a tool' generically. |
Compare the field