Agent Readiness Report

Boltline

boltline.example · scan aaaa1111 · 5/16/2026

Re-run scan
94
AX SCORE
3494 (+60)
96labeling
92keyboard
95non semantic handlers
89hover dependencies
97transient state
100responsive blockers
91ambiguous targets
AX score · last 3 scans+60 in 48h
10050005/10 · 3405/1005/11 · 6405/1105/12 · 9405/12

Score breakdown

AX 6494+30

Each verified patch contributes a measurable slice. Patches that don't move the score never graduate.

Baseline (no AgentGlass)
64
f7Copy-key button → onclick + aria-label
+12
f9Code tabs → role=tab + Arrow keys
+9
f8Docs sidebar → aria-hidden under @media
+6
f12Pricing table → th scope=row + caption
+3
Final · all patches verified
94

Top failure modes

The pull request AgentGlass opens

When ALLOW_GITHUB_PR=true is set, this is the artifact your team reviews. Every file change cites a recipe key, every check is run by AgentGlass against the patched DOM. You merge — or you don't.

Open

Improve agent-readiness in the developer signup + API-key onboarding flow · auto-generated by AgentGlass

forgestack/forgestack-web#1284
AgentGlass Bot @agentglass-bot wants to merge 4 commits into main from agentglass/repair-1284

AgentGlass detected 4 agent-readiness blockers in the developer signup + API-key onboarding flow. Each finding has a verified DOM/ARIA patch attached. The visible UI is unchanged; the patches add stable, machine-actionable affordances so browser agents (Claude Computer Use, OpenAI Operator, Gemini browser) can complete the canonical task.

Before64
After94+30
Changes from 4 files+4414
  • src/components/CopyKeyButton.tsx+94
    recipe f7Replace ondblclick with onclick + aria-label + visible 'Copied ✓' toast
  • src/components/CodeTabs.tsx+186
    recipe f9Convert <div onclick> tabs to <button role="tab"> with Arrow-key handler
  • src/components/DocsSidebar.tsx+113
    recipe f8Keep sidebar in DOM; toggle aria-hidden via @media instead of display:none
  • src/styles/pricing-grid.module.css+61
    recipe f12Wrap leftmost column cells in <th scope="row">; add <caption>
All checks have passed · 4 successful
  • AgentGlass Patch Safety GateNo eval / no plaintext keys / no aria removals — 13 / 13 deny patterns clean
  • AgentGlass AX VerifierStage-1 probes re-run; score climbed 64 → 94 (+30)
  • Visual regression (Percy)0 pixel diff across 12 viewports — patch is invisible to humans
  • Build · lint · unittsc → 0 errors · eslint → 0 errors · vitest → 142 / 142
Preview · live PRs require ALLOW_GITHUB_PR=true

Patches in this report

components/BookDemoCTA.tsx

critical verified
ready to ship
components/BookDemoCTA.tsx
- <button className="btn-primary cta-book-demo">Book a demo</button>+ <button className="btn-primary cta-book-demo" aria-label="Book a demo with our sales team">Book a demo</button>

components/ui/Modal.tsx

medium needs review
review first
components/ui/Modal.tsx
+ <button onClick={onClose} aria-label="Close dialog" className="modal-close">×</button>

agents.json (excerpt)

{
  "$schema": "https://agentglass.dev/schemas/agents.v1.json",
  "version": "1.0",
  "site": {
    "name": "Boltline",
    "url": "https://boltline.example",
    "description": "B2B SaaS — scheduling — Booking CTA has no aria-label"
  },
  "ax_score": 94,
  "supported_journeys": [
    {
      "name": "book-demo",
      "entrypoint": "/",
      "selector_hints": {
        "primary_cta": "[aria-label='Book a demo with our sales team']",
        "calendar_slots": "[role='radiogroup'][aria-label='Available booking slots']",
        "confirm": "button.confirm-booking"
      },
      "expected_completion_ms": 12000,
      "min_score_for_agent_traffic": 80
    },
    {
      "name": "view-pricing",
      "entrypoint": "/pricing",
      "selector_hints": {
        "tier_growth": "button[aria-label='Continue with Growth plan']",
        "tier_scale": "button[aria-label='Continue with Scale plan']"
      }
    }
  ]
}