Agent Readiness Benchmark: the method

Published by ApexClaw Research. Engine ARB/1.1. 49 checks, 9 weighted pillars, every finding carrying the exact string observed on the target so any result can be reproduced or disputed by inspection.

ARB/1.1 measures whether this one public page is legible and independently verifiable to an autonomous agent: structured data, machine-readable dates, off-site corroboration, and the page's public transport and security surface. It does not measure the organisation's actual security posture, the quality of its product, or its reputation -- those require access, judgement, and time this engine does not have and will not simulate. Its security_surface pillar reads public response headers and TLS parameters observed on one fetch; it is NOT a penetration test and must never be read as one.

Rubric authored and reviewed by ApexClaw Research. Engine ARB/1.1, published 2026-08-26, revised whenever a check or weight changes -- full history in Versioning below.

What is agent readiness?

Agent readiness is the degree to which a website can be fetched, parsed, cited and transacted with by an autonomous agent rather than a human reader.

Why measure it separately from SEO?

Search ranking assumes a human clicks a result. An agent never clicks: it retrieves, extracts an answer, and either cites the source or omits it. Omission is a retrieval failure, not a ranking one.

How is a score produced?

Each check returns one of three verdicts: VERIFIED, UNVERIFIED, or UNOBSERVABLE. There is no partial credit -- a check either verifies the fact it checks for, or it does not. An UNOBSERVABLE check (the evidence needed to decide was absent, e.g. a fetch failed or a third-party API was unreachable) is removed from the denominator rather than counted as a failure, so nothing is inferred from missing information.

PillarWeightChecks
Machine Access14%6
Structured Data14%6
Answer Extractability13%5
Evidence & Citability11%5
Entity Clarity10%6
Agent Interaction Surface10%4
Governance & Trust8%3
Off-site Corroboration10%5
Transport & Security Surface10%9

What does the percentile mean?

The percentile compares a score against 30 real sites measured with this same engine. Median 59.8.

The cohort is 30 sites, scored on an unrecorded date. Lowest 3.2, median 59.8, highest 77.7. Every member and its score is listed in the machine version.

Which checks are measurements and which are inferences?

A deterministic check reads a structural fact: a header, a status code, a JSON-LD type, an element count. A heuristic check infers from a text pattern and can miss a true signal.

IDCheckMethodWeight
Machine Access
ma.reachablePage returns 200 to an agent user-agentDETERMINISTIC4
ma.robotsrobots.txt presentDETERMINISTIC2
ma.ai_crawlersAI crawlers not blocked in robots.txtDETERMINISTIC4
ma.llms_txt/llms.txt publishedDETERMINISTIC3
ma.sitemapXML sitemap resolvesDETERMINISTIC2
ma.no_js_contentPrimary content present without JavaScriptDETERMINISTIC3
Structured Data
sd.anyJSON-LD structured data presentDETERMINISTIC4
sd.orgOrganization / Product entity declaredDETERMINISTIC4
sd.faqFAQPage or QAPage markupDETERMINISTIC3
sd.breadcrumbBreadcrumbList markupDETERMINISTIC2
sd.articleArticle / TechArticle / Dataset for content pagesDETERMINISTIC2
sd.sameassameAs identity links in JSON-LDDETERMINISTIC3
Answer Extractability
ex.h1Exactly one H1DETERMINISTIC2
ex.question_headsQuestion-form headingsDETERMINISTIC4
ex.direct_answersShort direct-answer paragraphs under headingsDETERMINISTIC4
ex.structured_blocksTables or lists carry comparable factsDETERMINISTIC3
ex.depthSufficient topical depthDETERMINISTIC3
Evidence & Citability
ev.datedContent carries a machine-readable dateDETERMINISTIC4
ev.authorNamed author or reviewerHEURISTIC3
ev.citationsOutbound citations to independent sourcesDETERMINISTIC3
ev.canonicalCanonical URL declaredDETERMINISTIC2
ev.specificsQuantified, checkable claimsHEURISTIC2
Entity Clarity
en.titleDescriptive <title>DETERMINISTIC2
en.descriptionMeta description presentDETERMINISTIC2
en.opengraphOpenGraph metadataDETERMINISTIC2
en.about_contactAbout and Contact reachable from this pageDETERMINISTIC3
en.langLanguage declaredDETERMINISTIC1
en.httpsServed over HTTPSDETERMINISTIC2
Agent Interaction Surface
ag.formsForms are machine-fillable (named fields)DETERMINISTIC3
ag.bookingBooking endpoint linkedDETERMINISTIC3
ag.apiMachine endpoint or API discoverableHEURISTIC3
ag.contact_ldContact details in structured dataDETERMINISTIC3
Governance & Trust
gv.security_txt/.well-known/security.txt publishedDETERMINISTIC2
gv.policiesPrivacy and Terms linkedDETERMINISTIC2
gv.ai_policyStated policy for AI/agent accessHEURISTIC3
Off-site Corroboration
offsite.sameas_resolvesameAs targets resolve and are independentDETERMINISTIC3
offsite.citations_resolveCitations resolve across distinct domainsDETERMINISTIC3
offsite.security_contactsecurity.txt contact is reachableDETERMINISTIC2
offsite.wikidataEntity present in WikidataDETERMINISTIC2
offsite.claims_attributableQuantified claims are attributable to a sourceHEURISTIC2
Transport & Security Surface
sec.tls_versionModern TLS version negotiatedDETERMINISTIC3
sec.cert_validTLS certificate chain is validDETERMINISTIC3
sec.hstsHSTS present with a sane max-ageDETERMINISTIC2
sec.cspCSP present and not trivially permissiveDETERMINISTIC3
sec.xctoX-Content-Type-Options: nosniffDETERMINISTIC1
sec.referrer_policyReferrer-Policy declaredDETERMINISTIC1
sec.permissions_policyPermissions-Policy declaredDETERMINISTIC1
sec.mixed_contentNo mixed content on an HTTPS pageDETERMINISTIC2
sec.server_bannerServer banner does not leak a versionDETERMINISTIC1

