Help
Troubleshooting
Tutorial: Debugging a failed gate
Gate failure triage
Symptom → verify → fix. Always treat GET /compliance-summary JSON as the source of truth.
Likely cause: Missing required evidence types and/or unmet approval / promotion prerequisites.
Verify
Expected: Structured JSON with non-empty missing_evidence or blocked_reasons
Next step: Replay the auditability scenario vocabulary for your policy pack, then append the missing events (see benchmarks/auditability-failures).
Audience#
Engineers responding to a red govai check or failing GitHub Action.
Steps#
-
Fetch the compliance summary (replace host and id):
-
Read
missing_evidenceandblocked_reasonsarrays in the JSON payload. -
Cross-reference with the auditability scenario vocabulary in
../../benchmarks/auditability-failures/README.md. -
If the failure is documentation drift, run:
Expected outputs#
- A structured JSON object explaining why the verdict is not
VALID. - Local gates print human-readable failures (for example missing markdown headings).
Common failures#
| JSON hint | Meaning |
|---|---|
missing_evidence non-empty | Required event types absent |
blocked_reasons mentions approvals | Approval or promotion prerequisites not met |
| digest errors (when surfaced) | Chain or artefact mismatch |
Screenshot slot#
- jq-formatted summary with secrets redacted.
Teaching narrative#
Treat the compliance summary as the single source of truth for gating; avoid guessing from CI logs alone.