Methodology
Waymark scores a stored scan, not a live journey. Homepage and protocol fetches use the user agent Waymark/1.0 and an 8 second timeout. Homepage HTML may also be read with Browser Run (networkidle2), which falls back to that fetch. Protocol files (robots, llms.txt, well-known, OpenAPI) stay raw fetch. MCP initialize is probed when the site shows an MCP surface. Statuses are pass, fail, warn, na, and error. N/A and scanner error are dropped from the denominator. Fail means the site is missing the signal.
Layers
Weights are 20 / 30 / 40 / 10 for Find, Door, Tools, and Pay. A layer percentage is points earned divided by points that count. Layers then combine by those weights. A layer with nothing left to score drops out, and the others are renormalized over the weight that remains.
Warn scores 1 point when that check’s max is at least 2, and half the max when the max is under 2. Pay is N/A unless the homepage shows “add to cart”, “buy now”, or “shopping cart”, or a link path contains /cart, or a live rail answers (x402, UCP, ACP, or MPP). The words checkout or SKU alone do not turn Pay on. The Jev Pay shadow is log-only and is not part of the grade. The optional live journey is stored separately and never changes the total.
Grades: A+ at least 95, A at least 86, B at least 70, C at least 48, D at least 28, otherwise F. If the homepage check is a scanner error, the scan is degraded: the total is capped at 47, and the site stays off the public board. If the checks that actually scored cover less than 50 of the layer weight, the total is capped at 69.9, so a thin scan cannot be published as a B or above.
An essentials reading is separate from the public grade. It weights the baseline band at 80 and the recommended band at 20. Bonus checks never reduce it. The figure on a score page is the baselineScore stored with that scan. It is not recomputed when the catalog changes.
Catalog
90 checks · weights {"find":20,"door":30,"tools":40,"pay":10}
Find 26
wm
HTTPS reachable ·
https-okHomepage answers over HTTPS.
wm
robots.txt present ·
robots-txtRoot robots.txt with User-agent rules.
wm
XML sitemap ·
sitemap-xmlsitemap.xml or robots Sitemap line.
wm
llms.txt ·
llms-txtRoot markdown index for models.
wm
AGENTS.md ·
agents-mdRoot notes for agent operators.
wm
Well-known AI catalog ·
well-known-ai-catalogai-plugin.json or ai-catalog.json.
AR-DISC-01
robots.txt AI policy ·
wm-robots-ai-policyrobots.txt names identified AI crawlers with explicit allow or deny.
AR-DISC-02
Sitemap for agents ·
wm-sitemapFetchable sitemap listing main URLs.
AR-DISC-03
llms.txt index ·
wm-llms-txtRoot llms.txt summarizing the product.
AR-DISC-04
llms-full.txt ·
wm-llms-full-txtSingle-file ingestible documentation at /llms-full.txt.
AR-DISC-05
HTTP Link header ·
wm-http-link-headerLink headers with sitemap, describedby, api-catalog, or alternate.
AR-DISC-06
NLWeb schemamap ·
wm-nlweb-schemamaprobots.txt schemamap directive for a schema.org feed.
AR-CAPA-09
ai-plugin.json ·
wm-ai-plugin/.well-known/ai-plugin.json manifest.
AR-IDEN-06
API catalog linkset ·
wm-api-catalog/.well-known/api-catalog.
wm
ads.txt ·
wm-ads-txtIAB ads.txt when the origin sells inventory; N/A otherwise.
wm
llms.txt size and links ·
wm-llms-txt-qualityllms.txt is long enough and points at real URLs.
wm
robots Crawl-delay ·
wm-robots-crawl-delayrobots.txt mentions Crawl-delay for polite agents.
wm
related-website-set ·
wm-related-website-set/.well-known/related-website-set.json listing related origins.
wm
Wikipedia sitelink ·
wm-wikipediaLive Wikipedia sitelink for the domain.
wm
Wikidata official website ·
wm-wikidataWikidata P856 official website matches the domain.
wm
Brand official-website match ·
wm-brand-webWikidata official website confirms the brand domain.
wm
Public MCP registry listing ·
wm-mcp-registryLive search of public MCP registries.
wm
Agent mode view ·
wm-agent-mode?mode=agent homepage variant.
wm
Section llms.txt ·
wm-docs-llms/docs/llms.txt modular index.
wm
Sitemap lastmod ·
wm-sitemap-lastmodlastmod dates in sitemap.xml.
wm
Package homepage match ·
wm-pkg-homePublic package registry homepage matches the domain.
Door 38
wm
Title and description ·
title-metaDocument title and meta description.
wm
JSON-LD structured data ·
json-ldapplication/ld+json on the homepage.
wm
OpenAPI / Swagger link ·
openapi-or-swagger-linkHomepage points at an API description.
wm
html lang attribute ·
html-langLanguage declared on <html>.
wm
RSS or Atom feed ·
feed-or-rssMachine-readable update feed.
wm
CSP or X-Frame-Options ·
security-headersFraming / script policy headers.
wm
CORS / API hint ·
cors-on-api-hintCORS header or obvious API path.
wm
OAuth / OIDC well-known ·
oauth-well-knownOAuth or OpenID discovery document.
wm
Login or docs link ·
login-or-docs-linkHuman door to login or developer docs.
wm
AI crawlers not blanket-blocked ·
not-blocking-common-ai-botsrobots.txt does not Disallow: / for common AI bots.
AR-CONT-01
JSON-LD entities ·
wm-json-ldschema.org types in JSON-LD (Organization, Product, FAQ, etc.).
AR-CONT-02
Markdown negotiation ·
wm-markdown-negotiateAccept: text/markdown returns a markdown body.
AR-CONT-03
/index.md fallback ·
wm-index-mdHomepage also served as /index.md.
AR-CONT-04
Speakable markup ·
wm-speakableschema.org SpeakableSpecification or speakable property.
AR-IDEN-02
OAuth 2.0 surface ·
wm-oauthDiscoverable authorization or token endpoints.
AR-IDEN-03
OAuth AS metadata ·
wm-oauth-as-metadataoauth-authorization-server or openid-configuration.
AR-IDEN-05
PKCE S256 ·
wm-pkcecode_challenge_methods_supported includes S256.
AR-IDEN-01
Web Bot Auth keys ·
wm-web-bot-authhttp-message-signatures-directory for signed agent traffic.
AR-IDEN-04
OAuth protected resource ·
wm-oauth-resource/.well-known/oauth-protected-resource.
wm
security.txt ·
wm-security-txtRFC 9116 contact file at /.well-known/security.txt.
wm
humans.txt ·
wm-humans-txtRoot humans.txt naming people or teams behind the site.
wm
change-password well-known ·
wm-change-password/.well-known/change-password for account recovery doors.
wm
web-app-origin-association ·
wm-web-app-origin-association/.well-known/web-app-origin-association for Digital Asset Links-style web apps.
wm
assetlinks.json ·
wm-assetlinks/.well-known/assetlinks.json; N/A if no mobile app.
wm
apple-app-site-association ·
wm-apple-app-site-associationApple app site association; N/A if no iOS app.
wm
Web app manifest ·
wm-web-manifestmanifest.json or manifest.webmanifest for installable surfaces.
wm
oEmbed discovery ·
wm-oembedoEmbed link or endpoint so agents can unfurl a page.
wm
Developer portal ·
wm-dev-portalSelf-serve docs or developer hub.
wm
Trust pages ·
wm-trust-pagesAbout, privacy, or contact links.
wm
Pricing page ·
wm-pricing-pageDiscoverable pricing page.
wm
Scoped permissions ·
wm-scopesNamed OAuth scopes in a spec or resource metadata.
wm
Public API surface ·
wm-public-apiDocumented API agents can call.
wm
RSS or Atom document ·
wm-feed-fileFetchable /feed, /rss.xml, or /atom.xml.
wm
pricing.md ·
wm-pricing-mdMachine-readable /pricing.md.
wm
NodeInfo ·
wm-nodeinfo/.well-known/nodeinfo for federated servers.
wm
auth.md ·
wm-auth-mdRoot /auth.md walkthrough.
wm
JSON-LD sameAs ·
wm-sameassameAs profile links in JSON-LD.
wm
Open Graph basics ·
wm-og-metaog:image or og:title plus canonical.
Tools 21
wm
MCP well-known card ·
mcp-well-knownMCP descriptor under .well-known.
wm
MCP SSE / HTTP hint ·
mcp-sse-or-http-hintPage or headers mention MCP transport.
wm
openapi.json fetchable ·
openapi-json-fetchableOpenAPI or Swagger JSON at a common path.
wm
Webhook or API docs ·
webhook-or-api-docsWebhook or API documentation mention.
wm
Agent skills index ·
skill-or-agent-skills-indexSkills index or SKILL.md mention.
AR-CAPA-01
MCP initialize ·
wm-mcp-initializeJSON-RPC initialize against a discovered MCP HTTP endpoint.
AR-CAPA-04
A2A agent card ·
wm-a2a-card/.well-known/agent-card.json or agent.json.
AR-CAPA-08
OpenAPI document ·
wm-openapiMachine-readable OpenAPI or Swagger document.
AR-CAPA-02
MCP server card ·
wm-mcp-card/.well-known/mcp.json or mcp/server-card.json.
AR-CAPA-03
MCP Apps UI hint ·
wm-mcp-appsui:// resources or io.modelcontextprotocol/ui mention.
AR-CAPA-05
WebMCP page tools ·
wm-webmcpnavigator.modelContext or HTML tool metadata.
AR-CAPA-06
NLWeb /ask ·
wm-nlweb-askA /ask or NLWeb query endpoint.
AR-CAPA-07
Agent Skills files ·
wm-agent-skillsSKILL.md or well-known agent-skills index.
wm
Rate limit signal ·
wm-rate-limit-hintRate-limit or retry headers documented or sent on an API surface.
wm
Idempotency signal ·
wm-idempotency-hintIdempotency keys or equivalent documented for mutating API calls.
wm
Machine-readable errors ·
wm-json-error-hintJSON or problem+json error shape for APIs.
wm
CLI tool ·
wm-cliOfficial CLI mention.
wm
Honest 404 ·
wm-agent-404Unknown paths return 404.
wm
MCP server ·
wm-mcpDiscoverable MCP server or handshake.
wm
OpenAPI UI page ·
wm-openapi-uiswagger-ui or redoc.html adjacent to a spec.
wm
GraphQL GET hint ·
wm-gql-hintGET common GraphQL paths; response shape only.
Pay 5
AR-COMM-01
x402 payment ·
wm-x402402 / x402 headers or documentation.
AR-COMM-02
Agentic checkout (ACP) ·
wm-acpACP checkout session or agentic commerce mention.
AR-COMM-03
ACP delegated payment ·
wm-acp-delegateDelegate-payment token flow mention.
AR-COMM-04
Universal Commerce Protocol ·
wm-ucp/.well-known/ucp profile.
AR-COMM-05
Machine Payments Protocol ·
wm-mppMPP / Payment auth or x-payment-info.
Catalog ids are Waymark’s. AgentReady AR-* ids are cited only as coverage references (MIT spec).