Skip to main content
Evals are project-defined quality checks in evals/. Run them locally with veryfront eval <eval-id> and store JSON or JUnit reports in CI.

Prerequisites

  • A Veryfront project with an agents/ directory.
  • An agent target such as agent:researcher.
  • A dataset with stable example IDs.

Quick start

Create an eval file:
Run it:
Write machine-readable reports:
Use JSON mode for automation:

Datasets

Use inline data for smoke coverage:
Use JSON for larger suites:
Use JSONL when each example should be reviewed as a single line:

Metrics

Use deterministic metrics for stable requirements:
Use agent and operational metrics for tool and budget quality:
Use rubric judges for semantic quality. Inject the judge function from your project so the eval definition stays portable:

Checks

Use check for assertions that depend on the full record:

Discovery

Eval files are discovered from evals/:
Set ai.evals.discovery.paths in project config to use a different directory.

Studio editing

Studio can list eval definitions, show source location, and expose form fields for stable parts of the definition: name, target, dataset source, repetitions, tags, metadata, and metrics. If code is dynamic, Studio should fall back to source editing for the same file. Use createEvalSourceDocument(discoveredEval) to normalize a discovered eval for Studio panels. The document exposes editableFields, dynamicFields, source.filePath, source.exportName, dataset metadata, metric metadata, and the eval capabilities required by the panel. Use project.evals.read for listing reports and definitions. Use project.evals.write for editing eval source definitions. Triggering an eval run also records a canonical run with kind eval when the durable run API is used.

Verify it worked

List discovered evals:
Run the eval locally:
The command exits with status 0 when all gate and budget checks pass. It exits with status 1 when any gate or budget check fails.