Skip to main content

Synopsis

geval check --contract <path> [--contract <path> ...] --signals <path> [options]
Required
  • --contract / -c — Contract YAML. Repeat for multiple contracts in one run (e.g. multiple teams’ gates on one PR).
  • --signals / -s — Signals JSON file shared across those contracts.

Common options

OptionDescription
--signals / -sPath to signals JSON.
--contract / -cContract path; repeat for each contract.
--combine-contractsHow to merge outcomes across contracts (worst_case default).
--env / -eOptional environment label (e.g. prod); forwarded where reports use it.
--jsonPrint structured JSON to stdout instead of a human report.

Examples

Single contract
./geval check --contract .geval/contract.yaml --signals .geval/signals.json
Multiple contracts
./geval check \
  -c team-a/contract.yaml \
  -c team-b/contract.yaml \
  --signals signals.json
JSON for automation
./geval check -c contract.yaml --signals signals.json --json

Exit codes

CodeOutcome
0PASS
1REQUIRE_APPROVAL
2BLOCK
Non-zero process exit from Geval on parse/load errors follows normal shell conventions (see Exit codes).

Artifacts

Successful runs write a decision artifact under .geval/decisions/ — see Decision artifacts.

See also

explain · validate-contract · GitHub Actions