From 33fda876b8f0798d43e62db29d745a9e8752a843 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 9 Sep 2026 00:41:15 +0100 Subject: [PATCH] fix(gates): SonarCloud is an external app check, not an advisory job Removes "SonarCloud Code Analysis" from never_required_contexts. never_required_contexts exists to keep governance-reusable's OWN advisory jobs (the continue-on-error ones) out of ruleset derivation -- that is what tests/test_governance_reusable_shape.sh check 6 asserts, and it names exactly three: "Live Actions policy (credentialed advisory)", "Code quality + docs", "Allowlist Preflight". All three are untouched here. SonarCloud Code Analysis is not one of those. It is emitted by the sonarqubecloud GitHub App, not by any job in this repo, so it was miscategorised. scripts/check-gate-tiers.sh already encodes the correct treatment for this class under EXTERNAL_REQUIRED: "required context emitted by a GitHub App rather than a workflow in this repo (CodeQL default setup, SonarCloud, ...). Printed for visibility, NOT counted: it is outside the tier system, not a breach of it." Measured contradiction: 76 repos require SonarCloud Code Analysis, and it is emitted and green on them. Because never_required_match subtracts an entry from the derived set, this line was preventing the derivation from ever reproducing production. Owner ruling: fix the one policy file rather than edit 76 rulesets to match it. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01TCKh98NmUmfvgpuGyJbNu8 --- config/rulesets/gates.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/rulesets/gates.json b/config/rulesets/gates.json index 830fe0e5..f3a635ac 100644 --- a/config/rulesets/gates.json +++ b/config/rulesets/gates.json @@ -97,7 +97,6 @@ "Allowlist Preflight", "Code quality + docs", "CodeQL (default setup)", - "Live Actions policy (credentialed advisory)", - "SonarCloud Code Analysis" + "Live Actions policy (credentialed advisory)" ] }