ThesisAX = Agent eXperience — what UX and DX were for humans, AX is for agents.AX = Agent eXperience

An agent won’t integrate an API it can’t trust

A principal can’t prove their API works for agents by asserting it. api.qa grades a domain from its own published contracts, deterministically, and signs the verdict — judged by api.qa, never self-graded.

judged by api.qa, never self-gradeddeterministic, seeded, replayablekeyless first value
api.qa/auto.devSpecimen
A+
10/10AX score · remote mode
attestation Ed25519 · verifier v0.1.0
evidence ab1dcb44a00e217d98…
seed 1804815020 · replayable
curl api.qa/auto.dev
$ curl https://api.qa/auto.dev

# api.qa report — auto.dev

> Grade A+ · AX 10/10 · remote · attested

  PASS  llms.txt — served and agent-actionable
  PASS  agents.json — capability card parses
  PASS  icp.json — self-classification surface
  PASS  Content negotiation — curl gets markdown, browser gets HTML
  PASS  OpenAPI — machine-readable contract published
  PASS  MCP — interface declared with transport and tools
  PASS  Keyless flow — a No-ask Zone endpoint answers 2xx with no key
  PASS  402 offers — payment boundaries are structured, hard-ceiling offers
  PASS  Linkset — surfaces cross-reference each other
  PASS  Attestation — identity / attestation ladder declared

honesty caps ......... none triggered
evidence ............. 11 exchanges
re-judge ............. exit 0
5Inputs a verdict depends on, none of them yours to write
24Deterministic checks derived at run time
0Repo-local test files a fleet could rewrite

How it works

A fitness function held outside the fleet’s write access

Six mechanisms. Each is labelled with the attack from the threat model it exists to defeat — the number is the attack, not a sequence.

Defeats attack 01

Derived at run time

Checks are computed from the target’s own published surfaces. There are zero repo-local test files to rewrite until green.

Defeats attack 02

Ratified-digest gate

Acceptance names a sha256 digest, not a file path. If the spec text doesn’t hash to the pin, nothing runs — the verifier refuses before a single probe fires.

Defeats attack 06

Held-out signing key

Attested verdicts are Ed25519-signed by a key that lives only as a deploy secret. A fleet that owns the code still cannot mint attested history.

Defeats attack 07

Deterministic, replayable

The evidence bundle is embedded, so anyone can re-judge it offline and confirm the grade reproduces. The same evidence cannot judge two ways.

Defeats attack 04

Seeded sampling

Endpoint sampling is seeded fresh per run and recorded in the report. Overfitting to one run’s probe set fails the next.

Defeats attack 11

Honesty caps the grade

Two non-scoring checks cap the grade at C when a surface lies. A faked 200 where a typed BLOCKED belongs scores worse than a missing surface.

The AX score

Ten binary checks. One letter grade.

Each item is derived from the target’s own published surfaces and scored 0 or 1, over the machine surfaces made normative by AXP — the Agent eXperience Protocol (https://apis.ax/axp).

01
llms.txt served and agent-actionable
Scores
02
agents.json capability card parses
Scores
03
icp.json self-classification surface
Scores
04
Content negotiation curl gets markdown, browser gets HTML
Scores
05
OpenAPI machine-readable contract published
Scores
06
MCP interface declared with transport and tools
Scores
07
Keyless flow a No-ask Zone endpoint answers 2xx with no key
Scores
08
402 offers payment boundaries are structured, hard-ceiling offers
Scores
09
Linkset surfaces cross-reference each other
Scores
10
Attestation identity / attestation ladder declared
Scores
Honesty caps: schema-conformance and claims-honesty do not add points. Either failing caps the grade at C, because a lying surface is worse than a missing one.
Clause — the core invariantNon-negotiable
A verdict is a pure function of five inputs. None of them is yours to write.
01Published contracts
02Observed behavior
03Ratified digest
04Seed
05Verifier version

The villain is the human-first web — surfaces built for eyes, gated by signups, that lie to machines (walls of HTML, faked 200s, prices discovered after the bill). A fleet that would rather game the grade than fix the product finds the tests held outside its write access.

Two heroes, one motion

Read the grade, or make it your definition of done

B2A · the agent

Zero-shot: read the grade, enforce the gate

  1. curl https://api.qa/{domain}Pull the grade, AX score, per-check FAILs and the evidence bundle. No key, no account.
  2. accept: application/jsonRead grade and attested, and integrate only on a verdict that clears your bar.
  3. npx autonomous-qa rejudgeRe-judge the verdict yourself and carry proof any third party can re-check offline.
B2A2D · the orchestrator

An acceptance gate the workers cannot touch

  1. spec-digest golden.spec.jsonMint the pin once. The ratified digest lives with you, never in the workers’ repos.
  2. verify --expect-digest <pin>Hill-climb locally until exit 0. Advisory; local runs never sign.
  3. POST /verifyDone is passed: true at a ratified digest, or nothing, from a service the fleet cannot write to.

Pricing

Public verification is free. You pay for durable evidence.

The public grade runs unauthenticated, because a gate on the free grade would contradict the thesis. Money enters only at the boundaries, as machine-settleable 402 offers.

Public grade

$0
keyless, forever
  • GET api.qa/{domain}: grade + AX score
  • Per-check verdicts and the punch list
  • Advisory local runs: npx autonomous-qa
  • No signup, no key
curl api.qa/example.com

Attested run

Most portable
$5
one-time, per run
  • On-demand, Ed25519-signed verdict
  • Embedded evidence, replayable offline
  • Proof URL that survives a handover
  • Settled as a hard-ceiling 402 offer
curl api.qa/offers/attested-run

CI webhook

$20
per month
  • Re-verify on every deploy
  • Freshness gate against time-shifted state
  • Reverify-as-a-subscription
  • Grade timeline + badge
Set up a monitor

The stakes

Attack the product, not the verifier

Fail, and the agent-first web routes around you: to agents you are invisible, to wallets you are unbounded risk. Pass, and an agent that has never seen you discovers, understands, and pays you on first contact.

curl https://api.qa/your-api.com