What are the limits of a single run?

A run scores one URL and the site-wide files at its root: robots.txt, llms.txt, sitemap.xml and the well-known paths. A finding of absent means absent from that page, not from the site.

How is a disputed finding settled?

Every finding carries its evidence string. A dispute is resolved by fetching the same URL and comparing, not by argument. Re-running after a fix shows the delta attributable to that single change.

Versioning

The rubric is versioned. Weights and checks may change; a published score names the engine version that produced it, and an earlier version's published score is never restated under a later version's rubric. Changes are dated in the machine version.

VersionDateChange
ARB/1.02026-08-24First published rubric: 36 checks, seven pillars, PASS/PARTIAL/FAIL/UNKNOWN verdicts, not-evaluable checks excluded from the denominator.
ARB/1.12026-08-26Three-state rubric: VERIFIED/UNVERIFIED/UNOBSERVABLE replaces PASS/PARTIAL/FAIL/UNKNOWN (no partial credit). Two pillars added -- off-site corroboration and transport/security surface -- with the seven original pillar weights scaled down proportionally to make room. 49 checks, nine pillars. Every report now carries an explicit scope statement stating the security pillar is not a penetration test.

Why publish the rubric instead of keeping it proprietary?

A benchmark that cannot be reproduced is an opinion. Publishing the checks, the weights and the cohort is what makes a result arguable, and a result that can be argued with is one that can be cited.

The alternative, a hidden score, forces a reader to trust the scorer. That works for an established authority and fails for a new one. So the whole method is on this page, the machine-readable version is one request away, and any figure quoted from either carries the engine version that produced it. A competitor can implement the same rubric and get the same numbers; that is the point rather than a risk. Standards earn their position by being adopted, and nothing is adopted that cannot first be inspected.

What this benchmark does not measure

ARB/1.1 measures whether this one public page is legible and independently verifiable to an autonomous agent: structured data, machine-readable dates, off-site corroboration, and the page's public transport and security surface. It does not measure the organisation's actual security posture, the quality of its product, or its reputation -- those require access, judgement, and time this engine does not have and will not simulate. Its security_surface pillar reads public response headers and TLS parameters observed on one fetch; it is NOT a penetration test and must never be read as one.

Four limits follow from that, and each is stated on the face of every report rather than buried here. A run covers one URL plus the files at the domain root, so an absent finding means absent from that page. 5 checks infer from a text pattern instead of reading a structural fact, and those are tagged as heuristic wherever they appear. A check that cannot be evaluated at all is UNOBSERVABLE and is removed from the denominator instead of being scored as a failure, because counting an unknown as a failure would penalise a site for the benchmark's own blind spot. The security_surface pillar reads response headers and TLS parameters observed on one fetch -- it is NOT a penetration test and must never be read as one.

Sources

Run it

Score any public URL at the audit form. The free result names the score, the pillar breakdown and nine findings; the full report adds the remaining checks, the ranked remediation queue and a JSON export.

Contact hello@apexclawai.com.


About ApexClaw · Contact · Privacy · Terms · Agent access policy