Skip to content

[RHIDP-12787]: Add local SonarCloud lint script and fix remaining CQA errors#1950

Merged
themr0c merged 8 commits into
redhat-developer:mainfrom
themr0c:RHIDP-12787-lint-sonar-and-cqa-fixes
Mar 20, 2026
Merged

[RHIDP-12787]: Add local SonarCloud lint script and fix remaining CQA errors#1950
themr0c merged 8 commits into
redhat-developer:mainfrom
themr0c:RHIDP-12787-lint-sonar-and-cqa-fixes

Conversation

@themr0c

@themr0c themr0c commented Mar 20, 2026

Copy link
Copy Markdown
Member

IMPORTANT: Do Not Merge - To be merged by Docs Team Only

Version(s): N/A (tooling only)
Issue: RHIDP-12787
Preview: N/A (no content changes)

Summary

  • Adds build/scripts/lint-sonar.sh — local linter that catches the 5 main SonarCloud patterns: missing explicit returns (S1), bare positional params (S2), mergeable nested ifs (S3), missing case defaults (S4), and repeated string literals (S5)
  • Will include fixes for remaining CQA errors (CQA-05, CQA-06, CQA-01, CQA-15) in follow-up commits

Current CQA status (cqa.sh --all)

Check Status
CQA-00: Orphaned Modules PASS
CQA-00: Directory Structure PASS
CQA-03: Content Type Metadata PASS
CQA-13: Content Matches Type PASS
CQA-10: Title Quality PASS
CQA-08: Short Description Content PASS
CQA-09: Short Description Format PASS
CQA-11: Procedure Prerequisites PASS
CQA-02: Assembly Structure PASS
CQA-05: Required Modular Elements FAIL
CQA-04: Module Templates PASS
CQA-06: Assembly Template FAIL
CQA-07: TOC Depth PASS
CQA-16: Product Names PASS
CQA-01: Vale DITA Compliance FAIL
CQA-12: Grammar and Style PASS
CQA-17: Legal Disclaimers PASS
CQA-14: Broken Links PASS
CQA-15: Redirects FAIL

Test plan

  • shellcheck build/scripts/lint-sonar.sh passes clean
  • ./build/scripts/lint-sonar.sh runs against all CQA scripts
  • Fix remaining CQA-05 violations
  • Fix remaining CQA-06 violations
  • Triage CQA-01 Vale violations
  • Triage CQA-15 redirect warnings

🤖 Generated with Claude Code

@rhdh-bot

rhdh-bot commented Mar 20, 2026

Copy link
Copy Markdown
Collaborator

@rhdh-bot

rhdh-bot commented Mar 20, 2026

Copy link
Copy Markdown
Collaborator

@rhdh-bot

Copy link
Copy Markdown
Collaborator

Content Quality Assessment Results

## CQA Summary Checklist

