// surface 01
Discoverability
Can an agent find your product without prior knowledge? Discoverability covers everything an automated client encounters before parsing a page: robots policy, sitemaps, llms.txt, well-known endpoints, and the HTTP signals that tell a crawler what kind of surface this is.
- ·robots.txt correctness (no accidental Disallow on AI-relevant paths)
- ·Sitemap completeness and freshness across every public route
- ·llms.txt presence with stable anchors for the surfaces that matter
- ·/.well-known/agents.json, /.well-known/mcp/, and equivalent registries
- ·Link headers: service-desc, service-doc, describedby
// surface 02
Documentation clarity
Once an agent lands, can it understand what the page is? Documentation clarity covers semantic HTML, structured data, and the consistency between what humans read and what machines parse. A page that renders beautifully but ships no JSON-LD is invisible to retrieval pipelines.
- ·Schema.org coverage on every product, service, and pricing page
- ·JSON-LD validity (parses, no Google rich-results warnings)
- ·OpenGraph and Twitter cards consistent with on-page content
- ·Canonical and redirect chains that resolve cleanly
- ·Semantic HTML: one H1, sensible headings, lists where appropriate
// surface 03
API and workflow accessibility
Can an agent move from reading to doing? This surface covers whether your APIs, MCP servers, and workflow endpoints are documented in machine-readable form and reachable without out-of-band setup.
- ·OpenAPI specification published at a stable URL
- ·MCP server catalog or tool list discoverable
- ·Rate-limit headers documented and consistent with behavior
- ·Developer documentation parseable without JavaScript
- ·Versioning policy and deprecation signaling
// surface 04
Authentication and permissions
Can an agent get the right level of access without breaking? Auth is where agent integrations most often stall: missing OAuth metadata, ambiguous scopes, session handling that assumes a browser.
- ·OAuth metadata discoverable via well-known endpoints
- ·Scope names and effects documented unambiguously
- ·Token refresh and revocation flows behave deterministically
- ·Session handling tolerant of headless clients
- ·Permission errors return structured, actionable bodies
// surface 05
Error handling and recovery
When something goes wrong, can an agent recover? An agent that hits a 500 with an HTML error page has no path forward. Errors must be structured, idempotent retries must be safe, and partial failures must be surfaceable.
- ·Errors return JSON with machine-readable codes, not HTML
- ·Idempotency keys honored on retryable mutations
- ·Rate-limit responses include Retry-After
- ·Partial-failure semantics documented for bulk operations
- ·Webhook delivery includes replay and signature verification
// surface 06
Trust, governance, and observability
Is the agent's activity visible, governable, and safe? This surface covers the controls that make agent traffic a first-class citizen: bot policy that matches WAF behavior, header hygiene, audit logging, and a clear data-handling story.
- ·Bot policy declared in robots.txt matches what the WAF actually does
- ·User-agent rules consistent across CDN, origin, and analytics
- ·Crawler analytics surfaced so agent traffic is measurable
- ·Security headers (CSP, HSTS, X-Content-Type-Options) shipped
- ·Audit log retention and access documented