EvalGate CLI command reference
Complete reference for EvalGate CLI authentication, repository linking, gates, CI integration, trace labeling, failure analysis, judge orchestration, and auto loops.The EvalGate CLI is the fastest way to run regression gates, analyze failure patterns, and automate prompt improvement without leaving your terminal. Run TypeScript CLI commands with
npx @evalgate/sdk <command> for zero-install usage, or add @evalgate/sdk to your project and run the same commands through your package manager.
The local CLI gate is Experimental, matching feature status.
Start with the five-minute local gate. In the first
hour, use gate; CI modes compares later ci and
hosted check, their evidence, credentials, costs and blocking reasons.
Removed commands return targeted, non-mutating migration guidance in both CLI
routers; use the migration table below to select the current command. They never
silently provision credentials or apply a scaffold.
Local core and hosted boundary
The MIT-licensed CLI gives cloud coding agents a credential-free local execution path.init --local performs project discovery and scaffolding with no account,
browser, organization, GitHub remote, API key, or network request and creates no
hosted identity. Spec execution, baseline updates, and regression gates then run
in the checkout. Browser-approved login and durable repository link are a
separate optional hosted path. Exact commit and remote-head details remain cloud
activation snapshots, not durable link identity. Baselines and local evidence
remain reviewable files that can run in any CI provider.
The hosted control plane is additive. Connect it for shared history, managed
traces, team review, access control, and organization policy. Local gates remain
available when the hosted service is not configured.
Start a cloud-agent sandbox locally
local describes where evaluation executes; the intended caller may be a
remote coding agent. JSON and non-TTY init is preview-only without explicit
--apply.
Add hosted repository collaboration
The normal human path uses browser-approved device authorization and does not print or ask you to copy an EvalGate credential:link detects the GitHub origin, current symbolic branch, exact local HEAD,
and repository root. It previews the server-owned intake contract pinned to that
exact target and asks before applying in a TTY. Branch movement does not unlink
the project, and EvalGate never silently substitutes the remote branch head.
For agents and CI, mutation remains explicit:
understand, init,
health, baseline, and gate commands can run without a network round trip.
status keeps durable linkage, checkout movement, cloud snapshot, and readiness
separate. A checkout behind its tracked branch can remain linked, locally
gate-ready, and cloud-targetable. Ahead or unpushed work needs the exact commit
pushed before cloud evidence; diverged work needs an explicit appropriate branch.
Dirty worktree state is reported independently because Git SHA alone cannot
reproduce uncommitted changes.
- TypeScript (npx)
- Python
@evalgate/sdk
package on npm, including credential-free init --local when that release
advertises it. Discover commands with npx @evalgate/sdk --help and
capabilities --format json; do not assume a source-tree command is
published.
The Python package evalgate-sdk==3.13.1 on PyPI ships the same release
line; run pip show evalgate-sdk to confirm what is installed.Navigate by outcome
Both CLIs expose the same versioned capability map. Start here when you know the job you need to accomplish but not the internal command name:Stable exit codes
The process exit status is the shell/CI result. JSON reports may additionally carryeffectiveExitCode and releaseReady when preview mode or evidence
policy separates process completion from the release decision. The complete,
version-bound contract is available from evalgate capabilities --format json.
Call any public API operation
The TypeScript CLI’sapi command consumes the generated public operation registry. This gives automation a single command for every operation in the API reference without falling back to private routes or database helpers. Treat it as an escape hatch for advanced automation; evalgate capabilities and the native workflow commands are the primary navigation surface.
--path name=value, --query name=value, and --header name=value more than once when an operation declares multiple inputs. --body accepts inline JSON or @path/to/body.json. Machine mode writes the exact successful API envelope to stdout; failures write a stable JSON error containing code, message, status, requestId, and exitCode. Ctrl-C aborts the active request and exits 130.
Red-team release evidence
To supply a local release gate with durable Red-Team evidence, request the specific completed run that the release is based on:redTeam.expectedAttestationPublicKeySha256, checks the configured organization,
campaign snapshot, and exact release target, then atomically writes
.evalgate/red-team-evidence.json. It compiles identity,
completion, provider, attack, benign-utility, finding, remediation, golden,
signed-report, and framework-reference evidence from that run. It does not
execute a campaign or choose the latest run. A required local redTeam policy
must pin the exact artifactId, versionId, and 64-character contentHash
being released; the gate rejects missing, malformed, stale, mismatched,
cross-organization, incomplete, or unverifiable evidence. Do not hand-author
the JSON file or substitute a source-checkout digest for the hosted release
target.
A bare redTeam.required: true uses pre_release_strict: complete and fresh
campaign evidence, attributable costs, compiler attestation, zero successful
attacks, and 100% benign utility. It intentionally does not require a
finding-scoped remediation report, so a clean first campaign can pass. Use
post_remediation_strict when admitting a repaired finding; it additionally
requires the baseline/fixed rerun comparison, no introduced fingerprints,
active golden coverage, and an exact-hash signed report. The legacy strict
name remains an alias for pre_release_strict. Pin expectedTarget,
expectedOrganizationId, expectedSnapshotHash,
expectedAttestationKeyId, and expectedAttestationPublicKeySha256 in
evalgate.config.json. Use policyProfile: "custom" only for a reviewed policy
exception. A fresh CI job runs evalgate red-team evidence --run <run-id>
before evalgate gate; it never receives the server’s private signing key.
In machine mode, export failures emit one JSON error envelope. Invalid
arguments/configuration exit 5, API/auth/network failures exit 4, artifact
integrity or identity-policy failures exit 3, local writes exit 11, and
unexpected defects exit 99.
Campaign creation, approval, and execution remain explicit actions requiring
the appropriate Red-Team permissions. Fetching release evidence is a read-only
compilation step.
Setup and initialization
evalgate understand - infer and confirm product context
evalgate understand - infer and confirm product context
--depth deep or --deep for a broader local scan. Both modes preview
by default.- TypeScript (npx)
- Python
--format json returns the complete plan
envelope, while --format jsonl emits typed scan, evidence, theory, risk,
question, and completion events for agents and automation. --json is an
alias for JSON output.Preview writes nothing. It performs no network or model calls, executes no
project commands, inspects or changes no Git state, and does not modify
baselines, promote cases, or install telemetry. After review, --apply
writes the canonical context to evalgate.product.json. A custom
--output must remain inside the selected project root.npx @evalgate/sdk init — preview and scaffold a project
npx @evalgate/sdk init — preview and scaffold a project
init --local is the credential-free cloud-agent path and creates no hosted context; plain init is the hosted-linked variant. In a TTY bare init previews and asks before applying. Explicit --preview never asks or writes. JSON and non-TTY calls remain non-mutating unless --apply is explicit. Init creates a pending baseline without executing tests or accepting results. It never mints or accepts an implicit activation key.The JSON plan includes project.aiUsage with evidence-backed agent frameworks, model providers, observability libraries, and tool protocols. Declared dependencies are high confidence; exact source imports are medium confidence. init --apply preserves the same evidence under agentRuntimeRegistry.discovery in evalgate.config.json and chooses a default runtime only when one framework is unambiguous.Discovery is local, bounded, and deterministic. It ignores dependency/build/virtual-environment directories, does not read .env files, and never guesses credentials or model names.yarn alias,
Yarn Classic, Yarn Modern, Bun, Deno, pip, uv, Poetry, Pipenv, PDM,
Conda, Mamba, Hatch, Pixi, and explicit custom JSON argv. Conflicting
JavaScript or Python/environment markers stop the plan. Repeat
--package-handler <id> for an explicit polyglot composition; gate and
baseline update execute every runnable handler from its owning root.baseline update accepts only successful current evidence from the exact
clean source that was evaluated. A pending baseline is not release-ready,
and generated CI never updates, commits, or pushes one. The local gate
writes its canonical release decision to .evalgate/last-report.json and
detailed deltas to evals/regression-report.json.Then commit the generated files and push to trigger your first CI gate:Migrate removed 3.8.x commands
Migrate removed 3.8.x commands
BAD_ARGS (exit 5)
and targeted next actions. JSON mode emits one document and redacts
secret-like arguments.npx @evalgate/sdk doctor — environment diagnostics
npx @evalgate/sdk doctor — environment diagnostics
--quick when you also want account and platform connectivity checks.npx @evalgate/sdk health — on-demand application health
npx @evalgate/sdk health — on-demand application health
--format github appends the measured reasons to the PR Step Summary. The
repository evalgate-application-health Skill helps a coding agent create
the manifest and prepare a reviewed change; it does not edit or merge code
automatically.Python projects use the parity command:npx @evalgate/sdk harness — optimize agent work locally
npx @evalgate/sdk harness — optimize agent work locally
evalgate harness optimize and
evalgate harness feedback. evalgate init --apply installs the portable
evalgate-harness-optimization Skill in .agents/skills/ so a coding agent
can explain the result and prepare the change without requiring a cloud
connector.After the base-vs-candidate eval has passed, record validated feedback,
then plan one managed Skill edit:--apply authority flag and the matching
validated report hash. EvalGate changes only its own deterministic managed
block, refuses stale/out-of-repository/symlink targets, and writes rollback
metadata under .evalgate/harness-mutations/:Gate and CI
Stability policy for probabilistic checks
An LLM call or model-judge verdict is not deterministic just because it runs in CI. Build hard gates on deterministic assertions where possible. For probabilistic checks, pin model and judge configuration, execute independent trials with the SDK’srepetitions option, set an explicit minimumPassRate,
and fail or quarantine evidence reported in flakyCases. Retries are transient
recovery attempts within a trial; they are surfaced as flaky evidence and
should not be used to retry a verdict until it passes.
A seed makes EvalGate’s case ordering reproducible but cannot prevent an
external provider from changing a model. Recalibrate release-blocking judges
against labeled examples, require the CLI’s judge TPR/TNR and minimum-sample
thresholds, and keep the resulting credibility evidence with the gate report.
Exit code 10 means the configured judge is not credible enough to block a
release safely.
Before any provider call, the auto editor and SDK model-assertion boundary
reject common instruction overrides, role spoofing, and judge-score coercion in
untrusted evaluation text. A security rejection fails closed and never falls
back to an automatic prompt mutation. The check --onFail import network
boundary recursively redacts nested secrets and common PII from the complete
failed-run envelope; this convenience upload path has no raw-data opt-out.
npx @evalgate/sdk gate — run the regression gate locally
npx @evalgate/sdk gate — run the regression gate locally
2 for a regression; see Stable exit codes).npx @evalgate/sdk ci — one-command CI gate
npx @evalgate/sdk ci — one-command CI gate
--base is provided. Add --impacted-only to run only specs affected by the current diff.npx @evalgate/sdk check — platform gate
npx @evalgate/sdk check — platform gate
EVALGATE_API_KEY). Use --onFail import to upload failed run context to the dashboard for review.npx @evalgate/sdk baseline update — refresh the baseline
npx @evalgate/sdk baseline update — refresh the baseline
Labeling and analysis
npx @evalgate/sdk label — interactive trace labeling
npx @evalgate/sdk label — interactive trace labeling
u to undo the previous label. Press Ctrl-C to save progress and exit.npx @evalgate/sdk analyze — failure-mode frequency report
npx @evalgate/sdk analyze — failure-mode frequency report
npx @evalgate/sdk failure-modes — configure failure-mode taxonomy
npx @evalgate/sdk failure-modes — configure failure-mode taxonomy
label, and optionally seeds or extends your evalgate.config.json alert weights.failureModeAlerts.modes in config and used by analyze and gate alerting.npx @evalgate/sdk replay-candidate — inspect a stored candidate for replay
npx @evalgate/sdk replay-candidate — inspect a stored candidate for replay
replay alias is deprecated — prefer replay-candidate.npx @evalgate/sdk replay-decision — compare two runs
npx @evalgate/sdk replay-decision — compare two runs
Agent evidence and enterprise controls
npx @evalgate/sdk run-cli — run a command with evidence capture
npx @evalgate/sdk run-cli — run a command with evidence capture
--local).npx @evalgate/sdk mcp — inspect, audit, or proxy MCP servers
npx @evalgate/sdk mcp — inspect, audit, or proxy MCP servers
--format json for machine-readable audit output. Critical findings block by default; use --fail-on high (or low, medium, critical) to set the CI threshold. Use --strict-persistence separately when evidence must land on the platform.npx @evalgate/sdk controls — inspect enterprise guardrails
npx @evalgate/sdk controls — inspect enterprise guardrails
EVALGATE_API_KEY with access to /api/system/controls.Repository intelligence and evaluation packs
Use the local activation path first. After the gate is working and GitHub is connected, scan an exact commit, review the evidence, and then install coverage:Advanced
npx @evalgate/sdk cluster — group similar failures
npx @evalgate/sdk cluster — group similar failures
npx @evalgate/sdk synthesize — draft quarantined eval cases
npx @evalgate/sdk synthesize — draft quarantined eval cases
npx @evalgate/sdk auto — bounded autonomous prompt-improvement loop
npx @evalgate/sdk auto — bounded autonomous prompt-improvement loop
auto run and every auto daemon cycle execute with .evalgate/auto/program.md itself, so its mutation families, adaptive-loop, swarm and stop conditions apply to unattended cycles too. budget.max_experiments caps a run; daemon.max_experiments_per_cycle sets the per-cycle budget.The loop splits the cases into three populations by source family (a family:<name> tag, otherwise the spec file), so cases derived from the same source never straddle populations. holdout.ratio sizes the selection population and holdout.confirmation_ratio the confirmation population; everything else is development. The assignment is written once to .evalgate/auto/populations.json and existing families never move; new families are placed as they appear.- The editor sees failures from development cases only.
- Baseline and candidates run development and selection cases. A candidate that regresses any selection case is discarded, whatever its development gain.
- Confirmation cases are never run, shown or read by the local loop. They are left for an independent confirmation of the frozen candidate.
.evalgate/auto/ledger.jsonl, schema 2) records whether each dimension was measured. The selection population is recorded as the measured holdout, with its regression count; when there are too few source families to reserve one, the holdout is recorded as unavailable rather than as zero regressions. Cost is recorded only when the runs report it (for example with a cost budget source); otherwise it is unavailable, and auto history reports that spend as not measured instead of counting it as zero. Rows written by schema 1 are read back with holdout and cost unavailable.When program.md contains review: required: true (the auto init template does), auto run refuses to start until the plan is approved. auto review prints the plan: populations (confirmation only as counts and a digest), graders, protected slices, mutation target and spend bound, each with a risk level. auto review --approve records who approved which plan hash in .evalgate/auto/review.json; high-risk items must be accepted explicitly with --accept-risk <id>. Any change to the plan (a new case, a different budget) requires a new approval.auto contract --intent "…" compiles what you want (“Fix tone mismatch in the prompt. Keep accuracy within 1%. At most 5 experiments. Spend up to $3.”) together with program.md and the current measurement into .evalgate/auto/contract.json; without stated intent the contract is compiled from program.md. The contract is part of the reviewed plan, and auto run enforces it while executing:- Only the editable prompt may change. Spec files, grader helpers (
dependsOn.code), datasets,evals/baseline.json,program.mdandevalgate.config.jsonare immutable. If they changed since the contract was compiled, the run refuses to start. If a candidate’s execution changes any of them, the candidate is refused, the approved files are restored, and the refusal is kept in.evalgate/auto/details/*-execution.json(no ledger score is recorded). - The run may not ask for more trials than the contract allows. Once execution spend exceeds a stated limit, or can no longer be measured against it, the loop stops before the next candidate.
- Confirmation cases are never requested.
- Authority is fixed: the loop proposes and tests, EvalGate qualifies, and a person adopts and merges. Clauses the compiler does not understand are listed in the review and must be accepted by name (
--accept-risk contract-unrecognized-intent).
contractHash it ran under.After a run, hand the kept candidate to people and to EvalGate:auto freezepins the kept candidate by content hash. It commits the candidate to an isolated branch (evalgate/auto/<session>) through a temporary git worktree and restores your working tree to the base content. If the working-tree prompt is not byte-identical to a kept candidate, the freeze is refused.auto reportwrites.evalgate/auto/report.md. It covers every candidate tried and its hypothesis, and development and selection pass rates with 95% intervals. It also includes cost and latency with their boundaries, cheaper candidates that failed and the cases they broke, the exact sentences added and removed, spend, and limitations. The report states that the candidate is not confirmed.auto exportwrites.evalgate/auto/campaign.json(evalgate.auto-campaign/v1). It carries the base and candidate commits and content hashes, the contract, and the development and selection observations. Confirmation cases appear only as a count and a digest.auto proposeruns all three. It prints a draft pull request command;--pushpushes the branch and--open-propens the draft withgh. Nothing merges or deploys.
auto dispatch is the command a scheduler calls (a nightly CI job, a cron). It runs the reviewed plan exactly as approved, in a detached git worktree of the committed base with a copy of .evalgate/, so your checkout is never touched. It refuses with exit code 3 instead of running when:- program.md does not require review, or no plan is approved;
- the plan changed since it was approved (cases, graders, budgets, contract or measured files), or the approval is older than
--approval-max-age-days(default 14); - tracked files have uncommitted changes;
- another dispatch holds the lock (a lock left by a dead or expired dispatch is recovered and that dispatch is recorded as abandoned);
- this approval was already dispatched
--max-per-approvaltimes (default 3).
.evalgate/auto/program.md, populations.json, contract.json and review.json. Approving again (auto review --approve) and committing review.json is how a person renews or changes what the schedule may run.Dispatch state must outlive the checkout. Idempotency, the per-approval cap and overlap protection are only as durable as the record of earlier dispatches. A CI job starts from a fresh checkout, so --state-remote origin keeps that record as refs on the remote (refs/evalgate/dispatch/*): the lock, one record per dispatch, and cancel requests. Every write is a compare-and-swap push, so two scheduled jobs cannot both take the lock or the same attempt. Under CI (CI set) dispatch refuses with EPHEMERAL_STATE without --state-remote; pass --local-state only when the workspace persists between runs (a workstation, a self-hosted runner with a persistent workspace). If the remote cannot be read or written, dispatch refuses with STATE_UNAVAILABLE and nothing runs.The same approval and commit are dispatched once; a second trigger is a no-op. --max-runtime-minutes (default 120) stops a run on top of the contract’s trial and spend limits, and auto dispatch --cancel (with the same --state-remote, from any machine) stops the running one. Stopping terminates the loop’s whole process tree, including eval and provider subprocesses: SIGTERM, then SIGKILL after 10 seconds, and the worktree is removed only after every process has exited. A kept candidate is frozen on its own branch with a report and export under .evalgate/auto/dispatches/<id>/; --open-pr pushes it and opens a draft pull request. Nothing merges. auto dispatch --status lists recent dispatches.npx @evalgate/sdk auto). The Python CLI’s evalgate auto run and evalgate auto daemon do not read program.md; they build a report from run artifacts you supply.npx @evalgate/sdk import inspect — check an external optimization result (conditional)
npx @evalgate/sdk import inspect — check an external optimization result (conditional)
import first shipped in @evalgate/sdk@3.12.5; 3.12.4 and earlier do
not include it. If import is absent from the installed help and
capability map, preserve the artifact and report the unsupported boundary;
do not invent a hosted import route.When import is advertised, import inspect reads a result another tool
produced and checks it independently. Supported today: Anthropic
hillclimb/v2 (state.json from a build-eval or hillclimb run). EvalGate
recomputes every score from the per-case observations and reports what the
evidence supports and what it cannot establish.DISAGREES WITH OBSERVATIONS, and EvalGate uses the recomputed winner. The paired delta is reported per case (reps averaged within each case, attempts counted separately) with a descriptive 95% interval, because the source cannot establish case independence and the candidate was selected on those cases. A content-addressed diff identifies the imported change, not the program that ran. Reported experiment spend, recomputed spend, candidate operating cost and verification cost are reported separately and never combined. A test split is a label and not a sealed holdout, a report hash identifies files and not the program that produced them, errored attempts are kept out of scores, and cost without model and token usage is unverified. Duplicate (case, rep) rows or undeclared variants are refused and nothing is imported. The command is local and read-only: no network, no credentials, no files written. Exit 0 means an assessment was produced, not that a candidate is ready; 5 means the document was refused; 11 means the file could not be read.npx @evalgate/sdk discover --manifest — refresh the spec manifest
npx @evalgate/sdk discover --manifest — refresh the spec manifest
baseline update and gate refuse with COVERAGE_NOT_REGISTERED (exit 7) and name the untracked or stale files. Refreshing the manifest does not accept a baseline; review and commit the eval source, then run baseline update.Judge commands
npx @evalgate/sdk judge registry — list available judges
npx @evalgate/sdk judge registry — list available judges
npx @evalgate/sdk judge presets — list judge presets
npx @evalgate/sdk judge presets — list judge presets
npx @evalgate/sdk judge test — test a judge configuration
npx @evalgate/sdk judge test — test a judge configuration
npx @evalgate/sdk judge compare — compare two outputs
npx @evalgate/sdk judge compare — compare two outputs
Judge credibility config
Configure judge credibility thresholds and failure-mode alerts inevalgate.config.json at the root of your project:
8 (WARN) instead of using a potentially biased score. When labeled sample count is below minLabeledSamples, bootstrap confidence intervals are also skipped — both conditions emit reason codes into the judgeCredibility block of the JSON report.
Complete command index
Every registered EvalGate CLI command. Runnpx @evalgate/sdk <command> --help for the same text in your terminal.
evalgate analyze — Analyze labeled golden dataset failure modes (first pass)
evalgate analyze — Analyze labeled golden dataset failure modes (first pass)
evalgate api - call any public operation from the verified OpenAPI contract
evalgate api - call any public operation from the verified OpenAPI contract
evalgate auto — Plan, run, or daemonize budget-aware experiment iterations
evalgate auto — Plan, run, or daemonize budget-aware experiment iterations
evalgate baseline — Manage regression and repository baselines
evalgate baseline — Manage regression and repository baselines
evalgate check — CI/CD evaluation gate (API-based)
evalgate check — CI/CD evaluation gate (API-based)
evalgate ci — One-command CI loop (manifest → impact → run → diff)
evalgate ci — One-command CI loop (manifest → impact → run → diff)
evalgate cluster — Group similar traces for faster cluster-level review
evalgate cluster — Group similar traces for faster cluster-level review
evalgate compare — Side-by-side result file comparison
evalgate compare — Side-by-side result file comparison
evalgate connect - Install EvalGate into a coding client
evalgate connect - Install EvalGate into a coding client
evalgate controls - Inspect enterprise guardrails, provider policy, retention, and drift alerts
evalgate controls - Inspect enterprise guardrails, provider policy, retention, and drift alerts
evalgate datasets - Manage governed Dataset Hub artifacts
evalgate datasets - Manage governed Dataset Hub artifacts
evalgate diff — Compare two run reports
evalgate diff — Compare two run reports
evalgate discover — Discover behavioral specs
evalgate discover — Discover behavioral specs
evalgate doctor — Comprehensive CI/CD readiness checklist
evalgate doctor — Comprehensive CI/CD readiness checklist
evalgate evals — Evals-as-Code manifest workflow
evalgate evals — Evals-as-Code manifest workflow
evalgate execution-state - Inspect and persist execution-state sessions
evalgate execution-state - Inspect and persist execution-state sessions
evalgate explain — Explain last gate/check failure
evalgate explain — Explain last gate/check failure
evalgate failure-modes — View and configure failure-mode taxonomy
evalgate failure-modes — View and configure failure-mode taxonomy
evalgate gate — Run the regression gate
evalgate gate — Run the regression gate
evalgate generate - Generate test cases via LLM
evalgate generate - Generate test cases via LLM
evalgate harness — Optimize a coding-agent harness from local metrics
evalgate harness — Optimize a coding-agent harness from local metrics
evalgate health — Measure application latency and errors on demand
evalgate health — Measure application latency and errors on demand
evalgate impact-analysis — Analyze impact of changes
evalgate impact-analysis — Analyze impact of changes
evalgate import — Inspect an external optimization import (experimental)
evalgate import — Inspect an external optimization import (experimental)
evalgate improve — inspect governed improvement cycles
evalgate improve — inspect governed improvement cycles
evalgate init - Initialize EvalGate in the current repository
evalgate init - Initialize EvalGate in the current repository
evalgate integrity - Inspect integrity and workflow-governance signals
evalgate integrity - Inspect integrity and workflow-governance signals
evalgate judge — Run, compare, or configure pluggable judges
evalgate judge — Run, compare, or configure pluggable judges
evalgate knowledge - Inspect learned workflow hints and playbook guidance
evalgate knowledge - Inspect learned workflow hints and playbook guidance
evalgate label — Interactive trace labeling for golden dataset
evalgate label — Interactive trace labeling for golden dataset
evalgate link — Attach the current Git repository
evalgate link — Attach the current Git repository
evalgate login — Authenticate this CLI
evalgate login — Authenticate this CLI
evalgate logout — Revoke and remove the CLI session
evalgate logout — Revoke and remove the CLI session
evalgate mcp - Inspect, audit, or proxy MCP servers with evidence capture
evalgate mcp - Inspect, audit, or proxy MCP servers with evidence capture
evalgate measurement - Inspect and execute evaluator validation
evalgate measurement - Inspect and execute evaluator validation
evalgate migrate — Migrate legacy config formats
evalgate migrate — Migrate legacy config formats
evalgate open — Open the EvalGate control plane
evalgate open — Open the EvalGate control plane
evalgate packs - Discover and install first-party domain evaluation packs
evalgate packs - Discover and install first-party domain evaluation packs
evalgate plan - Preview an autonomous workflow plan
evalgate plan - Preview an autonomous workflow plan
evalgate print-config — Show resolved config
evalgate print-config — Show resolved config
evalgate promote — Promote candidate eval cases to regression suite
evalgate promote — Promote candidate eval cases to regression suite
evalgate prompts - Manage governed Prompt Hub artifacts
evalgate prompts - Manage governed Prompt Hub artifacts
evalgate quality-profile - Scaffold evalgate.quality.json from product understanding
evalgate quality-profile - Scaffold evalgate.quality.json from product understanding
evalgate red-team — Fetch governed release and finding evidence
evalgate red-team — Fetch governed release and finding evidence
evalgate replay — Replay a candidate eval case (deprecated alias)
evalgate replay — Replay a candidate eval case (deprecated alias)
evalgate replay-candidate — Replay a candidate eval case
evalgate replay-candidate — Replay a candidate eval case
evalgate replay-decision - Compare two run reports and decide keep/discard
evalgate replay-decision - Compare two run reports and decide keep/discard
evalgate repo - Scan an exact connected repository commit for AI systems
evalgate repo - Scan an exact connected repository commit for AI systems
evalgate rollback - Remove files created by one init transaction
evalgate rollback - Remove files created by one init transaction
evalgate run — Run evaluation specifications
evalgate run — Run evaluation specifications
evalgate run-cli - Run an agent/CLI command with evidence capture
evalgate run-cli - Run an agent/CLI command with evidence capture
evalgate serve — run your feature for EvalGate evaluations
evalgate serve — run your feature for EvalGate evaluations
evalgate status — Summarize activation and gate readiness
evalgate status — Summarize activation and gate readiness
evalgate sync — Push/pull labels and prompt state between CLI and web
evalgate sync — Push/pull labels and prompt state between CLI and web
evalgate synthesize — Draft quarantined eval cases from examples or labeled failures
evalgate synthesize — Draft quarantined eval cases from examples or labeled failures
evalgate synthesize-run — Run durable, reviewable synthetic-data generation
evalgate synthesize-run — Run durable, reviewable synthetic-data generation
evalgate templates — List starter evaluation templates
evalgate templates — List starter evaluation templates
evalgate trace — Inspect stored trajectory metrics for a run
evalgate trace — Inspect stored trajectory metrics for a run
evalgate understand - Build an evidence-backed working theory of the product
evalgate understand - Build an evidence-backed working theory of the product
evalgate validate — Validate spec files without running them
evalgate validate — Validate spec files without running them
evalgate watch — Watch mode (re-execute on file save)
evalgate watch — Watch mode (re-execute on file save)
evalgate whoami — Show the authenticated identity
evalgate whoami — Show the authenticated identity
evalgate workflow - Inspect or generate workflow-native coverage bundles
evalgate workflow - Inspect or generate workflow-native coverage bundles
Latency enforcement in SDK 3.13.1
SDK 3.13.1 supportstolerance.latencyEnforcement in an accepted local
baseline. Upgrade older installed versions before relying on this policy.
advisory is the default for local and shared-CI evaluations. A measured
increase above the tolerance appears as WARN, with the baseline, current
measurement and delta retained. It cannot block solely because of latency.
For a dedicated performance benchmark, explicitly choose blocking and a
finite nonnegative maxLatencyIncreaseMs. This is a permitted increase from
baseline, not an absolute response-time limit. Missing required comparison
measurements block instead of appearing unchanged. Execution timeouts,
unregistered coverage, incomplete execution evidence and behavioral failures
remain blocking under both policies.
Change baseline policy through your reviewed baseline workflow; editing an
accepted checksummed baseline without reacceptance fails its integrity check.
A performance policy is not a deployment permission or baseline approval.