Agentic Eval Flow

Make AI artifact evaluation
automated, measurable, and observable

Tekton-orchestrated pipeline on OpenShift that evaluates skills, agents, and MCP servers through A/B testing, statistical analysis, and multi-gate certification.

Python 3.11+ Apache-2.0 Tekton / OpenShift PostgreSQL MLflow Agent-Eval-Harness
Get Started View on GitHub

Made At Red Hat


How the Pipeline Works

Stages run the work. Gates decide the outcome - one scorecard, one certification decision.

1

Prepare

Clone, validate structure, generate missing test artifacts

2

Test

Pre-trial gates - security scan and LLM quality review

Security Quality
3

Evaluate

Engine trials - compare variants or score a single run - plus behavioral edge cases

Single + A/B compare Behavioral
4

Analyze

Gates merge here into scorecard + certification

Scorecard
5

Store

Persist results to PostgreSQL, MinIO, and MLflow

Multi-Gate Scorecard

Each gate can block, warn, or be disabled. Combine with all_pass, any_pass, or weighted.

Security

Prompt injection, exfiltration, policy findings

Quality

LLM review for coherence, coverage, clarity

Evaluation

Single or A/B results - uplift, pass rates, significance

Behavioral

Edge-case and adversarial robustness trials

One recommendation - Foundational → Trusted → Certified
Foundational

Valid structure, basic security, basic execution, quality review, and metadata compliance.

Trusted

Eval assets present, stronger security, functional validation, and instruction quality.

Certified

Enterprise structure and security review, advanced agent validation, and behavioral testing.

Levels are hierarchical: Certified requires Trusted; Trusted requires Foundational.

Evaluation Engines

Choose the right engine for your artifact type and evaluation needs.

EngineEvaluatesModeIsolation
Agent-Eval-Harness (AEH)Agents, skillsJudge-based evaluation + A/B (treatment vs control)Per-trial pods
Agent-Skill-Eval (ASE)SkillsA/B (LLM-as-judge)Single-task pod
A2AA2A-protocol agentsA/B (treatment vs control) + Single EvalPer-trial pods
MCPCheckerMCP serversTask-based verificationSingle-task pod

Connectivity & Triggers

Kick off evaluations from the systems you already use. Tekton EventListeners accept webhooks for pull requests and image pushes - sources and filters are configurable per deployment.

GitHub

PR and push webhooks on submission or config repos. Opens, updates, and merges can start a PipelineRun.

GitLab

Merge-request and push hooks with the same EventListener pattern - wire your GitLab project to the OpenShift route.

Quay

Repository notifications on image push. Evaluate a newly published tag without a manual trigger.

Complete Observability

Every pipeline run is tracked end-to-end - from gate scores to LLM token usage.

Normalized Database

PostgreSQL tables: scorecards, gate results, certifications, and observability metrics. Query evaluation history with simple SQL.

Token & Cost Tracking

Real LLM token counts captured per pipeline run. Track prompt/completion tokens, model usage, and estimated costs.

MLflow Integration

Auto-logs experiments, metrics, tags, and artifacts. One experiment per submission, run comparison out of the box.

MinIO Artifact Storage

Reports, scorecards, security scans, and debug artifacts stored with full provenance.

Statistical Rigor

Each variant runs N configurable repetitions (default 20 per arm - treatment + control). Stats are computed across those trials so noisy single runs don’t decide the gate.

N repetitions

Configurable via n-trials / metadata. Same task is executed N times per variant to estimate pass rate and mean reward with real variance.

Welch's t-test

Compares mean reward between arms when sample sizes or variances differ - stronger than a single-run delta, especially when N is modest.

Fisher's Exact Test

Tests whether pass/fail counts differ significantly between treatment and control (good fit for binary outcomes at typical N).

Uplift & Pass Rates

Reports treatment vs control pass rates, uplift gap, mean reward, and confidence metrics used by the evaluation gate.

Get Started

Submit an AEH package to OpenShift. Pick the flow that matches what you are evaluating.

Skill evaluation

Score a skill end to end (SKILL.md under test).

  1. Submit the skill plus meta files: metadata.yaml and eval.yaml (can be auto-generated)
  2. metadata.yaml - configures the pipeline for your submission. Recommended defaults are built in - override only what you need
  3. Provide cases / datasets for evaluation under cases/
  4. Optionally add submitter edge cases under edge_cases/ (used alongside auto-generated ones)
  5. Run via the pipeline (eval_engine: aeh)
my-skill-eval/
  metadata.yaml       # name (required) + eval_engine: aeh
  eval.yaml           # skill, judges, thresholds (can be auto-generated)
  skills/
    my-skill/
      SKILL.md
  cases/
    case-001/
      input.yaml
      annotations.yaml
  edge_cases/         # optional - .md cases; pipeline also auto-generates from SKILL.md
    tricky.md

The pipeline generates skill-specific edge cases from SKILL.md (cached domain library + LLM fallback). Submitter edge_cases/ is optional and evaluated alongside generated ones.

Agent evaluation

Score whether an agent can navigate and use docs/APIs (prompt / agentic-docs mode).

  1. Submit meta files: metadata.yaml and eval.yaml (prompt/docs config; can be auto-generated)
  2. metadata.yaml - configures the pipeline for your submission. Recommended defaults are built in - override only what you need
  3. Provide cases / datasets for evaluation under cases/
  4. Run via the pipeline - no skill package required
my-agent-eval/
  metadata.yaml       # name (required) + eval_engine: aeh
  eval.yaml           # prompt / docs-focused config (can be auto-generated)
  cases/
    case-001/
      input.yaml      # agent task / question
      annotations.yaml

Push & trigger

Skill evaluation - commit or open a PR on the submissions repo. GitHub / GitLab webhooks start the CI pipeline (security + quality gates included). Use aeh-mode: single or pairwise for A-only vs A/B.

git clone https://github.com/RHEcosystemAppEng/skill-submissions.git
cp -r my-skill-eval submissions/
git add submissions/my-skill-eval && git commit -m "Submit skill eval" && git push

Agent evaluation - two trigger styles (configurable):

  • Git PR / push - submission package with cases + eval.yaml (full CI path when configured)
  • Quay image push - evaluate a newly published agent image (ephemeral deploy). Monitoring-style runs focus on agent eval and skip security / quality gates

Where Results Live

PostgreSQL

Evaluation runs, trials, scorecards, gate results, certifications, observability metrics - all queryable.

MinIO

report.json, report.md, scorecard.json, security scans, debug artifacts - full provenance per run.

MLflow

Experiment tracking with metrics, parameters, tags, and artifacts. Compare runs across submissions.