Skip to main content

Successful evaluation (geval check, geval demo)

These commands exit with: This ordering is intentional: many systems treat non-zero as “needs attention,” while 1 vs 2 lets you distinguish approval from hard block if you script it. For GitHub Actions patterns (labels, follow-up jobs, Slack, geval approve), see Handling REQUIRE_APPROVAL: extra logic on the GitHub Actions page.

Configuration and parse errors

If the contract cannot be loaded, policies are missing, or signals JSON is invalid, the process exits non-zero with an error message on stderr — treat as pipeline misconfiguration, not as a policy BLOCK. Always run geval validate-contract in a separate CI step if you want fast feedback without signals.

Example shell handling

JSON output

geval check --json prints structured decision data to stdout; exit codes still apply the same way.

See also

check · GitHub Actions