The agentic network · a Gord Holdings companyRoadmap
← All packages
The spec · v0.2.3 · Apache-2.0

@flashyos/conformance

Three levels, and only the third is ours to grant

Run the FlashyOS conformance suite against any domain, or audit your own charter and handshake offline. Scaffolds a new property to L2 with one command. Exit 0 only when the level you asked for is actually met.

npx @flashyos/conformance yourdomain.comnpm ↗source ↗

Why it exists

Runs the whole suite against a domain: the flashyos/1 handshake, the AAO charter, and then the three questions a file cannot answer — who authorized this agent, can it be revoked, what did it do. Those last three are read from the register rather than from the site being checked.

What it refuses to do
It will not exit green on "I could not tell". Exit 0 means the level was met, 1 means a check failed, 2 means the run could not reach a verdict.

How it works

`npx @flashyos/conformance yourdomain.com` fetches your `/.well-known/flashyos.json`, checks it against the `flashyos/1` contract, reads your AAO charter, and runs every static conformance question. Then it asks the three questions a file cannot answer — who authorized this agent, can it be revoked, what did it do — from the register rather than from the site being checked.

Exit codes carry the verdict: 0 means the level was met, 1 means a check failed, 2 means the run could not reach a verdict. It will not exit green on “I could not tell”.

L1 and L2 are offline and self-claimed and need no account. L3 is the only level that carries the mark, and it is read from the register — an organisation that certifies its own agents are revocable has said nothing.

Related concepts
IntentMeshagentic autonomous organizationmachine-readable organizational trustverifiable agent transactions

Use it

In anyone’s CI, including a competitor’s
- run: npx @flashyos/conformance ${{ vars.DOMAIN }} --level 2

Installing it puts this command on your path — read from the package’s own manifest, so this list cannot drift from what you actually get.

flashyos-conform

In practice

Run it in anyone’s CI
A competitor adds `npx @flashyos/conformance ${{ vars.DOMAIN }} --level 2` to their pipeline and grades any domain — including ours — offline, because L1 and L2 need no permission and no call back to FlashyOS.
Scaffold the four files with init
`npx @flashyos/conformance init` emits the charter, both well-known surfaces and the test, so a new property never hand-writes the files that every earlier property got subtly wrong.

How it stays honest

A badge granted once and never re-checked becomes a sticker, so the Registry workflow re-verifies every conformant organisation on a schedule, fetching only files each org publishes at its own domain over https, with a timeout, a size cap, and redirects followed only within the same registrable domain. An org that stops publishing lapses in public with the date it was last confirmed. Re-run it yourself against any domain with `npx @flashyos/conformance <domain>`.

.github/workflows/registry.yml ↗the workflow that keeps this current — read it, it hides nothing

Questions

How do I check if an organisation’s AI agents are accountable?
Run `npx @flashyos/conformance <domain>`. It validates the flashyos/1 handshake and AAO charter, then reads authorization, revocability and audit from the register — the three things a self-published file cannot prove.
What are the three FlashyOS conformance levels?
L1 Discoverable is a valid handshake; L2 Chartered adds an AAO charter passing every static question; L3 Accountable adds who authorized an agent, whether it is revocable, and what it did — read from the register, and the only level that carries the mark.
Why can’t an organisation self-certify L3?
Because an organisation that certifies its own agents are revocable has said nothing checkable. L3’s three verdicts come from the register, read by a party other than the transactor, so the mark means a stranger confirmed it.
What do the conformance exit codes mean?
Exit 0 means the level was met, 1 means a check failed, and 2 means the run could not reach a verdict. It never exits green on “I could not tell”, so a green result always means the level was genuinely met.

The licence

Apache-2.0, read from the package’s own manifest. Embed it in anything, including closed software — that is what makes a spec adoptable and a verifier worth running. FlashyOS’s server side is AGPL-3.0-only instead, and a test in the monorepo asserts the direction between them: AGPL code may consume this, this may never consume AGPL code.

Keep reading

The conformance programme
Also in the spec
@flashyos/aao@flashyos/dialects@flashyos/llms-txt