Skip to main content
This guide walks through checking a built agent package against the spec, acting on the flags, and getting an exit 0 result. It assumes you have already built a package — a directory containing manifest.yaml and its source files. No API key or network connection is required. The conformance CLI runs the deterministic lanes only.
1

Run conformance

Point conform at the package directory:
You get a lane-grouped report and a verdict line ending in (exit 0) or (exit 1). A non-zero exit means there is at least one blocking flag, or a lane couldn’t run.For machine-readable output:
2

Read the flags

Each flag names a rule, the target it lands on, a copyable id, and a one-line rationale:
[error] flags fail the run by default. [warning] flags are advisory. See Reading the flag report for the full anatomy and exit-code rules.
3

Fix what's real

Most schema flags are real, mechanical problems: a missing required field, a bad enum, an out-of-range value, a dangling file reference. Edit the package and re-run.
Each fix drops a flag from the report. Iterate until only flags you intend to keep remain.
4

Acknowledge what you accept

Some flags are deliberate — an internal agent with no public repo, or a known spec residue. Acknowledge them so they stop blocking, without hiding them.To confirm the run goes green, suppress for this run only:
To keep the acknowledgement, commit a reasoned entry next to the package:
conformance-ignore.yaml
Re-run. The flag moves to the ignored set and the run goes green.
See Acknowledging flags for the full ignore, allowlist, and baseline workflow.
5

Optional: adopt on an existing package with a baseline

If a package starts with many flags you don’t want to fix right now, snapshot them all so only new drift surfaces afterward:
6

Wire it into CI

conform exits 0 on pass and 1 on fail, so it drops straight into a pipeline:
--fail-on error, the default, fails on error flags only. --fail-on none makes all flags advisory — the run still fails if a required lane couldn’t run, so “we didn’t check” never passes.

Common options at a glance

Full details in the jstm agent conform reference.