- [x] **CQA #0:** Find Orphaned Modules and Images
- [x] **CQA #0:** Verify Directory Structure (<category>_<context> naming)
- [x] **CQA #3:** Verify Content Type Metadata
- [x] **CQA #13:** Verify Content Matches Declared Type
- [x] **CQA #10:** Verify Titles Are Brief, Complete, and Descriptive
- [x] **CQA #8:** Verify Short Description Content Quality
- [x] **CQA #9:** Verify Short Description Format
- [x] **CQA #11:** Verify Procedure Prerequisites
- [x] **CQA #2:** Verify Assembly Structure
- [ ] **CQA #5:** Verify Required Modular Elements
    - [MANUAL] modules/configure_configuring-rhdh/proc-use-the-rhdh-helm-chart-to-run-rhdh-with-your-custom-configuration.adoc: Non-standard block title: .Helm configuration excerpt
    - [MANUAL] modules/configure_configuring-rhdh/ref-rhdh-default-configuration-guide.adoc: Line 13: Non-standard block title: .Example creating a {product-very-short} instance
    - [MANUAL] modules/configure_configuring-rhdh/con-automated-operator-features.adoc: Line 34: Non-standard block title: .Example creating many PVCs
    - [MANUAL] modules/configure_configuring-rhdh/ref-time-syntax-in-rhdh.adoc: Line 9: Non-standard block title: .Generally supported time formats
    - [MANUAL] modules/configure_configuring-rhdh/proc-migrate-local-databases-to-an-external-database-server-using-the-operator.adoc: Non-standard block title: .Example: Configuring port forwarding
    - [MANUAL] modules/configure_configuring-rhdh/proc-configure-proxy-information-in-operator-deployment.adoc: Non-standard block title: .Example: Setting proxy variables in a ConfigMap file
    - [MANUAL] modules/configure_configuring-rhdh/proc-configure-proxy-information-in-helm-deployment.adoc: Non-standard block title: .Example: Setting proxy variables by using the Helm Chart
    - [MANUAL] modules/configure_configuring-rhdh/proc-configure-mount-paths-for-default-secrets-and-persistent-volume-claims-pvcs.adoc: Non-standard block title: .Example specifying the PVC mount path
    - [MANUAL] modules/configure_configuring-rhdh/proc-mount-secrets-and-pvcs-to-specific-containers.adoc: Non-standard block title: .Example mounting to all containers
    - [MANUAL] modules/configure_configuring-rhdh/ref-configure-rhdh-deployment-when-using-the-operator.adoc: Line 28: Non-standard block title: .Example adding the label `my=true`
    - [MANUAL] modules/configure_configuring-rhdh/proc-configure-an-rhdh-instance-with-a-tls-connection-in-kubernetes.adoc: Non-standard block title: .Example: Kubernetes manifest for role-based access control
    - [MANUAL] modules/shared/ref-floating-action-button-parameters.adoc: Line 9: Non-standard block title: .Floating action button parameters
    - [MANUAL] modules/shared/proc-use-quick-start-onboarding-steps.adoc: Line 19: Image(s) missing alt text in quotes
    - [MANUAL] modules/shared/proc-enable-sidebar-menu-items-localization-in-rhdh.adoc: Non-standard block title: .Example `{my-app-config-file}` fragment
    - [MANUAL] modules/shared/proc-load-a-custom-rhdh-theme-by-using-a-dynamic-plugin.adoc: Non-standard block title: .Sample `myTheme.ts` fragment
    - [MANUAL] modules/shared/proc-customize-the-home-page-cards.adoc: Non-standard block title: .Available props
    - [MANUAL] modules/shared/proc-select-the-language-for-your-rhdh-instance.adoc: Line 19: Image(s) missing alt text in quotes
    - [MANUAL] modules/shared/ref-best-practices-for-implementing-localization-support-for-custom-plugins-in-rhdh.adoc: Line 19: Non-standard block title: .Common patterns
    - [MANUAL] modules/shared/proc-implement-localization-support-for-your-custom-plugins.adoc: Non-standard block title: .Before (hard-coded):
    - [-> CQA #2 MANUAL] assemblies/configure_techdocs-for-rhdh/assembly-techdocs-add-ons.adoc: Assembly contains block titles (only .Additional resources allowed)
    - [MANUAL] modules/shared/proc-enable-user-provisioning-with-ldap.adoc: Non-standard block title: .Optional `tls` fields
    - [MANUAL] modules/shared/snip-enabling-user-authentication-with-github-common-verification-steps.adoc: Snippet has block title '.Additional resources' -- move to including files
    - [MANUAL] modules/shared/ref-supported-rbac-rest-api-endpoints.adoc: Line 19: Non-standard block title: .Example response (JSON)
    - [MANUAL] modules/shared/proc-define-authorizations-in-external-files-by-using-helm.adoc: Non-standard block title: .Sample `rbac-policies.csv`
    - [MANUAL] modules/shared/ref-permission-policy-types.adoc: Line 22: Non-standard block title: .Example resource type permission definition
    - [MANUAL] modules/shared/ref-ocm-permissions.adoc: Line 14: Non-standard block title: .Example permissionMapping definition
    - [MANUAL] modules/shared/ref-conditional-policy-without-criteria.adoc: Line 12: Non-standard block title: .Example condition without criteria
    - [MANUAL] modules/shared/ref-conditional-policy-with-criteria.adoc: Line 13: Non-standard block title: .Example condition with criteria
    - [MANUAL] modules/shared/ref-conditional-policy-plugin-examples.adoc: Line 12: Non-standard block title: .Conditional policy defined for Keycloak plugin
    - [MANUAL] modules/discover_about-rhdh/ref-sizing-requirements-for-rhdh.adoc: Line 12: Non-standard block title: .Recommended sizing for running {product}
- [x] **CQA #4:** Verify Module Templates
- [ ] **CQA #6:** Verify Assemblies Follow Official Template (One User Story)
    - [MANUAL] titles/configure_configuring-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 13 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 18 includes (consider splitting -- may cover multiple user stories, max 15)
    - [MANUAL] assemblies/configure_customizing-rhdh/assembly-customize-rhdh-appearance.adoc: Has 16 includes (consider splitting -- may cover multiple user stories, max 15)
    - [MANUAL] titles/configure_techdocs-for-rhdh/master.adoc: Has 5 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authentication-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
- [x] **CQA #7:** Verify TOC Depth (Max 3 Levels)
- [x] **CQA #16:** Verify Official Product Names
- [x] **CQA #1:** Vale AsciiDoc DITA Compliance
- [x] **CQA #12:** Verify Grammar and Style (Vale)
- [x] **CQA #17:** Verify Legal Disclaimers for Preview Features
- [x] **CQA #14:** Verify No Broken Links
- [x] **CQA #15:** Check Redirects

---
**Total:** 19 checks | 17 passed | 2 with issues

To auto-fix what can be auto-fixed, run:

./build/scripts/cqa.sh --fix --all

To fix remaining issues, copy-paste this prompt to Claude:

Run ./build/scripts/cqa.sh --all, then for each failing CQA check, read the matching .claude/skills/cqa-*.md skill file and fix the [MANUAL] issues following the skill instructions.


Automated CQA check run on the entire repository

themr0c and others added 4 commits March 20, 2026 15:30
- Fix CQA workflow PR comment: remove code fence wrapping so embedded
  markdown renders correctly instead of breaking on backticks
- Fix CQA-05 violations: remove 30 non-standard block titles and fix
  2 missing image alt texts across all titles
- Fix CQA-05 script: report all violations per file, not just the first
- Fix CQA-02 script: handle hybrid .Additional resources + [role] case
- Extract inline content from title assemblies into proper modules:
  - authorization: RBAC intro content -> con-role-based-access-control-in-rhdh
  - develop-plugins: == sections -> assembly-develop-a-new-plugin,
    assembly-deployment-configurations
  - MCP: == Troubleshoot -> assembly-troubleshoot-mcp-server-and-client-problems
- Inline single-use assembly in integrating-rhdh-with-github
- Fix .Additional resources format in install and audit-logs titles
- Update CQA-05 skill with fix patterns and assembly creation guidance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CQA script improvements:
- cqa-01: Fix file attribution by parsing Vale JSON per-file in report mode
- cqa-06: Skip master.adoc for user story limits (title-level aggregation)
- cqa-13: Detect assemblies without include:: directives
- cqa-lib: Compact --all output (suppress passing files, single header)

Content changes:
- Convert assembly-techdocs-add-ons to ref-techdocs-add-ons reference module
- Split assembly-customize-rhdh-appearance (16 includes) into:
  - assembly-customize-rhdh-theme-and-branding (9 includes)
  - assembly-customize-rhdh-navigation (7 includes)
- Fix non-standard block titles in RBAC modules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix CQA-03 false positive: skip content inside blocks (----, --, ....)
  when counting numbered/unnumbered list items in .Procedure sections
- Fix callouts in proc-enable-users-to-use-the-topology-plugin.adoc
- CQA-02 autofix: add context boilerplate to 71 assemblies,
  convert .Additional resources to [role="_additional-resources"]
- CQA-03 autofix: normalize content type metadata and section lists
- CQA-10 autofix: shorten titles, fix filename prefixes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…odule

- CQA-15: Only fire on :title: changes in master.adoc or deleted titles
  (ignore internal module/assembly renames)
- Add .Procedure section to proc-configure-frontend-plugin-wiring.adoc
  (fixes CQA-13 PROCEDURE without .Procedure violation)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rhdh-bot

Copy link
Copy Markdown
Collaborator

Shellcheck Analysis Results

Changed shell scripts in this PR: 25

Scripts analyzed:

  • build/scripts/align-title-directories.sh
  • build/scripts/cqa-00-directory-structure.sh
  • build/scripts/cqa-00-orphaned-modules.sh
  • build/scripts/cqa-01-asciidoctor-dita-vale.sh
  • build/scripts/cqa-02-assembly-structure.sh
  • build/scripts/cqa-03-content-is-modularized.sh
  • build/scripts/cqa-04-modules-use-official-templates.sh
  • build/scripts/cqa-05-modular-elements-checklist.sh
  • build/scripts/cqa-06-assemblies-use-the-official-template-assemblies-ar.sh
  • build/scripts/cqa-07-toc-max-3-levels.sh
  • build/scripts/cqa-08-short-description-content.sh
  • build/scripts/cqa-09-short-description-format.sh
  • build/scripts/cqa-10-titles-are-brief-complete-and-descriptive.sh
  • build/scripts/cqa-11-procedures-prerequisites.sh
  • build/scripts/cqa-12-content-is-grammatically-correct-and-follows-rules.sh
  • build/scripts/cqa-13-information-is-conveyed-using-the-correct-content.sh
  • build/scripts/cqa-14-no-broken-links.sh
  • build/scripts/cqa-15-redirects-if-needed-are-in-place-and-work-correc.sh
  • build/scripts/cqa-15-redirects.sh
  • build/scripts/cqa-16-official-product-names-are-used.sh
  • build/scripts/cqa-17-includes-appropriate-legal-approved-disclaimers-f.sh
  • build/scripts/cqa-lib.sh
  • build/scripts/cqa.sh
  • build/scripts/fix-orphaned-modules.sh
  • build/scripts/list-all-included-files-starting-from.sh

Check the Files changed tab for detailed shellcheck suggestions.

All findings are reported as warnings and won't block the PR.


Automated shellcheck analysis • See shellcheck.net for details

@rhdh-bot

Copy link
Copy Markdown
Collaborator

Content Quality Assessment Results

## CQA Summary Checklist

- [x] **CQA #0:** Find Orphaned Modules and Images
- [x] **CQA #0:** Verify Directory Structure (<category>_<context> naming)
- [x] **CQA #3:** Verify Content Type Metadata
- [x] **CQA #13:** Verify Content Matches Declared Type
- [x] **CQA #10:** Verify Titles Are Brief, Complete, and Descriptive
- [x] **CQA #8:** Verify Short Description Content Quality
- [x] **CQA #9:** Verify Short Description Format
- [x] **CQA #11:** Verify Procedure Prerequisites
- [x] **CQA #2:** Verify Assembly Structure
- [x] **CQA #5:** Verify Required Modular Elements
- [x] **CQA #4:** Verify Module Templates
- [ ] **CQA #6:** Verify Assemblies Follow Official Template (One User Story)
    - [MANUAL] titles/configure_configuring-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 14 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 19 includes (consider splitting -- may cover multiple user stories, max 15)
    - [MANUAL] titles/configure_techdocs-for-rhdh/master.adoc: Has 4 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authentication-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 16 includes (consider splitting -- may cover multiple user stories, max 15)
- [x] **CQA #7:** Verify TOC Depth (Max 3 Levels)
- [x] **CQA #16:** Verify Official Product Names
- [x] **CQA #1:** Vale AsciiDoc DITA Compliance
- [x] **CQA #12:** Verify Grammar and Style (Vale)
- [x] **CQA #17:** Verify Legal Disclaimers for Preview Features
- [x] **CQA #14:** Verify No Broken Links
- [x] **CQA #15:** Check Redirects

---
**Total:** 19 checks | 18 passed | 1 with issues

To auto-fix what can be auto-fixed, run:

./build/scripts/cqa.sh --fix --all

To fix remaining issues, copy-paste this prompt to Claude:

Run ./build/scripts/cqa.sh --all, then for each failing CQA check, read the matching .claude/skills/cqa-*.md skill file and fix the [MANUAL] issues following the skill instructions.


Automated CQA check run on the entire repository

themr0c and others added 2 commits March 20, 2026 15:42
…orm-cli-link

- Shorten abstracts exceeding 300 chars in 11 modules and 4 master files
- Restore :platform-cli-link: attributes in AKS/EKS/GKE install titles
- CQA-05 block title fixes applied by --fix pass (ServiceNow, Keycloak,
  Helm chart examples, override config)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…_tsv

- Create build/scripts/lint-scripts.sh running shellcheck on all CQA scripts
- Add explicit return 0 to _vale_json_to_tsv() (sonarcloud finding)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rhdh-bot

Copy link
Copy Markdown
Collaborator

Shellcheck Analysis Results

Changed shell scripts in this PR: 26

Scripts analyzed:

  • build/scripts/align-title-directories.sh
  • build/scripts/cqa-00-directory-structure.sh
  • build/scripts/cqa-00-orphaned-modules.sh
  • build/scripts/cqa-01-asciidoctor-dita-vale.sh
  • build/scripts/cqa-02-assembly-structure.sh
  • build/scripts/cqa-03-content-is-modularized.sh
  • build/scripts/cqa-04-modules-use-official-templates.sh
  • build/scripts/cqa-05-modular-elements-checklist.sh
  • build/scripts/cqa-06-assemblies-use-the-official-template-assemblies-ar.sh
  • build/scripts/cqa-07-toc-max-3-levels.sh
  • build/scripts/cqa-08-short-description-content.sh
  • build/scripts/cqa-09-short-description-format.sh
  • build/scripts/cqa-10-titles-are-brief-complete-and-descriptive.sh
  • build/scripts/cqa-11-procedures-prerequisites.sh
  • build/scripts/cqa-12-content-is-grammatically-correct-and-follows-rules.sh
  • build/scripts/cqa-13-information-is-conveyed-using-the-correct-content.sh
  • build/scripts/cqa-14-no-broken-links.sh
  • build/scripts/cqa-15-redirects-if-needed-are-in-place-and-work-correc.sh
  • build/scripts/cqa-15-redirects.sh
  • build/scripts/cqa-16-official-product-names-are-used.sh
  • build/scripts/cqa-17-includes-appropriate-legal-approved-disclaimers-f.sh
  • build/scripts/cqa-lib.sh
  • build/scripts/cqa.sh
  • build/scripts/fix-orphaned-modules.sh
  • build/scripts/lint-scripts.sh
  • build/scripts/list-all-included-files-starting-from.sh

Check the Files changed tab for detailed shellcheck suggestions.

All findings are reported as warnings and won't block the PR.


Automated shellcheck analysis • See shellcheck.net for details

Update xref context from customize-rhdh-appearance to
customize-rhdh-navigation in proc-override-translations.adoc

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rhdh-bot

Copy link
Copy Markdown
Collaborator

Content Quality Assessment Results

## CQA Summary Checklist

- [x] **CQA #0:** Find Orphaned Modules and Images
- [x] **CQA #0:** Verify Directory Structure (<category>_<context> naming)
- [x] **CQA #3:** Verify Content Type Metadata
- [x] **CQA #13:** Verify Content Matches Declared Type
- [x] **CQA #10:** Verify Titles Are Brief, Complete, and Descriptive
- [x] **CQA #8:** Verify Short Description Content Quality
- [x] **CQA #9:** Verify Short Description Format
- [x] **CQA #11:** Verify Procedure Prerequisites
- [x] **CQA #2:** Verify Assembly Structure
- [x] **CQA #5:** Verify Required Modular Elements
- [x] **CQA #4:** Verify Module Templates
- [ ] **CQA #6:** Verify Assemblies Follow Official Template (One User Story)
    - [MANUAL] titles/configure_configuring-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 14 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 19 includes (consider splitting -- may cover multiple user stories, max 15)
    - [MANUAL] titles/configure_techdocs-for-rhdh/master.adoc: Has 4 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authentication-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 16 includes (consider splitting -- may cover multiple user stories, max 15)
- [x] **CQA #7:** Verify TOC Depth (Max 3 Levels)
- [x] **CQA #16:** Verify Official Product Names
- [x] **CQA #1:** Vale AsciiDoc DITA Compliance
- [x] **CQA #12:** Verify Grammar and Style (Vale)
- [x] **CQA #17:** Verify Legal Disclaimers for Preview Features
- [x] **CQA #14:** Verify No Broken Links
- [x] **CQA #15:** Check Redirects

---
**Total:** 19 checks | 18 passed | 1 with issues

To auto-fix what can be auto-fixed, run:

./build/scripts/cqa.sh --fix --all

To fix remaining issues, copy-paste this prompt to Claude:

Run ./build/scripts/cqa.sh --all, then for each failing CQA check, read the matching .claude/skills/cqa-*.md skill file and fix the [MANUAL] issues following the skill instructions.


Automated CQA check run on the entire repository

@rhdh-bot

Copy link
Copy Markdown
Collaborator

Shellcheck Analysis Results

Changed shell scripts in this PR: 26

Scripts analyzed:

  • build/scripts/align-title-directories.sh
  • build/scripts/cqa-00-directory-structure.sh
  • build/scripts/cqa-00-orphaned-modules.sh
  • build/scripts/cqa-01-asciidoctor-dita-vale.sh
  • build/scripts/cqa-02-assembly-structure.sh
  • build/scripts/cqa-03-content-is-modularized.sh
  • build/scripts/cqa-04-modules-use-official-templates.sh
  • build/scripts/cqa-05-modular-elements-checklist.sh
  • build/scripts/cqa-06-assemblies-use-the-official-template-assemblies-ar.sh
  • build/scripts/cqa-07-toc-max-3-levels.sh
  • build/scripts/cqa-08-short-description-content.sh
  • build/scripts/cqa-09-short-description-format.sh
  • build/scripts/cqa-10-titles-are-brief-complete-and-descriptive.sh
  • build/scripts/cqa-11-procedures-prerequisites.sh
  • build/scripts/cqa-12-content-is-grammatically-correct-and-follows-rules.sh
  • build/scripts/cqa-13-information-is-conveyed-using-the-correct-content.sh
  • build/scripts/cqa-14-no-broken-links.sh
  • build/scripts/cqa-15-redirects-if-needed-are-in-place-and-work-correc.sh
  • build/scripts/cqa-15-redirects.sh
  • build/scripts/cqa-16-official-product-names-are-used.sh
  • build/scripts/cqa-17-includes-appropriate-legal-approved-disclaimers-f.sh
  • build/scripts/cqa-lib.sh
  • build/scripts/cqa.sh
  • build/scripts/fix-orphaned-modules.sh
  • build/scripts/lint-scripts.sh
  • build/scripts/list-all-included-files-starting-from.sh

Check the Files changed tab for detailed shellcheck suggestions.

All findings are reported as warnings and won't block the PR.


Automated shellcheck analysis • See shellcheck.net for details

@rhdh-bot

Copy link
Copy Markdown
Collaborator

Content Quality Assessment Results

## CQA Summary Checklist

- [x] **CQA #0:** Find Orphaned Modules and Images
- [x] **CQA #0:** Verify Directory Structure (<category>_<context> naming)
- [x] **CQA #3:** Verify Content Type Metadata
- [x] **CQA #13:** Verify Content Matches Declared Type
- [x] **CQA #10:** Verify Titles Are Brief, Complete, and Descriptive
- [x] **CQA #8:** Verify Short Description Content Quality
- [x] **CQA #9:** Verify Short Description Format
- [x] **CQA #11:** Verify Procedure Prerequisites
- [x] **CQA #2:** Verify Assembly Structure
- [x] **CQA #5:** Verify Required Modular Elements
- [x] **CQA #4:** Verify Module Templates
- [ ] **CQA #6:** Verify Assemblies Follow Official Template (One User Story)
    - [MANUAL] titles/configure_configuring-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 14 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 19 includes (consider splitting -- may cover multiple user stories, max 15)
    - [MANUAL] titles/configure_techdocs-for-rhdh/master.adoc: Has 4 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authentication-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 16 includes (consider splitting -- may cover multiple user stories, max 15)
- [x] **CQA #7:** Verify TOC Depth (Max 3 Levels)
- [x] **CQA #16:** Verify Official Product Names
- [x] **CQA #1:** Vale AsciiDoc DITA Compliance
- [x] **CQA #12:** Verify Grammar and Style (Vale)
- [x] **CQA #17:** Verify Legal Disclaimers for Preview Features
- [x] **CQA #14:** Verify No Broken Links
- [x] **CQA #15:** Check Redirects

---
**Total:** 19 checks | 18 passed | 1 with issues

To auto-fix what can be auto-fixed, run:

./build/scripts/cqa.sh --fix --all

To fix remaining issues, copy-paste this prompt to Claude:

Run ./build/scripts/cqa.sh --all, then for each failing CQA check, read the matching .claude/skills/cqa-*.md skill file and fix the [MANUAL] issues following the skill instructions.


Automated CQA check run on the entire repository

Fix hardcoded xref context: _install-plugins-in-rhdh -> _plugins-in-rhdh
(module is included under assembly-plugins-in-rhdh with context plugins-in-rhdh)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@rhdh-bot

rhdh-bot commented Mar 20, 2026

Copy link
Copy Markdown
Collaborator

@themr0c themr0c merged commit ccbbad0 into redhat-developer:main Mar 20, 2026
14 of 21 checks passed
@themr0c themr0c deleted the RHIDP-12787-lint-sonar-and-cqa-fixes branch March 20, 2026 15:03
@rhdh-bot

Copy link
Copy Markdown
Collaborator

Content Quality Assessment Results

## CQA Summary Checklist

- [x] **CQA #0:** Find Orphaned Modules and Images
- [x] **CQA #0:** Verify Directory Structure (<category>_<context> naming)
- [x] **CQA #3:** Verify Content Type Metadata
- [x] **CQA #13:** Verify Content Matches Declared Type
- [x] **CQA #10:** Verify Titles Are Brief, Complete, and Descriptive
- [x] **CQA #8:** Verify Short Description Content Quality
- [x] **CQA #9:** Verify Short Description Format
- [x] **CQA #11:** Verify Procedure Prerequisites
- [x] **CQA #2:** Verify Assembly Structure
- [x] **CQA #5:** Verify Required Modular Elements
- [x] **CQA #4:** Verify Module Templates
- [ ] **CQA #6:** Verify Assemblies Follow Official Template (One User Story)
    - [MANUAL] titles/configure_configuring-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 14 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/configure_customizing-rhdh/master.adoc: Has 19 includes (consider splitting -- may cover multiple user stories, max 15)
    - [MANUAL] titles/configure_techdocs-for-rhdh/master.adoc: Has 4 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authentication-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 7 nested assembly includes (may cover multiple user stories, max 3)
    - [MANUAL] titles/control-access_authorization-in-rhdh/master.adoc: Has 16 includes (consider splitting -- may cover multiple user stories, max 15)
- [x] **CQA #7:** Verify TOC Depth (Max 3 Levels)
- [x] **CQA #16:** Verify Official Product Names
- [x] **CQA #1:** Vale AsciiDoc DITA Compliance
- [x] **CQA #12:** Verify Grammar and Style (Vale)
- [x] **CQA #17:** Verify Legal Disclaimers for Preview Features
- [x] **CQA #14:** Verify No Broken Links
- [x] **CQA #15:** Check Redirects

---
**Total:** 19 checks | 18 passed | 1 with issues

To auto-fix what can be auto-fixed, run:

./build/scripts/cqa.sh --fix --all

To fix remaining issues, copy-paste this prompt to Claude:

Run ./build/scripts/cqa.sh --all, then for each failing CQA check, read the matching .claude/skills/cqa-*.md skill file and fix the [MANUAL] issues following the skill instructions.


Automated CQA check run on the entire repository

themr0c added a commit that referenced this pull request Apr 22, 2026
Co-authored-by: Priyanka Abel <pabel@redhat.com>
Co-authored-by: GitHub Actions <github-actions@github.com>
Co-authored-by: Lokananda Prabhu <102503482+lokanandaprabhu@users.noreply.github.com>
Co-authored-by: Lindsay Hite <lhite@redhat.com>
Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com>
Co-authored-by: Jessica He <jessicahe4741@gmail.com>
Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com>
Co-authored-by: Nick Boldt <nboldt@redhat.com>
Co-authored-by: Fortune Ndlovu <ndlovufortune97@gmail.com>
Co-authored-by: Frank Kong <50030060+Zaperex@users.noreply.github.com>
Co-authored-by: Tomas Kral <tomas.kral@gmail.com>
Co-authored-by: Gerry-Forde <63045020+Gerry-Forde@users.noreply.github.com>
Co-authored-by: deerskindoll <jvrbkova@redhat.com>
Co-authored-by: Fabrice Flore-Thébault <ffloreth@redhat.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: rhdh-bot service account <rhdh-bot@redhat.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Jana Vrbkova <jvrbkova@redhat.com>
Co-authored-by: Armel Soro <armel@rm3l.org>
Co-authored-by: Joseph Kim <joskim@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Gaurav Trivedi <90042568+gtrivedi88@users.noreply.github.com>
Co-authored-by: OpenShift Cherrypick Robot <openshift-cherrypick-robot@redhat.com>
Co-authored-by: Omar Al Jaljuli <o.jaljuli@mail.utoronto.ca>
Co-authored-by: Tim O'Keefe <tokeefe@redhat.com>
Fix typo in service account information section (#1697)
Fix build on release branches (#1703)
fix-asciidoc-warnings (#1700)
fix to unblock the builds (#1775)
Fix broken link (#1788)
Fixing some mistakes I made previously (#1787)
fixed errors (#1826)
fix arrays not merged by default (#1814)
fix: remove session-leaking parameters from documentation URLs (#1845)
fix build (#1858)
Fix image statements (#1859)
Fix image statements (#1861)
FIX-1 - RHDH 1.9 GA release edits (#1867)
Fixed scorecard broken link (#1873)
Fix concept module title per CQA 2.1 requirement #8:
fixes from IDs per CQA requirement #6
fixes from module IDs per CQA requirement #6.
Fixed module titles to comply with Requirement #8:
Fixed module and assembly titles to comply with Requirement #8:
fixing 404 error for clusters sharing 1 PVC (#1923)
fix for About Red Hat Developer Hub (#1934)
fix for Authentication (#1937)
fix for Adoption Insights (#1935)
fix for Audit Logs (#1936)
fixes for authorization title (#1938)
Fix CQA workflow PR comment failing on backticks (#1951)
fix remaining CQA errors (#1950)
Fix CQA PR comment rendering issues (#1952)
Fix CQA-5 and CQA-17 violations across repo (#1957)
Fix remaining CQA violations in 3 leftover files (#1958)
fix broken xrefs (#1959)
fix book-link/book-title attributes (#1961)
Fix broken link: Casbin link in Orchestrator docs [main] (#1973)
Fixing CQA 16 (#1985)
fixes from OCI artifact paths (#1963)
Fix broken link to dynamic-plugins.default.yaml and orphaned upgrade module (#1995)
Fix CQA workflow: base branch diff and comment duplication (#1999)
Fix PR preview comment duplication (#2002)
fix: improve CQA-17 disclaimer detection accuracy (#2008)
fix: CQA workflow fetch base branch from upstream repo (#2013)
Fix build orchestrator js-yaml dependency failure in CI (#2016)
Fix PR check status not reflecting build failure (#2017)
Fix shellcheck workflow creating duplicate PR comments (#2015)
Fix incorrect auth provider resolvers for GitHub (#2038)
Fix typo connexion -> connection in LDAP docs (#2039)
Resolve all existing CQA violations on main branch (#2052)
Fix empty CQA output in CI when checks fail (#2057)
Fix CQA/build-orchestrator infinite recursion (#2059)
fix copyrights/exec lines for the various scripts; add one for running the cqa so we can check that locally too (#2067)
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.

2 participants