# How ARI-100 is computed

One fetch per surface, no browser, no model in the scoring path. The same response always produces the same score.

## Domain weights

| Domain | Weight | Checks |
|---|---|---|
| Reachability & Access | 20 | 15 |
| Render & Delivery | 10 | 11 |
| Structure & Semantics | 12 | 14 |
| Structured Data | 12 | 12 |
| Discovery Files | 14 | 18 |
| Agent Interfaces | 14 | 27 |
| Operability & Commerce | 10 | 13 |
| Trust & Authority | 8 | 10 |

120 checks in total, 9 optional signals outside the domains.

## Check states

| State | Points | Meaning |
|---|---|---|
| pass | 1.0 | The required artefact exists and satisfies the rule on the live response. |
| partial | 0.5 | Present but incomplete, or reached through a redirect, or declared without being verifiable. |
| fail | 0 | Missing, malformed, or contradicted by the live response. |
| inconclusive | null | The probe could not decide; the check leaves the domain denominator. |
| not_applicable | null | Gated out for this site shape; the check leaves the domain denominator too. |

## Applicability gating

The commerce gate turns every commerce check except site search into not-applicable when the site has no product surface, no cart path and no product markup. The interfaces gate removes the whole interfaces domain when there is no development surface at all. Gating shrinks denominators; it never adds points.

## The emerging-signal bonus

Nine optional signals are scored outside the eight domains. Each pass adds one point, capped at 5. The cap keeps periphery from buying a grade.

## Grade bands

| Minimum | Grade | Label |
|---|---|---|
| 95 | A+ | Exemplary |
| 90 | A | Agent-native |
| 75 | B | Agent-aware |
| 60 | C | Partly readable |
| 40 | D | Largely invisible |
| 0 | F | Unreadable |

An A+ additionally requires an accessibility sub-score of 80 or better.

## Levels

| Level | Name | Requires |
|---|---|---|
| L0 | Hidden | robots.txt and a sitemap |
| L1 | Crawlable | AI crawlers named with a deliberate policy |
| L2 | Agent-readable | Markdown on request and discovery files |
| L3 | Agent-discoverable | an index of machine interfaces |
| L4 | Agent-operable | a callable interface: MCP, A2A or API |
| L5 | Agent-commerce | a checkout an agent can complete |

## Stated limits

- Verified-identity crawlers cannot be fully tested from one server. Googlebot, bingbot and Applebot answer differently to a verified IP than to a UA string, so a 401 or 403 for those agents is reported as unverifiable rather than blocked, and it leaves the access denominator.
- A snapshot is not a guarantee. One scan is one request per surface at one moment; a CDN rule, a bot-manager score or an A/B bucket can flip the answer minutes later.
- Only the first two internal pages are sampled for server-rendered text. A site can pass the sample and still ship empty product pages.
- Scores are deterministic for a fixed response but not stable across deploys: content, headers and edge rules all move the number.
- Nothing here proves an agent understood the page. ARI-100 measures the affordances an agent needs, not comprehension quality.
- The commerce domain is gated: on a site with no product or cart surface, only the search check is scored and the domain weight is redistributed across the remaining applicable weight.

## Reproducing a scan

    curl -s "https://agentpass.page/api/scan?url=https://example.com" | tee report.json
    curl -s https://agentpass.page/report/example.com.md

Methodology page: https://agentpass.page/methodology
