Skip to content

Verdicts & merge blocking

Each gate produces a verdict; the pipeline combines them into one internal conclusion and then translates that conclusion at the GitHub Checks boundary. The rules are deterministic — no gate result is ever averaged away.

Verdict Internal state GitHub check conclusion Meaning
PASS success success Gate found nothing blocking
WARN action_required neutral Gate found something worth a human look
BLOCK / fail failure failure Gate found a confident, merge-blocking problem
gate_conclusion starts as "success"
Alpha WARN → action_required
Alpha BLOCK → failure
Gamma fail → failure (hard override)
Gamma pass → reverts an earlier WARN back to success
Delta fail → action_required (only if currently "success")
Beta fail → failure

These are internal pipeline conclusions. When the run completes, QualityMax publishes internal action_required as GitHub neutral; all other terminal conclusions are published unchanged. The UI and stored run therefore retain the warning even though a required GitHub check remains mergeable.

Three properties fall out of these rules:

  • Strictest wins. Any hard failure anywhere fails the whole run. A passing gate can never downgrade a failure.
  • A green native suite redeems an Alpha warning. Gamma passing is treated as evidence that Alpha’s warning was noise, and the conclusion returns to success.
  • Delta cannot fail a run. Generated-test failures surface as action_required at most — see Gate Delta for why.

Only three things hard-block: an Alpha BLOCK (confident critical finding), a Gamma test failure (your own suite is red), or a Beta failure (the deployed preview is broken). Everything else — warnings, Delta noise, skipped gates — leaves the PR mergeable with annotations attached through a neutral or successful check.

Point branch protection at the pipeline check if you want gates to be enforced. Skipped gates do not fail the check — a repo with no Rust code is not penalized for Gamma skipping.