chore(ci): refresh coverage-guard.php to the canonical deletion-neutral copy - #292
Merged
Merged
Conversation
…al copy Verbatim copy of ConductionNL/.github@main quality-config/coverage-guard.php. The shipped 433-line copy predates --deletion-neutral, so deleting well-tested dead code reads as a coverage drop: on decidesk the same class of change gave 1782/2324 -> 1763/2305 statements, i.e. 19 deleted and all 19 covered, and the guard failed it as -0.19%. Nothing was less tested. All nine PHP apps ship this identical stale copy with no local edits, so the refresh is wholesale rather than patched. The ratchet is NOT disabled or baselined — a real coverage loss still fails.
Contributor
Quality Report — ConductionNL/openbuild @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| test-l10n | ✅ | ||||
| check-gitignore | ✅ | ||||
| check-nc-floor | ✅ | ||||
| format | ✅ | ||||
| composer | ✅ | ✅ 106/106 | |||
| npm | ✅ | ✅ 626/626 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-20 23:59 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refreshes
scripts/coverage-guard.phpfrom the canonical copy atConductionNL/.github@main→quality-config/coverage-guard.php. Verbatim copy, no local edits — the shared workflow expects the app copies to be byte-identical to it.Why now
decidesk's PHPStan-2 PR failed the
Guard coverage baselinestep, and the guard printed its own diagnosis:The numbers behind that failure:
Nineteen statements were deleted and all nineteen were covered. Nothing became less tested — the denominator shrank and took the numerator with it. Read as a percentage that is a regression; read as counts it plainly is not.
That is not a decidesk quirk. Any change that deletes dead code which tests happened to walk through will trip the old guard, and the PHPStan-2 migration deletes exactly that kind of code across the fleet.
Scope of the staleness
I checked all nine PHP apps. Every one ships the same 433-line copy, byte-identical to each other and with zero
deletion-neutralhits:portaliq · larpingapp · openbuild · hermiq · pipelinq · decidesk · doriath · scholiq · shillinqSince the app copies carry no local customisation, refreshing wholesale is safe — there is nothing app-specific to preserve.
Verification
php -lclean.What this deliberately does not do
It does not disable the ratchet, baseline it, or relax the threshold. The guard is doing its job on real coverage losses; only its arithmetic for deletions was out of date. A genuine drop still fails after this change.