01Safety
0.0 / 30
What changed in the harness
Selection accuracy 98→95, token cost down 0%, 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
26.8 / 30
10.4 / 20
12.7 / 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 |
|---|---|---|
check_usage |
name_restates_behavior no_return_description |
Check the current PageBolt API usage against your plan's limits. Returns the request count consumed, remaining quota, and plan tier details for the authenticated API key. |
destroy_session |
no_return_description |
Explicitly destroy a persistent browser session before it expires, freeing the browser page immediately to reclaim capacity. Returns a confirmation that the session was destroyed. |
run_sequence |
no_return_description |
Execute a multi-step browser automation sequence: navigate pages, interact with elements (click, fill, select), and capture multiple screenshots/PDFs/diffs in a single browser session. Use the "diff" step to compare the current page state against another URL after automation. Returns an array of results, one entry per output step (screenshot, pdf, or diff), each containing the captured image/file data or diff metadata (changed pixel count and percentage). Each output counts as 1 API request. |
record_video |
no_return_description |
Record a professional demo video of a multi-step browser automation sequence, producing an MP4/WebM/GIF with cursor highlighting, click effects, smooth movement, step notes, browser frame (macOS/Windows), gradient/glass backgrounds, and more. Saves the rendered video file to disk and returns its file path. Costs 3 API requests. BEST PRACTICE: Keep videos concise (5-15 action steps). Do NOT add wait steps between every action — the pace parameter handles timing. Do NOT use zoom unless the user explicitly asks for it. |
Selection evidence
8 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
create_session |
destroy_session |
low | An agent asked to 'end' or 'reset' a session could momentarily conflate creating vs destroying, but the verbs (create/destroy) are semantically opposite and unambiguous once read, so real confusion is unlikely. |
create_session |
list_sessions |
low | Both relate to session lifecycle but have distinct purposes (start a new one vs enumerate existing ones); little plausible confusion since 'list' and 'create' verbs are clear. |
inspect_page |
observe_page |
high | Both return structured maps of page elements/selectors for use before automation, differing mainly in token-budget/extra features (screenshot, content, ARIA tree) vs raw completeness — a task like 'get me the elements on this page' plausibly maps to either tool. |
list_devices |
list_sessions |
low | Both are 'list_*' tools but list wildly different resources (device presets vs browser sessions); a generic 'list what's available' request could momentarily point to either name, but content disambiguates immediately. |
list_sessions |
destroy_session |
low | Related to session management but distinct actions (enumerate vs terminate); minimal genuine ambiguity given clear verb differences. |
run_sequence |
record_video |
medium | Both execute multi-step browser automation sequences with nearly identical step schemas; a task like 'automate this flow and show me what happened' could plausibly be fulfilled by either run_sequence (screenshots/pdf/diff) or record_video (video capture) if the user doesn't explicitly say 'video' or 'screenshot'. |
create_og_image |
create_session |
low | Share only the 'create' verb; og-image generation and browser session creation serve completely different purposes with no realistic task overlap. |
take_screenshot |
generate_pdf |
medium | Both take url/html input and 'capture'/'render' a page, so a vague task like 'save this page as an image/document' or 'export this webpage' could be ambiguous between screenshot and PDF output if format isn't specified. |
Compare the field