01Safety
30.0 / 30
What changed in the harness
Selection accuracy 98→100, token cost up 4%, unconfirmed writes 100%→100%.
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.
30.0 / 30
25.8 / 30
20.0 / 20
19.6 / 20
Highest-impact fix
Estimated gain +1 pointState each tool's behavior, explain every parameter, and declare return semantics, prioritizing tools exercised by failed selection tasks.
Description evidence
6 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 |
|---|---|---|
marketLight |
no_return_description |
Returns any-token CoinGecko-backed market data via /data/light for the requested symbol, including price, momentum, rank, liquidity, exchange context, and risk flags. Defaults to brief=off for low latency; set brief=full for a Kimi brief. Supports listed CoinGecko symbols beyond the fixed Pillar token list, e.g. WCT. |
marketAnalyze |
no_return_description |
Analyzes a token's market state and returns the macro regime, directional signal, and confidence for that token. |
marketOrderflow |
no_return_description |
Returns cross-exchange orderflow data for a token, including CVD, whale activity, liquidations, and a per-exchange breakdown. |
marketFull |
name_restates_behavior no_return_description |
Returns a comprehensive bundle of market data for a token, combining the market snapshot, orderflow data, and an LLM-generated verdict on the token's outlook. |
addressRisk |
name_restates_behavior no_return_description |
Evaluates the provided Ethereum or Solana wallet address and returns a risk score indicating the assessed level of wallet risk. |
apiInfo |
no_return_description |
Returns x402 API pricing, a quick start guide, and migration details for the pay-per-call REST endpoint. |
Selection evidence
6 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
marketAnalyze |
marketFull |
medium | A task like 'give me a full analysis / verdict on BTC' matches both: marketAnalyze offers directional signal plus confidence, while marketFull bundles orderflow and an LLM-generated verdict, so an agent could select either. |
marketLight |
marketAnalyze |
medium | Requests phrased as 'quick/light analysis of a token' are ambiguous: marketLight returns momentum, rank, risk flags (and optionally a Kimi brief) while marketAnalyze returns macro regime and signal; both read as generic market analysis. |
marketLight |
marketFull |
medium | 'Get full market coverage' is ambiguous since marketLight emphasizes any-token CoinGecko coverage (incl. non-Pillar symbols like WCT) while marketFull is the complete bundle; the coverage-vs-bundle wording can misdirect. |
marketLight |
marketSnapshot |
medium | Both are fast current-state data fetchers returning price/state; a task like 'grab a quick snapshot / light market state for BTC' does not cleanly distinguish CoinGecko coverage from the 16-field MCP snapshot. |
marketOrderflow |
marketFull |
medium | 'Full orderflow' tasks are genuinely ambiguous because marketFull explicitly bundles orderflow (plus snapshot and verdict), so a request for complete orderflow info can land on either tool. |
marketSnapshot |
marketFull |
high | The literal phrase 'full snapshot' maps directly to both: marketSnapshot is the snapshot tool (though a 16-field subset) while marketFull's description is 'snapshot, orderflow, LLM verdict'; an agent asked for the full market snapshot is very likely to pick the wrong one. |
Compare the field