code change · refactorAL Developmentofficial - Microsoftreviewed - checked by Opus

#178 Separate deterministic analyzer rules from BCQuality

Deterministic analyzer rules and their documentation are removed from BCQuality, leaving only knowledge that adds BC-specific context beyond what the compiler already enforces.

Pull request · merged into main on 2026-09-11 by JesperSchulz · 60 files (+45 -1095), 55 AL · refactor · tier official · reviewed (checked by Opus)

What changed

  • 18 deterministic rules and their samples are retired, including CodeCop formatting and style rules, AS0062, AS0011, AS0007 and compiler-enforced subscriber parameter matching
  • The Style, AppSource and Breaking Changes review skills no longer contain detection or example logic for these rules
  • The admission test now excludes compiler and analyzer duplicates for both review and authoring
  • Analyzer-related knowledge stays only when it adds exceptions, version boundaries, cross-object implications or remediation constraints
  • Deterministic tooling handles mechanical facts, while BCQuality focuses on BC-specific reasoning
  • Behaviour changes for users or extensions.

AL objects touched

  • microsoft/knowledge/appsource/object-affixes-prevent-collisions.bad.al: removed
  • microsoft/knowledge/appsource/object-affixes-prevent-collisions.good.al: removed
  • microsoft/knowledge/appsource/object-affixes-prevent-collisions.md: removed
  • microsoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.bad.al: removed
  • microsoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.good.al: removed
  • microsoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.md: removed
  • microsoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.bad.al: removed
  • microsoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.good.al: removed
  • microsoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.md: removed
  • microsoft/knowledge/style/applicationarea-required-on-page-controls.bad.al: removed
  • microsoft/knowledge/style/applicationarea-required-on-page-controls.good.al: removed
  • microsoft/knowledge/style/applicationarea-required-on-page-controls.md: removed
  • microsoft/knowledge/style/begin-on-same-line-as-then-else-do.bad.al: removed
  • microsoft/knowledge/style/begin-on-same-line-as-then-else-do.good.al: removed
  • microsoft/knowledge/style/begin-on-same-line-as-then-else-do.md: removed
  • microsoft/knowledge/style/block-keywords-start-new-line.bad.al: removed
  • microsoft/knowledge/style/block-keywords-start-new-line.good.al: removed
  • microsoft/knowledge/style/block-keywords-start-new-line.md: removed
  • microsoft/knowledge/style/event-subscriber-param-names-match-publisher.md: removed
  • microsoft/knowledge/style/function-call-parentheses-required.bad.al: removed
  • microsoft/knowledge/style/function-call-parentheses-required.good.al: removed
  • microsoft/knowledge/style/function-call-parentheses-required.md: removed
  • microsoft/knowledge/style/label-suffix-approved-list.bad.al: removed
  • microsoft/knowledge/style/label-suffix-approved-list.good.al: removed
  • microsoft/knowledge/style/label-suffix-approved-list.md: removed
  • microsoft/knowledge/style/lowercase-reserved-keywords.bad.al: removed
  • microsoft/knowledge/style/lowercase-reserved-keywords.good.al: removed
  • microsoft/knowledge/style/lowercase-reserved-keywords.md: removed
  • microsoft/knowledge/style/no-begin-end-around-single-statement.bad.al: removed
  • microsoft/knowledge/style/no-begin-end-around-single-statement.good.al: removed
  • microsoft/knowledge/style/no-begin-end-around-single-statement.md: removed
  • microsoft/knowledge/style/no-space-before-method-parenthesis.bad.al: removed
  • microsoft/knowledge/style/no-space-before-method-parenthesis.good.al: removed
  • microsoft/knowledge/style/no-space-before-method-parenthesis.md: removed
  • microsoft/knowledge/style/optioncaption-required-and-matches-membercount.bad.al: removed
  • microsoft/knowledge/style/optioncaption-required-and-matches-membercount.good.al: removed
  • microsoft/knowledge/style/optioncaption-required-and-matches-membercount.md: removed
  • microsoft/knowledge/style/single-space-after-not-operator.bad.al: removed
  • microsoft/knowledge/style/single-space-after-not-operator.good.al: removed
  • microsoft/knowledge/style/single-space-after-not-operator.md: removed
  • microsoft/knowledge/style/single-space-around-binary-operators.bad.al: removed
  • microsoft/knowledge/style/single-space-around-binary-operators.good.al: removed
  • microsoft/knowledge/style/single-space-around-binary-operators.md: removed
  • microsoft/knowledge/style/this-keyword-in-codeunits.bad.al: removed
  • microsoft/knowledge/style/this-keyword-in-codeunits.good.al: removed
  • microsoft/knowledge/style/this-keyword-in-codeunits.md: removed
  • microsoft/knowledge/style/variable-declaration-order-by-type.bad.al: removed
  • microsoft/knowledge/style/variable-declaration-order-by-type.good.al: removed
  • microsoft/knowledge/style/variable-declaration-order-by-type.md: removed
  • microsoft/knowledge/style/variable-name-must-not-shadow.bad.al: removed
  • microsoft/knowledge/style/variable-name-must-not-shadow.good.al: removed
  • microsoft/knowledge/style/variable-name-must-not-shadow.md: removed
  • microsoft/skills/review/al-appsource-review.md: modified, not in the BC? snapshot
  • microsoft/skills/review/al-breaking-changes-review.md: modified, not in the BC? snapshot
  • microsoft/skills/review/al-style-review.md: modified, not in the BC? snapshot

Context

  • Systems: development, platform
  • From the description: “deterministic tooling establishes mechanical facts; BCQuality and the LLM focus on BC-specific context and reasoning”

Source: metadata of a merged pull request in microsoft/BCQuality (bcquality): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).