---
title: "Re-verify one fix with Ora | Agent Ready Checklist"
description: "Re-verify one fix with Ora. Post a URL and a list of check ids to Ora and read the result for each. Compare it with a forced audit and with the kit."
canonical: https://agentreadychecklist.com/guides/re-verify-one-fix-with-ora
site: "Agent Ready Checklist"
last_updated: 2026-11-05
date: 2026-11-05
section: "Guides"
---

# Re-verify one fix with Ora | Agent Ready Checklist

> Re-verify one fix with Ora. Post a URL and a list of check ids to Ora and read the result for each. Compare it with a forced audit and with the kit.

Source: https://agentreadychecklist.com/guides/re-verify-one-fix-with-ora
Site: Agent Ready Checklist
Last reviewed: 2026-11-05
Agent endpoints: https://agentreadychecklist.com/llms.txt (index), https://agentreadychecklist.com/openapi.json (API), https://agentreadychecklist.com/mcp (MCP server), https://agentreadychecklist.com/ask (search)
Access: https://agentreadychecklist.com/auth.md (no key). Pricing: https://agentreadychecklist.com/pricing.md (free).

# Re-verify one fix with Ora

After you fix one row, run only its Ora checks instead of a full scan: post the URL and the check ids to Ora's /api/scan/checks. The run skips the cache, returns a result for each id without a total score, and spends one scan from the daily budget. The ax CLI has --force for a full re-audit.

## Before you start

You need the fix live at a public URL and the id of each Ora check that reads the row. A full audit answers "what is the score now". This answers the narrower question you have after a deploy: did the one thing I changed register.

## Steps

1.  **Find the ids.** Each row page lists them under "Verify with Ora", and [the crosswalk](https://agentreadychecklist.com/checklist/ora-checks/) lists them all. Post only the ids listed as tests of the row. A row page also lists related checks that ask for more than the row does, and a site that meets the row can score nothing or lose points on those, so leave them out. To search the catalogue yourself, read it and filter with jq.
    
    ```bash
    curl -s https://ora.ai/api/checks | jq -r '.checks[] | select(.name | test("llms"; "i")) | .id'
    ```
    
2.  **Post the URL and the ids.** The body is the page URL and a list of ids from that catalogue.
    
    ```bash
    curl -s -X POST https://ora.ai/api/scan/checks -H 'content-type: application/json' -d '{"url":"https://example.com","checkIds":["llms-txt-exists","llms-txt-formatting","llms-txt-links-resolve"]}'
    ```
    
3.  **Read one result per id.** Each result carries the id, the name, a status, a score, the maximum score and details, with a recommendation where Ora has one. An id that cannot apply to the target comes back as "na" instead of an error, and an id that is not in the catalogue is a 400 that names it.
4.  **Add the total yourself if you need it.** The response has no aggregate score of any kind, only the per-check score and its maximum. For the total, run `npx ax@0.10 audit <url> --force`, which skips Ora's cache and spends one of the 6 forced scans a day.

## Ids for six rows

| Row | Ora check ids to post | Kit check for the same row |
| --- | --- | --- |
| AR-READ-07; Ship llms.txt | llms-txt-exists llms-txt-formatting llms-txt-links-resolve | llms-linked |
| AR-READ-09; Advertise a markdown mirror | markdown-link-alternate | markdown-negotiation |
| AR-READ-08; JSON-LD on key pages | json-ld | json-ld |
| AR-FIND-03; Sitemap listed in robots.txt | sitemap | sitemap-listed |
| CF-MARKDOWN-NEGOTIATION; Markdown by Accept | markdown-negotiation-vary markdown-negotiation | markdown-negotiation |
| AR-ACT-07; WebMCP tools | webmcp | webmcp |

## What each option costs

| Option | Uses the cache | Spends | Returns |
| --- | --- | --- | --- |
| ax audit <url> | Yes, up to the age you set with --max-age | Nothing when served from the cache | The score, the layers and the ranked fixes |
| ax audit <url> --force | No | One of 6 forced scans a day per IP | The same, fresh |
| POST /api/scan/checks | No | One scan from the daily budget | A result per id, no total |
| Verify Kit --only= | No | Nothing from Ora | PASS, FAIL or SKIP with the evidence |

## How you know it is done

Every id you posted comes back with a status you can explain. A score at its maximum, or a recommendation you act on, is the aim; a check the row page marks partial can fall short of its maximum on a site that meets the row, and the page says why. Then run the full audit once, so the score you gate on in [CI](https://agentreadychecklist.com/guides/gate-deploys-on-agent-readiness-in-ci/) reflects the fix. [Why this site recommends Ora](https://agentreadychecklist.com/verify-with-ora/).

## The facts behind it

-   Ora's POST /api/scan/checks runs a chosen list of checks, taking a body of url and checkIds (ids from GET /api/checks), and returns a result per check with no aggregate score; the run is never served from a cache and spends one unit of the same daily scan budget as a full scan.primary source: [ora.ai/llms-full.txt](https://ora.ai/llms-full.txt?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=guide), read 2026-11-05
-   Ora's check catalogue (GET /api/checks) lists 132 checks in four layers: Discovery 16, Access 42, Usability 68 and Payments 6, each with an id, a layer, a tier, a maturity and the kinds of target it applies to. The copy this site works from is contract 1.38.0, read 2026-11-05; the live document read 2026-11-08 was contract 1.39.0 with the same 132 check ids and the same layer counts, with reworded recommendation text on 18 checks and a reworded description on 3.primary source: [ora.ai/api/checks](https://ora.ai/api/checks?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=guide), read 2026-11-08
-   The ax README says Ora allows 30 scans and 6 --force scans per rolling 24 hours per IP, plus a 10 a minute burst limit; a result served from the freshness cache costs nothing, --max-age sets how old a cached result may be, and --force is for verifying a fix you just deployed.vendor claim: [registry.npmjs.org/ax](https://registry.npmjs.org/ax), read 2026-11-05
-   Ora documents a CI auditing contract: a versioned ?format=audit response shape, repeat-scan caching through maxAgeSeconds and force, ephemeral scans for tunnel hosts, and rate limits with 429 handling, in the info.description of its OpenAPI document.primary source: [ora.ai/llms.txt](https://ora.ai/llms.txt?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=guide), read 2026-11-05

## Sources

-   [ora.ai/llms-full.txt](https://ora.ai/llms-full.txt?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=guide)read 2026-11-05
-   [ora.ai/api/checks, contract 1.38.0](https://ora.ai/api/checks?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=guide)read 2026-11-05
-   [registry.npmjs.org/ax, the ax README](https://registry.npmjs.org/ax)read 2026-11-05
-   [ora.ai/llms.txt](https://ora.ai/llms.txt?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=guide)read 2026-11-05

Edition

Data

2026-11-04

Reviewed

2026-11-05

Spec

AgentReady v2.0, 273d2d7

Crawl

13,071 rows, 2026-11-04

Ora

132 checks, contract 1.38.0, 2026-11-05

Verify with Ora

The scanner this site recommends for the whole checklist. 132 checks, a score out of 100, no account.

`npx ax@0.10 audit <url> --min-score <n>`

[Why Ora, and its limits](https://agentreadychecklist.com/verify-with-ora/)

Method

-   [How rows, commands and rates are made](https://agentreadychecklist.com/method/)
-   [How an Ora check is matched to a row](https://agentreadychecklist.com/checklist/ora-checks/)
-   [Pass rates by rank band](https://agentreadychecklist.com/data/by-rank/)

Sources and read dates sit at the foot of the page.

Last reviewed 2026-11-05. AgentReady v2.0, read 2026-11-04.
