What runs in CI
- Checkout — Your committed
.geval/(contract + policies) is on the runner. - Signals — Either use a committed
signals.jsonor generate one in a step (LangSmith, other tools, orcpfrom a known path). geval validate-contract— Fast validation without signals.geval check— One or more--contractpaths, one--signalspath.- Policy — Fail the job on exit
2(BLOCK); optionally treat exit1(REQUIRE_APPROVAL) differently—see GitHub Actions.
Committed signals (no generator)
Generated signals (e.g. LangSmith)
Sketch with validate
Artifact upload
Upload.geval/decisions/*.json for audit. See Decision artifacts.