cleanup(ci): delete the vacuous acme-approval guard #665
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/retire-vacuous-acme-guard"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
tests/check-acme-approval.shscannedfind apis instances -name '*.yaml'forStack.spec.tls.acmeServer.c4d0136deleted its entire scan target —apis/stack/,instances/alice.yaml,instances/bob.yaml.apis/now holds onlyplatform, and there is no cert-manager / ClusterIssuer / issuerRef / acme content anywhere underapis/+instances/.So on every CI run since
c4d0136it printed:A green report from a control that had verified nothing. Its scope comment (
:21-25) still cited all three deleted paths as live.Why delete rather than re-point or floor it
It is an inclusion guard ("every prod URL carries a marker"), and zero ACME lines is now the CORRECT state for this repo. Adding the house non-vacuity floor would make it permanently red. A guard whose only honest configuration is "pass on zero" is not a guard.
For an inclusion invariant, zero matches means "I did not verify what I claim to verify" — the bug class. For an exclusion invariant, zero matches is the assertion. This is an inclusion guard with an empty domain: the degenerate case.
Rejected: re-pointing it at
sean/pipelines(a guard cannot scan another repo's working tree in CI, and two guards over one knob drift — the stale one being the dangerous one); rewriting it as an exclusion guard (defensible, but scope escalation into a repo down to one XRD and on a retirement path, guarding a regression nobody has proposed).Coverage does not move
The live knob is
sean/pipelines bundle/dns/issuer.yaml(proved from the live object, not grep:ClusterIssuer/letsencryptcarriesargocd.argoproj.io/tracking-id: dns:..., i.e. ArgoCD Applicationdns=bundle/dns). It is guarded by that repo's owntests/check-acme-approval.sh, which does carry the floor, and which is now proved falsifiable by a companion PR:sean/pipelines#1985, 8/8 mutations caught against 5/5 mutations of the guard itself. Nothing this file was catching goes unguarded, because it was catching nothing.tests/check.shkeeps a comment pointing at the real guard, so the signpost this file carried is not lost.The lockstep edit, and why it is in the same commit
tests/check.sh:15hardcoded the filename.bash "$guard"on a missing file exits 127 — neither 0 nor 2 — sooverall=1and the whole platform suite goes red. Verified both ways:Blast radius
The only three references to the guard in the repo were
CHANGELOG.md,tests/check.shand the file itself. CHANGELOG is deliberately untouched — append-only history; those entries were true when written.No ACME server is changed. LE-prod is approved and live.
Noticed in passing, NOT fixed here
check-xrd-requiredprintsok: 0 XRD required entr(ies)— same vacuous-pass shape, different guard. Out of scope; flagged for a follow-up.