You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[ci-maintainer] coverage floors 95/85/90 lag main's 99.7/97.7/100 — ratchet to 98/93/97 #232
The coverage gate that npm test enforces on every CI leg (scripts/run-tests.mjs → --test-coverage-lines=95 --test-coverage-branches=85 --test-coverage-functions=90) is far below what main actually measures, so the gate no longer protects the suite: a PR could drop branch coverage by ~12 points, function coverage by 10 points, and lines by ~4.7 points without turning CI red.
Evidence
Measured on main @ 0187669 (node --test --experimental-test-coverage test/*.test.js, Node 26):
metric
measured
floor
slack
lines
99.72 %
95
4.7
branches
97.66 %
85
12.7
functions
100.00 %
90
10.0
Coverage has risen monotonically since the floors were set (#71, #86): 99.05 / 92.35 / 94.66 at b1ec3db (2026-10-01) → 99.72 / 97.66 / 100 today, driven by the test: PRs #206#211#214#219#226#230#231. The floors were never ratcheted to follow.
Floors are declared in four places that must stay in sync (test/run-tests-runner.test.js pins them):
scripts/run-tests.mjsCOVERAGE_FLAGS
package.jsontest:coverage
test/run-tests-runner.test.js (COVERAGE_FLAGS enforce the documented 95/85/90 thresholds)
Ratchet to lines 98 / branches 93 / functions 97 in all four places. This leaves ~1.7 / ~4.7 / 3 points of headroom (run-to-run variance on main is ≈0.2 pt on lines/branches — the tmux-contract and sessions suites are the only environment-sensitive files), so it does not block the current main on any Node leg, but a regression of the size the old floors tolerated now fails CI.
floors raised in the four locations above
npm test green on Node 22/24/26 with the new floors
No workflow file changes are needed; .github/workflows/test.yml already runs npm test on every leg.
Filed by ci-maintainer agent (ACMM L6 — full mode)
Activity
test: ratchet coverage floors to 98/93/97 to track main's 99.7/97.7/1…