0.0 / 30
What changed in the harness
Selection accuracy 98→100, token cost up 16%, 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
27.3 / 30
03Economics
20.0 / 20
04Discoverability
8.7 / 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.
5 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 |
|---|---|---|
connect_db |
params_unexplained no_return_description |
Connect to the MySQL database named by the database parameter at the given host using the user and password credentials, and return a connection object that the other database tools (e.g., query, execute) can use to run statements. |
query |
no_return_description |
Execute a SELECT-style SQL statement, optionally substituting the values in the params array for placeholders in the SQL, and return the resulting rows of the query. |
execute |
no_return_description |
Execute a data-modifying SQL statement such as INSERT, UPDATE, or DELETE, optionally substituting the values in the params array for placeholders in the SQL, and return the number of affected rows. |
list_tables |
name_restates_behavior no_return_description |
Return the names of all tables available in the currently connected MySQL database, so callers can identify tables to inspect or query with tools like describe_table and query. |
describe_table |
params_unexplained no_return_description |
Return the structure of the table identified by the table parameter, including its column names, types, and other schema details, so callers can understand how the table's data is organized. |
Selection evidence
Confusable tool pairs.
1 pair where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
list_tables |
describe_table |
medium | A task like 'describe the tables in the database' could mean listing the existing tables (list_tables) or getting the structure of a specific table (describe_table), making the intended tool ambiguous based on natural language alone. |
Compare the field