Swazona Gate · for developers

Verdict and evidence

What each run publishes, what its result means, and how to verify it yourself.

The three outcomes

The check run concludes one of three ways:

  • Successevidence was verified and published, and the verdict was clean or its findings were advisory-only.

  • Failureblocking findings in enforce mode, a rejected input, or an evidence-verification failure. Fail-closed: an unreadable ruleset, an unobtainable diff, or a GitHub API error is never a pass.

  • Neutralshadow mode with blocking findings, or a pre-verdict infrastructure failure while shadow mode is active.

What's in the evidence artifact

swazona-evidence.json is a single, schema-versioned JSON file recording one run. The check summary and PR comment are separate, human-readable outputs, and the file itself is the named artifact you download to verify a run. Among the evidence file's own top-level fields:

  • head_sha, base_sha and result_sha256 bind the record to the exact commit and diff reviewed.
  • digests carries hashes of the diff, ruleset, cache key and prompts used.
  • findings, refuted, discarded, unknowns and not_checked record what the gate found and what it didn't check.
  • cost, trust and attestation record model spend, provenance signals, and the attestation mode and whether one was required — the outcome itself is written to a separate swazona-attestation artifact.

Attestation

Attestation records that GitHub itself built the evidence artifact you are looking at. It runs in one of three modes:

  • autoattempted when the repository is public and the workflow has permission; recorded and skipped otherwise.

  • truerequired; a failed or unavailable attestation fails the run.

  • falseattestation is skipped. auto also skips private repositories by default.

Terminal
gh run download <run-id> -R <owner>/<repo> -n swazona-evidence-<invocation-id> -D swazona-evidence
cd swazona-evidence
Terminal
gh attestation verify swazona-evidence.json -R <owner>/<repo>

The invocation id inside the artifact names above (swazona-evidence-<invocation-id>) ties a check run to its evidence and, when present, its attestation. A run with no attestation record has nothing beyond the artifact itself to verify against.

Private repositories

attest: auto skips private and internal repositories, because the probe cannot see the plan; the evidence records that attestation was unavailable. On GitHub Enterprise Cloud you can set attest: true to require it there too.

What isn't checked

Model-tier findings are advisory unless you opt in to let them block, and once a run's model spend reaches its cap, the remaining files are reported as not reviewed rather than silently skipped.

Not a developer?See Swazona for founders
JUMPESC TO CLOSE
NAVIGATE
ACTIONS