| suite | Path to the versioned Evalt suite. | no | evalt.json |
| result | Path where the machine-readable Evalt result is written or read. | no | evalt-result.json |
| baseline | Optional earlier result from the identical frozen suite. Enables fail-closed regression gating without provider calls. | no | "" |
| library-root | Optional private local evidence-library directory used by @name suite or baseline references. | no | "" |
| optimize | Run the budget-capped tournament before applying the gate. Set false to gate an existing result without provider calls. | no | true |
| evalt-version | Exact PyPI version to install. Mutable aliases such as latest are rejected. | no | 0.11.0 |
| python-version | Python version used by the action. | no | 3.12 |
| min-pass-rate | Required final-test pass rate from 0 through 1. | no | 0.95 |
| max-cost-per-success | Optional maximum USD cost per successful production call. | no | "" |
| require-complete-coverage | Fail when the tournament did not finish all decision-relevant coverage. | no | true |
| max-regressions | Maximum previously passing frozen cases allowed to fail when baseline is set. | no | 0 |
| max-quality-drop-pp | Maximum aggregate final-test quality drop in percentage points when baseline is set. | no | 0 |
| max-cost-increase-pct | Optional maximum production cost increase versus baseline, in percent. | no | "" |
| max-p90-increase-ms | Optional maximum p90 latency increase versus baseline, in milliseconds. | no | "" |
| fixed-prompt | Disable prompt rewrites and few-shot search while still comparing model routes. | no | false |
| max-parallel-models | Optional override for parallel model lanes. | no | "" |
| max-parallel-scenarios | Optional override for parallel scenario executions per model. | no | "" |
| request-timeout-seconds | Optional wall-clock deadline for one provider response, not the tournament. | no | "" |
| custom-scorer-id | Optional trusted local scorer ID. The suite cannot select executable code. | no | "" |
| custom-scorer-version | Version of the trusted local scorer registered for this run. | no | "" |
| custom-scorer-executable | Executable for the trusted repository-local scorer; launched directly without a shell. | no | "" |
| custom-scorer-arguments-json | JSON array of literal argv items passed to the scorer executable. | no | [] |
| custom-scorer-timeout-seconds | Per-case local scorer timeout in seconds. | no | 10 |
| custom-scorer-max-input-bytes | Maximum serialized scorer request size per case. | no | 8388608 |
| custom-scorer-max-output-bytes | Maximum scorer stdout or stderr size per case. | no | 65536 |
| webhook-url | Optional explicit HTTPS destination for one signed aggregate CI decision event. | no | "" |
| webhook-secret | Signing secret. Pass a GitHub Actions secret; it is never written to Evalt artifacts or audit files. | no | "" |
| webhook-destination-id | Opaque destination label retained in the local delivery audit. | no | github |
| webhook-audit | Local aggregate webhook delivery audit JSONL. | no | .evalt/webhook-deliveries.jsonl |
| webhook-timeout-seconds | Per-attempt HTTPS timeout, from greater than zero through 30 seconds. | no | 5 |
| webhook-max-attempts | Delivery attempts from 1 through 5. | no | 3 |
| webhook-required | Fail the Action when the configured aggregate event cannot be delivered. | no | false |
| webhook-include-route-name | Include the local route name instead of only its opaque reference. | no | false |
| webhook-allow-private-network | Explicitly allow a private/local destination address. Disabled by default. | no | false |
| workspace-token | Optional evc_ publisher capability used to synchronize aggregate route progress. Pass a GitHub Actions secret, never an owner capability. | no | "" |
| workspace-api-url | HTTPS Evalt workspace API receiving privacy-bounded route metadata. | no | https://evalt.onrender.com |
| html-report | Path for the self-contained HTML evidence report. | no | evalt-report.html |
| junit-report | Path for the case-level JUnit report. | no | evalt-junit.xml |