stado quality check
Invocation
stado quality check [OPTIONS]Purpose
Check that each committed Cargo.lock resolves its manifest (cargo fetch through the git program, then cargo metadata --locked --offline, no compile), then run every declared quality gate the product installation runs — each kind, `format`, `lint` and `test` — exactly as the release build runs it, writing nothing, so a commit that passes is not refused by its installation. On the web platform the gate is `stado web quality`, run over the exported tree with the release worker's WISENT_* contract
Required inputs and options
| Input or option | Contract |
|---|---|
--root <ROOT> | The checkout to check; the working directory by default |
--if-declared | Answer a manifest that declares no quality gate (or releases:false) by printing why and exiting 0 instead of refusing; a manifest that cannot be read or parsed is still refused |
--revision <REVISION> | Check this exact committed revision without fetching or selecting origin/main. The declaration is read from the same export |
--pre-push | Read Git pre-push ref updates from stdin and check every distinct pushed commit. Deletions have no source tree to check |
--json | Answer in JSON: the progress lines and each gate's own report go to stderr, and stdout carries one document — the checked revisions on a pass, or the failure envelope whose `details` name the refused gate's argv, exit, report and every finding (file:line, lint, message) on a refusal |
Output and state effect
This is an inspection/reporting operation. It emits the result described above and does not change managed state unless an explicit option in this page says otherwise. Pass `--json` when the command exposes that machine-readable option.
Refusals
- Answer a manifest that declares no quality gate (or releases:false) by printing why and exiting 0 instead of refusing; a manifest that cannot be read or parsed is still refused
- Answer in JSON: the progress lines and each gate's own report go to stderr, and stdout carries one document — the checked revisions on a pass, or the failure envelope whose `details` name the refused gate's argv, exit, report and every finding (file:line, lint, message) on a refusal
- Before dispatch, Stado refuses a missing required token shown in the invocation, an unknown option, or a value outside a listed value set; argument-usage failures exit with code 2.