0.0 / 30
What changed in the harness
Selection accuracy 98→94, token cost down 0%, unconfirmed writes 0%→0%.
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
22.8 / 30
03Economics
16.8 / 20
04Discoverability
10.8 / 20
Highest-impact fix
Estimated gain +30 pointsAdd explicit identity and permission preflight tools
Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
Defects and rewrites.
22 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 |
|---|---|---|
get_ai_news |
no_return_description |
Get the latest AI news from TensorFeed.ai. Returns a ranked list of stories, each with title, source, URL, snippet, and publish time, filterable by category (e.g. "anthropic", "openai", "research", "tools") with an optional limit. Aggregates 15+ sources (Anthropic, OpenAI, Google, TechCrunch, The Verge, arXiv, and more) into one normalized feed, so an agent reads one schema instead of polling each outlet. Free, no auth. |
get_ai_status |
no_return_description |
Get the real-time operational status of major AI services (Claude, OpenAI, Gemini, Mistral, Cohere, Replicate, Hugging Face). Returns per-component breakdowns and an operational/degraded/down rollup per provider. One cross-provider status call instead of checking each vendor's status page, so an agent can check live health before routing a request to a model that may be impaired. Free, no auth. |
is_service_down |
no_return_description |
Check whether one named AI service (e.g. "claude", "openai", "gemini", "mistral", "cohere", "hugging face", "replicate") is currently operational, degraded, or down. Returns the service's status with its component-level breakdown; it matches on service or provider name and lists available services if there is no match, so an agent can gate a call on live status before sending traffic. Free, no auth. |
account_status |
no_return_description |
Check the configured TensorFeed token. Returns the current credit balance plus recent per-endpoint usage (last 100 calls aggregated). Free, but requires TENSORFEED_TOKEN. |
route_verdict |
no_return_description |
TensorFeed's signed model-routing decision. Returns the single best model for a task or named model, together with the reasoning, fused from live pricing, contamination-discounted benchmarks, real production usage, measured p95 latency, incident state, and deprecation flags. tier='preview' (default) is free (10 calls per day per IP) and returns the top verdict only; tier='full' costs 1 credit ($0.02), returns ranked runners-up, constraint filters, and an AFTA-signed receipt you can audit, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
provider_reliability_verdict |
no_return_description |
TensorFeed's signed dependability ruling over its own measured latency and availability probes of the frontier AI providers. Returns the single most-dependable provider to build on and the riskiest, scoring availability and tail consistency (p50 over p95) equally because an agent retry loop feels the tail, not the median. tier='preview' (default) is free (10 calls per day per IP) and returns the top verdict only; tier='full' costs 1 credit ($0.02), returns the full per-provider ranking with measured availability and p50/p95/p99 and tail spread, plus an AFTA-signed receipt, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
x402_settlement_verdict |
no_return_description |
TensorFeed's signed ruling on the state of the x402 USDC settlement market on Base, computed over its own on-chain settlement index. Returns market momentum versus the prior window of equal length, concentration, and the leading publisher, covering the publishers TensorFeed indexes on Base (forward-only from launch). tier='preview' (default) is free (10 calls per day per IP) and returns the headline verdict only; tier='full' costs 1 credit ($0.02), returns the full per-publisher ranking with volume share, ecosystem totals, the Herfindahl concentration index, and an optional window, plus an AFTA-signed receipt, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
x402_publisher_verdict |
no_return_description |
TensorFeed's signed trust verdict on one x402 publisher, computed over its own on-chain settlement index. Returns whether a named publisher domain is actively settling, recently quiet, registered with no settlement, unreachable, missing a Base payTo, or not indexed. Requires a domain. tier='preview' (default) is free (10 calls per day per IP) and returns the trust verdict only; tier='full' costs 1 credit ($0.02), returns the 30-day settlement momentum, the shared-wallet risk flag, and the settlement evidence (volume, count, last settled), plus an AFTA-signed receipt, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
stack_safety_verdict |
no_return_description |
TensorFeed's deploy gate for an AI software stack. Pass each package as comma-separated name@version and it returns the overall BLOCK / HOLD / PASS / UNKNOWN gate plus a per-package verdict, fusing the ingested AI-stack CVE batch with the CISA KEV catalog. Conservative by design: BLOCK is returned only on an exploited CVE with no fix, HOLD when a known CVE applies and you must verify your version, PASS on no match, UNKNOWN outside the curated AI-stack cohort. tier='preview' (default) is free (10 calls per day per IP), caps at 3 packages, and returns the gate plus worst offender; tier='full' costs 1 credit ($0.02), raises the cap to 10 packages, returns the matched-CVE evidence (ids, affected ranges, fixed versions, KEV status) and an AFTA-signed receipt, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
benchmark_trust_verdict |
no_return_description |
TensorFeed's signed ruling on whether an AI benchmark is still a trustworthy capability signal or is saturated, contaminated, or near ceiling so a high score should be down-weighted. Returns a trust band (reliable, use_with_caution, saturated, contaminated, deprecated) and a 0-100 trust score per benchmark; pass benchmark to narrow to one, category to filter, or neither for the registry. tier='preview' (default) is free (10 calls per day per IP) and returns the top verdict and bands only; tier='full' costs 1 credit ($0.02), returns per-signal detail (ceiling proximity, frontier compression, contamination), a down-weight recommendation with an alternative benchmark, and an AFTA-signed receipt, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
failover_verdict |
no_return_description |
Signed ruling for when provider A is degraded: returns the single best operational provider to fail over to for a task right now. It confirms A against the live incident-triage feed, then runs the route-verdict fusion with A (and any provider already in failover) excluded. Requires from. tier='preview' (default) is free (10 calls per day per IP) and returns the failover target only; tier='full' costs 1 credit ($0.02), returns the full candidate (pricing, measured p95 latency, quality), the ranked alternatives, and the confirmed incident on A, plus an AFTA-signed receipt, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
ssvc_verdict |
no_return_description |
TensorFeed's signed SSVC patch-urgency decision for one CVE, applying the CISA SSVC Coordinator decision tree to the recorded Vulnrichment decision points (exploitation, automatable, technical impact). Requires a CVE id. Returns the three decision points and the decision-tree provenance; on tier='preview' (default, free, 10 calls per day per IP) it does NOT return the computed Act / Attend / Track / Track* decision, while tier='full' (1 credit, $0.02) returns the computed decision across the full low/medium/high Mission and Well-being envelope, the per-level reasoning, a live CISA KEV cross-check, and an AFTA-signed receipt, and needs a TENSORFEED_TOKEN. Get credits at tensorfeed.ai/developers/agent-payments. |
pricing_series |
no_return_description |
Return daily price points for one AI model over a window (one price point per day). days 1 to 7 is free; days 8 to 90 costs 1 credit ($0.02) and needs a TENSORFEED_TOKEN, and additionally returns the min/max/delta summary over the longer window. Get credits at tensorfeed.ai/developers/agent-payments. |
benchmark_series |
no_return_description |
Return daily benchmark scores for one model+benchmark over a window (one score per day). Benchmark keys: swe_bench, mmlu_pro, gpqa_diamond, math, human_eval. days 1 to 7 is free; days 8 to 90 costs 1 credit ($0.02) and needs a TENSORFEED_TOKEN, tracking score evolution over the longer window. Get credits at tensorfeed.ai/developers/agent-payments. |
status_uptime |
no_return_description |
Return a daily uptime rollup for one provider over a window, with operational/degraded/down day counts and uptime % (degraded counts as half-credit). days 1 to 7 is free; days 8 to 90 costs 1 credit ($0.02) and needs a TENSORFEED_TOKEN, adding per-incident-day detail over the longer window. Get credits at tensorfeed.ai/developers/agent-payments. |
status_leaderboard |
no_return_description |
Return a cross-provider uptime leaderboard ranked by uptime % DESC, computed from minute-resolution counters (~720 samples per provider per day). days 1 to 7 is free; days 8 to 90 costs 3 credits ($0.06) and needs a TENSORFEED_TOKEN, adding incident_count and mttr_minutes (mean time to recover) per provider over the longer window. Get credits at tensorfeed.ai/developers/agent-payments. |
whats_new |
no_return_description |
Catch up on everything that changed in AI in one call. Returns pricing moves, new and removed models, status incidents, and top news from the last 1 to 7 days, so your agent boots with current context instead of stale assumptions. Costs 1 credit ($0.02). |
compare_models |
no_return_description |
Pick between models in one call. Returns pricing, benchmarks, status, and recent news for 2 to 5 models side by side, with cheapest-blended and per-benchmark rankings, so you can choose without scraping each provider. Costs 1 credit ($0.02). |
provider_deepdive |
no_return_description |
Everything about one AI provider in a single call. Returns live status, every model with pricing, tier, and benchmarks joined in, recent news, and agent traffic, replacing about four separate lookups. Costs 3 credits ($0.06). Strict premium, no free trial. |
list_watches |
name_restates_behavior no_return_description |
Inspect the webhook watches currently registered to the configured TensorFeed token. Returns each active watch with its id and configuration (type, watched target and condition, and callback URL), so an agent can review or clean up its registrations; the returned wat_... id can be passed to delete_watch. Free, requires TENSORFEED_TOKEN. |
create_watch |
no_return_description |
Register a webhook watch. type selects what to watch: "price" (a model price change), "status" (a service status transition), "digest" (a scheduled daily or weekly pricing summary), or "leaderboard_rank" (a provider crossing an uptime-rank threshold). Returns the newly created watch with its wat_... id, which can be passed to delete_watch to remove it later. Costs 1 credit ($0.02) at registration; the watch lives 90 days and each fire is an HMAC-signed POST to callback_url. Needs a TENSORFEED_TOKEN. |
delete_watch |
no_return_description |
Remove one of your active webhook watches by id, so it stops firing callbacks. Pass the wat_... id returned by create_watch / list_watches; returns a confirmation that the watch was deleted. Free, requires TENSORFEED_TOKEN. |
Selection evidence
Confusable tool pairs.
5 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
get_model_pricing |
compare_models |
medium | Both produce pricing, mention 'cheapest' fits, and one is free while the other costs credits; a query like 'which model is the cheapest for my context' or 'compare these two models' is equally answerable by the pricing table or the comparison tool, so an agent can plausibly pick the wrong one. |
pricing_series |
benchmark_series |
medium | Identical schema shape (model + daily window, free 1-7 days, credit 8-90) and shared 'daily/model/window' tokens; the only discriminator is price-vs-score content, and a vague 'show me the daily series for model X over 30 days' could be matched to either, especially when the agent misreads the series type. |
route_verdict |
failover_verdict |
medium | Both fuse the same signals and return 'the single best model/provider for a task'; failover_verdict explicitly subsumes route_verdict's logic with an exclusion, so 'my provider is degraded, what should I route to' plausibly triggers either, and preview tiers are both free. |
status_uptime |
status_leaderboard |
low | Shared 'uptime/provider/day' tokens and both yield uptime percentages, but one is single-provider (requires provider) and the other is a cross-provider ranking, so a prompt like 'uptime over the last 30 days' could misfire; the required-provider signature usually disambiguates. |
route_verdict |
provider_reliability_verdict |
low | Both center on measured latency/availability and 'single best provider' language; 'which provider is the best to build on' could land on either, but the reliability verdict is clearly provider-scoped while route_verdict is task/model-scoped, so confusion is only plausible for vague provider-level prompts. |
Compare the field