From 1eb53d456277b4068ced740aa1693b95229a5cab Mon Sep 17 00:00:00 2001 From: DonislawDev Date: Mon, 2 Nov 2026 22:43:02 +0100 Subject: [PATCH] Hold CI's coverage floors half a point under its figures The anywhere floors in tests/coverage-floor.json were the August figures, between 5.8 and 71.1 points under what CI measures. Bws.Cli measured 80.5% over a floor of 9.5, so its tests could lose most of their coverage and the build would stay green. Seven CI runs on 2026-11-02 gave Bws.Core 90.1% and Bws.Gui 92% every time, and Bws.Cli 80.5% or 80.6%, both on one and the same tree. A floor equal to the figure would fail a build that changed nothing, so each floor sits half a point under the lowest figure: Bws.Core 89.6, Bws.Gui 91.5 and Bws.Cli 80.0. The header of the gate says why, and how to raise them again. The everything scope, measured on a developer's machine, is not touched. Co-Authored-By: Claude Opus 5.5 --- tests/coverage-floor.json | 6 +++--- tests/coverage-gate.ps1 | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tests/coverage-floor.json b/tests/coverage-floor.json index 1587c5ea..50972397 100644 --- a/tests/coverage-floor.json +++ b/tests/coverage-floor.json @@ -1,8 +1,8 @@ { "anywhere": { - "Bws.Core": 71.9, - "Bws.Gui": 86.2, - "Bws.Cli": 9.5 + "Bws.Core": 89.6, + "Bws.Gui": 91.5, + "Bws.Cli": 80.0 }, "everything": { "Bws.Core": 91.3, diff --git a/tests/coverage-gate.ps1 b/tests/coverage-gate.ps1 index 01b72ca9..7fcda250 100644 --- a/tests/coverage-gate.ps1 +++ b/tests/coverage-gate.ps1 @@ -41,6 +41,16 @@ # 2103 covered, identically. The property tests draw random seeds, so this was worth checking - # a gate that wobbles teaches everybody to ignore it. # +# THE anywhere FLOORS SIT HALF A POINT UNDER WHAT CI MEASURES, set by hand on 2026-11-02 rather +# than with -Mark, which writes the measurement itself. Until that day they were the August +# figures, 5.8 to 71.1 points under seven CI runs (Bws.Cli at 80.5% over a floor of 9.5), so a +# test project could lose most of its coverage without a word. And the paragraph above stopped +# being the whole truth: Bws.Cli measured 80.5% and 80.6% on the same tree in two CI runs, while +# Bws.Core (90.1%) and Bws.Gui (92%) held still in all seven. A floor equal to a figure that moves +# by a tenth fails a build that changed nothing, and half a point is five times that movement. To +# raise them again, read the step "coverage against its floor" in CI and take half a point off the +# lowest figure there. +# # WHAT THIS DOES NOT TELL YOU, and it is the reason backlog 62 exists: coverage says what was # EXECUTED, never what was CHECKED. A test with no assertions covers everything it touches. The # answer to "was it checked" is the mutation registry, and this does not replace it.