Runs mix quality and attests that what it ran was the full gate.
A green run is not by itself evidence of a green gate: --profile loop,
--test-scope changed, --quick and --skip all produce one, and each of
them checks less. ADR-0008 makes the full gate the pre-commit bar, and
CLAUDE.md's rule that a scoped green never substitutes for it is how a run
gets reported; this task is how that claim gets checked rather than
remembered.
Usage
mix gate.verifyThe run passes only when the report says status: "ok", scope: "all", no
profile, and no stage skipped for a reason that names this run rather than the
project. Exit status is 0 when it attests and 1 when it does not.
A stage skipped for a project-level reason (:sobelow not installed,
disabled in .quality.exs, a custom stage's own skip) is named in the output
but does not fail the attestation: that is a gap in what the project checks at
all, which a fuller run cannot close.
Summary
Functions
Runs the gate and reports the attestation instead of halting.
Functions
Runs the gate and reports the attestation instead of halting.
opts[:runner] replaces the mix quality shell-out with a function of an
argument list returning {output, status}, so tests drive this without a
nested gate run.