Generic coverage gate failure
April 30, 2026 · View on GitHub
Playbook ID: coverage-gate-failure
Category: test
Severity: medium
Tags: test, coverage, threshold, quality-gate
What this failure means
The test step completed, but the job failed because measured coverage fell below an enforced minimum. This is a quality policy failure rather than a crash in the test runner itself.
Common log signals
coverage threshold
minimum coverage
global coverage threshold
does not meet global threshold
total coverage below
coverage requirement not met
lines below threshold
branches below threshold
Diagnosis
The test step completed, but the job failed because measured coverage fell below an enforced minimum. This is a quality policy failure rather than a crash in the test runner itself.
Fix steps
-
Find exactly which files or packages dropped below the threshold:
# Go — sort by coverage percentage ascending: go test ./... -coverprofile=coverage.out go tool cover -func=coverage.out | sort -k3 -n | head -20 # JavaScript: npm test -- --coverage --coverageReporters=text 2>&1 | grep -v "100 |" -
Add focused tests for the newly introduced or changed code paths before considering any threshold reduction.
-
If generated or non-critical files are inflating the denominator, exclude them explicitly in the coverage configuration rather than hand-tuning the target percentage.
-
Re-run the same coverage command locally to confirm the failure is reproducible outside CI before writing new tests.
Validation
go test ./... -coverornpm test -- --coverage- Confirm the reported total percentage meets or exceeds the gate threshold.
Likely files to inspect
coverage.outpackage.jsonpyproject.tomljest.config.jspytest.ini
Run Faultline
faultline analyze build.log
faultline explain coverage-gate-failure
faultline workflow build.log --json --mode agent
Search phrases this page answers
- Generic coverage gate failure
- Test: generic coverage gate failure
- does not meet global threshold
- faultline explain coverage-gate-failure
Generated from playbooks/bundled/log/test/coverage-gate-failure.yaml. Do not edit directly — run make docs-generate.