Skip to main content

Guides

The Ouro AX claims

The Ouro AX standard is a list of claims about the interfaces agents use. A claim is one rule that a program can check from outside, such as "an unknown flag fails before anything runs". ax-claims holds them as data in lib/ouro/ax/claims.ts, and ax-xray checks an interface against them (the X-ray). The claims page lists them, with their tiers and what admitted them.

node lib/ouro/ax/xray.ts claims          # every claim, its tier, rule and check
node lib/ouro/ax/xray.ts claims --json   # the claim set as data, with its hash

What a claim says

id
What it holds: A stable name, such as cli.unknown-flag.
surface
What it holds: cli, http, mcp or ui (a component's twins).
tier
What it holds: must or should.
applies
What it holds: Which surfaces it applies to, decided from what the interface says about itself: a command, a read, an action other people see, a route, a tool.
rule
What it holds: The rule, in one sentence.
why
What it holds: Why it matters to an agent.
evidence
What it holds: What admitted it: an evaluation run, a stated hazard, or a principle.
check
What it holds: What the X-ray does to check it.
fix
What it holds: What to change when it fails.

The tiers

A broken must claim fails the X-ray, which exits 1; a broken should claim is reported and fails nothing.exit With --conformance, a must claim that the X-ray could not check also fails it, so a skipped check never passes as a held one.conformance

How a claim enters must

A claim is must in one of two ways, and in no other:admission

  1. **An evaluation shows agents failing without it.** Real agents in fresh sessions do a task against the interface, and a scorer that calls no model judges the end state (the evaluation).eval The run reproduces the failure the claim forbids, and a run with the fix removes it. The claim's evidence names the run's file. Text taken only on stdin entered this way: on the main branch of the first adopter, the app Ouro AX was first measured on, agents limited to shell(app) could not pipe text into a send or an edit and failed both tasks, and with --text they passed both.text
  2. **It guards against a stated hazard.** It protects safety, compatibility or integrity, its evidence states the hazard, and the X-ray checks it. Refusing an unknown flag entered this way: no agent in the evaluations misspelt a flag, but an ignored flag on an action can act for real.flag

Every other claim is should until evidence arrives: it comes from a principle or from another product's experience.admission checkClaimSet refuses a must claim that rests on a principle, and an evaluation that names no run.admission

The order of work for a new claim:

  1. Reproduce the failure in an evaluation, and commit the run's results as evidence.
  2. Add the claim as should, with its check in ax-xray and a test of the check.
  3. Fix it in an adopter and run the evaluation again.
  4. When the fix removes the failure, make it must and cite both runs.

A claim is reviewed for demotion when repeated evaluations show that it does not change an outcome, unless it guards against a hazard. The probes found claims of that kind: the first claims, written from the first adopter's principles, matched none of the wrong turns agents made on its main branch, and fixing every one of them changed no task's outcome.principles

The claim set's version

The claim set has a version (CLAIM_SET_VERSION) and a hash: the SHA-256 of its canonical JSON.hash A report names both, so a conformance result says exactly which standard it checked.hash An adopter that copies the claims in can read its own copy with loadClaimSet, which checks it the same way.

Claim sources