RegressionGuard
Compares the current run's pass/fail pattern against the previous run and raises an alert when new regressions are detected — with the suspect commit or deployment version.
Trigger
RegressionGuard runs automatically after every test run completes. It requires at least one previous run in the same environment to compare against.
How it detects regressions
RegressionGuard compares two things between the current and previous run:
- Per-test pass/fail delta — any test that passed in the previous run and fails in the current run is flagged as a new regression
- Domain-level pattern — if multiple tests in the same domain switch from pass to fail together, RegressionGuard identifies this as a potential domain-level regression (e.g. a shared component or API contract changed)
Tests that were already failing in the previous run are not flagged as new regressions — only newly failing tests are included in the alert.
Suspect commit/version attribution
When a run is triggered from CI/CD, you can pass metadata such as the commit SHA, branch name, or deployment version. RegressionGuard includes this information in its regression alert, linking new failures to the specific code change that likely introduced them.
Pass CI/CD context when triggering a run via the API:
{
"project": "myapp",
"plan": "regression",
"context": {
"commit_sha": "a1b2c3d4",
"branch": "feature/checkout-redesign",
"triggered_by": "github-actions",
"pr_number": "142"
}
}
Regression alert contents
- Number of new regressions (tests that newly failed)
- Test IDs and scenario titles for each new regression
- Domain breakdown (how many regressions per domain)
- Suspect commit/deployment context (if provided)
- Link to the current run results and the previous run for comparison
CI/CD gate integration
RegressionGuard can gate your CI/CD pipeline. If the agent detects new regressions, it can return a non-zero exit code signal via the VigilQA API, causing your CI/CD step to fail. Configure this in Project Settings → CI/CD → Gate on Regressions.
The gate signal uses the run result status endpoint. Your CI/CD step polls for run completion and then checks the regression_guard_status field — clean or regressions_detected — to decide whether to fail the pipeline.