0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 9%, 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
24.3 / 30
03Economics
19.7 / 20
04Discoverability
14.2 / 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.
13 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_events |
no_return_description |
Get real-time business events: funding rounds, acquisitions, executive hires, government contracts, and product launches. Filter by type, industry, and location. Returns a list of matching event records, each with company info, event type, date, and source details. |
get_market_pulse |
no_return_description |
Get real-time market activity overview: funding totals, acquisition counts, executive moves, contracts, and product launches for the past 7 and 30 days. Returns a summary object with aggregate counts and totals per category for both time windows. |
get_market_brief |
no_return_description |
Get today's AI-generated strategic intelligence brief with narrative analysis of the most important market movements, patterns, and opportunities. Returns a text brief summarizing the day's key trends and suggested opportunities. |
manage_watchlist |
no_return_description |
Add, remove, or list companies on your watchlist. Tracked companies generate alerts when they have new events. Returns the updated watchlist for add/remove actions, or the full current watchlist for the 'list' action. |
get_watchlist_events |
name_restates_behavior no_return_description |
Retrieve recent funding, acquisition, executive-hire, and contract events tied specifically to the companies you currently track on your watchlist, filtered by lookback period and event type. Returns a list of matching event records for those watchlisted companies. |
get_usage |
no_return_description |
Check your FundzWatch API usage: calls made, limits, current tier. Returns your usage stats, including calls made, remaining quota, and current subscription tier. |
get_funded_and_hiring |
no_return_description |
Companies with a verified funding round in the last 12 months AND live hiring evidence (open ATS roles, executive hires, hiring signals) — the strongest buying window, score-ranked and refreshed daily. No API key required. Returns a score-ranked list of matching companies with funding and hiring signal details. |
get_refinancing_windows |
no_return_description |
Companies whose active UCC-1 liens lapse within 12 months (Renewal Radar). UCC liens expire after 5 years — the incumbent lender must re-file or lose priority, so each approaching lapse is a refinancing window with a date on it. For lenders, MCA/ISO, and equipment finance. California + Colorado coverage (CO refreshed daily). No API key required. Returns a list of companies with lapsing liens, including lienholder and lapse date. |
get_stacked_borrowers |
no_return_description |
Companies with active secured debt (UCC-1) from 2+ distinct lenders and a filing in the last 24 months — proven appetite for layered financing; second-position and refi/consolidation targets. California + Colorado coverage (CO refreshed daily). No API key required. Returns a list of matching companies with their lenders and filing dates. |
get_benefit_plans_in_play |
no_return_description |
Recently funded companies (≤24 months) with a DOL Form 5500 benefit-plan filing on record: plan renewal timing, participant count vs current headcount ('outgrowing their plan'), and the incumbent insurance carrier from Schedule A. For benefits brokers, retirement-plan advisors, PEOs, HR-tech sellers. No API key required. Returns a list of matching companies with plan renewal timing, participant/headcount comparison, and incumbent carrier. |
get_lender_directory |
no_return_description |
Who finances whom: directory of 8,600+ UCC secured parties (lenders) ranked by filing volume, with active-lien counts and lapsing-soon exposure per lender. California + Colorado coverage (CO refreshed daily). No API key required. Returns a paginated list of lenders with filing volume, active-lien counts, and lapsing-soon exposure. |
get_money_in_motion |
no_return_description |
Companies with an executive-move announcement in the last 180 days AND a verified funding round in the last 24 months — the wealth advisor's 'money in motion' moment: a new comp package (often equity), an old 401(k) to roll over, benefits about to be re-evaluated. Score-ranked, refreshed daily. For RIAs, wealth managers, retirement-plan advisors, executive-benefits sellers. No API key required. Returns a score-ranked list of matching companies with their executive-move and funding event details. |
get_broker_directory |
no_return_description |
Who broker-of-records whom: directory of 65,000+ benefits brokers from DOL Form 5500 Schedule A Part 1, ranked by filings carried, with sponsor counts and commission volume per broker. For carriers, broker M&A, benefits-tech sellers, and brokers scouting competitors. No API key required. Returns a paginated list of brokers with filings carried, sponsor counts, and commission volume. |
Selection evidence
Confusable tool pairs.
7 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
get_events |
get_watchlist_events |
high | Both return the same event categories (funding, acquisitions, hires, contracts); a request like 'show me recent funding events' doesn't specify market-wide vs watchlist-only scope, so the agent could easily pick the wrong one, especially if a watchlist exists but the user meant broad market data. |
get_market_pulse |
get_market_brief |
high | Both are parameterless, whole-market summaries requested with near-identical phrasing (e.g. 'give me today's market overview'); the only difference is structured stats vs AI narrative, which isn't distinguishable from a vague natural-language ask. |
manage_watchlist |
get_watchlist_events |
medium | A task like 'show me my watchlist' is ambiguous between listing tracked companies (manage_watchlist action=list) and viewing recent activity for those companies (get_watchlist_events); both are watchlist-centric and share terminology. |
get_lender_directory |
get_broker_directory |
medium | Both are ranked directories of financial intermediaries with near-identical schemas (q/state/page) and descriptions ('who X's whom', ranked by volume); a generic request like 'find the top firms by filing volume in CA' doesn't clarify lenders vs benefits brokers. |
get_events |
get_market_pulse |
medium | Both surface funding/acquisition/hiring/contract/product-launch activity; a broad ask like 'what's happening in the market right now' could be satisfied by either the raw event feed or the aggregated pulse overview. |
get_funded_and_hiring |
get_money_in_motion |
medium | Both filter recently-funded companies by a secondary live signal (hiring vs executive moves) and are pitched as 'buying window' style leads; a vague sales-prospecting request could trigger either since both mention funding plus a recent verified event. |
get_refinancing_windows |
get_stacked_borrowers |
medium | Both are UCC-1 lien based company lists with identical schema and CA/CO coverage; a request like 'find companies with active lien activity for refinancing outreach' doesn't clearly indicate lapsing liens vs multi-lender stacking. |
Compare the field