Skip to main content
Geval is a single static binary. You supply signals (evidence from your pipeline or evals) and policies written as YAML rules. Geval applies your rules and returns a single reconciled outcome for CI and humans — no hidden scoring engine, no vendor-specific eval format.

Watch the demo (YouTube)

Video walkthrough: signals, policies, and outcomes (PASS / REQUIRE_APPROVAL / BLOCK).

Quickstart

Run the built-in demo in under a minute, then scaffold a real contract with geval init.

What Geval does

You provideGeval does
Signals — JSON facts (metrics, scores, presence-only flags)Builds a graph of evidence for rule matching
Contract — lists policy file pathsLoads every referenced policy
Policies — ordered rules (when / then)Evaluates rules, picks winners by priority, merges outcomes
Outcomes: PASS, REQUIRE_APPROVAL, or BLOCK — with exit codes 0, 1, and 2 for automation. What Geval is not: an eval runner, a model, or a hosted API. It does not invent thresholds; you encode them in policy YAML.

Documentation map

Install the binary

Linux, macOS, Windows — download from GitHub Releases or build from source.

Contracts & policies

How a contract references policies and how policies combine inside a contract.

Signals & rules

Non-uniform signals, operators, priorities, presence rules.

CI/CD

GitHub Actions, GitLab CI, exit codes, artifacts.

Tools

  • Config generator — browser UI to produce contract.yaml and policy YAML, then validate with geval validate-contract and run geval check.

Open source

Source and releases: github.com/geval-labs/geval.