01Safety
0.0 / 30
What changed in the harness
Selection accuracy 95→93, token cost down 2%, 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
27.4 / 30
10.9 / 20
13.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
2 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 |
|---|---|---|
check_usage |
name_restates_behavior no_return_description |
Check your PageBolt API consumption, current plan, and remaining quota. Useful before batching large jobs so you can confirm you won't hit your plan limits. Returns a summary of usage including requests used, plan limits, and remaining quota. |
destroy_session |
no_return_description |
Explicitly destroy a persistent browser session before it expires, freeing the browser page immediately. Use this when you are done with a session to free up capacity. Returns a confirmation that the session was destroyed, or an error if the session_id is invalid or already expired. |
Selection evidence
3 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
inspect_page |
observe_page |
high | Both tools take a URL/HTML and return a structured list of interactive elements with CSS selectors for the same page. A task like 'analyze this page and tell me what elements/buttons are on it' or 'get me the selectors for what's interactive' matches both descriptions, so an agent has no reliable signal to prefer one without reading subtle token-budget framing. |
run_sequence |
record_video |
medium | Both accept the same multi-step automation steps array (navigate/click/fill/select/wait). A task like 'automate this checkout flow' or 'walk through this sequence and capture it' is ambiguous: run_sequence outputs screenshots/PDFs/diffs, record_video outputs a demo video, and the word 'record'/'capture' appears in both, so an agent may pick the wrong output mode unless the user explicitly says 'video' or 'screenshots'. |
take_screenshot |
generate_pdf |
medium | Both render a URL or HTML content and accept similar parameters. A task like 'save this page' or 'export this URL to a file' fits both — the descriptions differ only in output type (image vs PDF). Without an explicit request for a PDF or an image/screenshot, an agent can plausibly choose the wrong renderer. |
Compare the field