01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 14%, 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
28.5 / 30
20.0 / 20
15.6 / 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
4 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 |
|---|---|---|
add-todo |
no_return_description |
Create a new todo in Things with the given title, notes, schedule (when), deadline date, tags, and project/area (list). Returns the created todo; if reveal is true, shows it in the UI. |
add-project |
params_unexplained no_return_description |
Create a new Things project with the given title, notes, schedule (when), deadline, tags, area (the Things area the project belongs to), and initial todo titles. Returns the created project; if reveal is true, shows it in the UI. |
show-list |
no_return_description |
Display a built-in Things list (inbox, today, anytime, upcoming, someday, logbook, tomorrow, deadlines, repeating, all-projects, or logged-projects) and return its items, optionally filtered by tag names. |
search |
no_return_description |
Search Things for todos and projects matching the given query text and returns the matching items. |
Selection evidence
1 pair where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
add-todo |
add-project |
medium | Both tools share the 'add' prefix and have near-identical input schemas (title/notes/when/deadline/tags/reveal) with empty descriptions. A vague task like 'add a new item titled X with a deadline and tags' provides no term like 'todo' or 'project' to disambiguate, so an agent could pick the wrong member; only the minor field differences (list/completed vs area/todos) reveal the intended tool. |
Compare the field