01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 1%, 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
29.0 / 30
20.0 / 20
13.4 / 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
3 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_post_status |
no_return_description |
Check the processing/publish status of a post previously created with post_to_social. Returns the current status of the post (e.g. pending, published, or failed). |
list_platforms |
no_return_description |
List the social platforms PostWire supports and the fields each needs. Returns a list of platforms with the required fields for each. |
my_account |
no_return_description |
Show the PostWire account: plan, monthly usage, and connected platforms. Returns the account details including plan, usage, and connected platforms. |
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 |
|---|---|---|---|
generate_posts |
post_to_social |
medium | A user task like 'write and publish a post about X to my socials' is ambiguous: generate_posts drafts platform-native content while post_to_social publishes it, and both accept a 'platforms' array and mention posting. An agent could call only post_to_social with a shared text (missing native drafts), or only generate_posts (drafting but never publishing), because the natural phrasing 'make/post this on LinkedIn' doesn't clearly separate writing from publishing. |
Compare the field