Skip to content

docs: record the Sonar gate trap and a no-CI-polling rule in SKILL.md - #34

Merged
DerekCorniello merged 2 commits into
mainfrom
docs/skill-ci-polling-and-sonar-gate
Aug 1, 2026
Merged

docs: record the Sonar gate trap and a no-CI-polling rule in SKILL.md#34
DerekCorniello merged 2 commits into
mainfrom
docs/skill-ci-polling-and-sonar-gate

Conversation

@DerekCorniello

Copy link
Copy Markdown
Contributor

Two cross-repo rules learned during the CI/CD rework, added to the canonical
mux skill.

The two SonarCloud checks are not redundant

They look like duplicates. They are not, and treating them as such would quietly
remove the only quality enforcement the org has.

SonarCloud Code Analysis is posted by Sonar's own GitHub app and runs the
built-in Sonar way gate. Queried against the API, its six conditions are:

condition fails when
new_security_rating > 1
new_reliability_rating > 1
new_maintainability_rating > 1
new_coverage < 80
new_duplicated_lines_density > 3
new_security_hotspots_reviewed < 100

There is no new-issue condition. Ratings are issue-derived but lenient: one
new Bug or Vulnerability fails the gate, while code smells only move a
technical-debt ratio, so a PR can carry any number of them and still pass.

Observed directly on muxlang/mux-compiler#324: 5 new code smells, app check
green, repo-local "Fail on new SonarCloud issues" step correctly red on
the same analysis.

Custom quality gates are Team/Enterprise-only, so the repo-local step cannot be
replaced by configuration. It is the only thing enforcing zero new issues.

Never poll or watch CI

Working-style rule: report the PR link and check name after pushing rather than
holding a terminal open against a pipeline.

Why here

AGENTS.md already designates this file the canonical copy of the mux skill
and asks that local copies be kept in sync. That had drifted - a local copy was
carrying superseded runtime-resolution guidance describing a cache the compiler
no longer uses. Fixed on this end by symlinking the local copy at this file, so
the canonical version is the only one that exists.

🤖 Generated with Claude Code

Two cross-repo rules learned the hard way during the CI/CD rework.

The two SonarCloud checks look redundant and are not. The app-posted
"SonarCloud Code Analysis" runs the built-in "Sonar way" gate, which has no
new-issue condition - verified against the API, its six conditions are ratings,
coverage, duplication and hotspots reviewed. Code smells only move a debt-ratio
threshold, so a PR can carry any number of them and still show a green app
check while the repo-local "Fail on new SonarCloud issues" step correctly goes
red. Custom quality gates are Team/Enterprise-only, so that step cannot be
replaced by configuration - it is the only enforcement there is, and deleting
it as a duplicate would silently drop the strictest quality rule to nothing.

The polling rule is a working-style preference: agents should report the PR
link and check name rather than holding a terminal open against a pipeline.

AGENTS.md already names this file the canonical copy of the mux skill, so it is
where both belong.
@greptile-apps

greptile-apps Bot commented Aug 1, 2026

Copy link
Copy Markdown

Greptile Summary

The PR documents why both SonarCloud-related checks are required and adds a rule against polling CI.

  • Reconciles Sonar terminology across the canonical skill and repository-governance documentation.
  • Distinguishes the app-posted quality gate from the repository-local zero-new-issues enforcement.
  • Directs agents to report CI check details instead of waiting for pipeline completion.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
SKILL.md Clarifies the distinct Sonar checks and adds explicit guidance against polling CI; the previously reported terminology conflict is resolved.
docs/repo-governance.md Replaces ambiguous quality-gate wording with terminology consistent with SKILL.md and the repository workflow.

Reviews (2): Last reviewed commit: "docs: attribute the zero-new-issue rule ..." | Re-trigger Greptile

Comment thread SKILL.md
Review catch. Two places said "the gate fails on any new issue" without
distinguishing the two checks, which is the exact confusion the new SKILL.md
rule warns about - it reads as though the app-posted check enforces it, making
the repo-local job look redundant.

repo-governance.md now describes both checks and which one actually enforces
zero new issues. SKILL.md line 58 said the same thing loosely and now points at
the detailed rule below it.
@sonarqubecloud

sonarqubecloud Bot commented Aug 1, 2026

Copy link
Copy Markdown

@DerekCorniello
DerekCorniello merged commit 83f5eeb into main Aug 1, 2026
3 checks passed
@DerekCorniello
DerekCorniello deleted the docs/skill-ci-polling-and-sonar-gate branch August 1, 2026 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant