#108 Complete AL review knowledge readiness
AL review knowledge expanded with new guidance on telemetry, Query objects, AppSource, breaking changes, and security; content gaps fixed, and validation harness added for consistent small-model evaluation.
- 105files
- 99AL files
- 0objects
Pull request · merged into main on 2026-07-15 by JesperSchulz · 105 files (+2229 -212), 99 AL · feature · tier official · reviewed (checked by Opus)
What changed
- Added comprehensive telemetry and Query object knowledge with paired review skills and code examples
- Fixed content defects in obsolete-field, page-caption, and background-task guidance
- Introduced convention-driven evaluation harness mapping knowledge domains to review leaves with deterministic positive/clean controls
- Strengthened AppSource, security, breaking changes, data modeling, and performance domains with new high-value guidance
- Established reproducible validation with 239 articles, zero errors, and Claude Haiku verification across 16 leaves
AL objects touched
microsoft/knowledge/appsource/object-affixes-prevent-collisions.md: modified, not in the BC? snapshotmicrosoft/knowledge/appsource/permission-sets-cover-setup-and-usage-without-super.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/appsource/permission-sets-cover-setup-and-usage-without-super.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/appsource/permission-sets-cover-setup-and-usage-without-super.md: added, not in the BC? snapshot yetmicrosoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.md: added, not in the BC? snapshot yetmicrosoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.md: added, not in the BC? snapshot yetmicrosoft/knowledge/breaking-changes/obsolete-table-fields-instead-of-deleting-them.bad.al: modified, not in the BC? snapshotmicrosoft/knowledge/breaking-changes/obsolete-table-fields-instead-of-deleting-them.good.al: modified, not in the BC? snapshotmicrosoft/knowledge/breaking-changes/obsolete-table-fields-instead-of-deleting-them.md: modified, not in the BC? snapshotmicrosoft/knowledge/data-modeling/share-mediaset-items-with-insert-not-field-assignment.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/data-modeling/share-mediaset-items-with-insert-not-field-assignment.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/data-modeling/share-mediaset-items-with-insert-not-field-assignment.md: added, not in the BC? snapshot yetmicrosoft/knowledge/data-modeling/table-relation-extensions-are-additive-and-top-down.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/data-modeling/table-relation-extensions-are-additive-and-top-down.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/data-modeling/table-relation-extensions-are-additive-and-top-down.md: added, not in the BC? snapshot yetmicrosoft/knowledge/error-handling/fielderror-default-message-logic.md: modified, not in the BC? snapshotmicrosoft/knowledge/error-handling/fielderror-vs-testfield.md: modified, not in the BC? snapshotmicrosoft/knowledge/error-handling/ignored-tryfunction-return-disables-try-semantics.md: modified, not in the BC? snapshotmicrosoft/knowledge/performance/hidden-flowfields-still-calculate-before-bc26-opt-in.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/hidden-flowfields-still-calculate-before-bc26-opt-in.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/hidden-flowfields-still-calculate-before-bc26-opt-in.md: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/use-tryfunction-for-error-catching-not-rollback.md: modified, not in the BC? snapshotmicrosoft/knowledge/privacy/avoid-strsubstno-prebuild-before-error.md: modified, not in the BC? snapshotmicrosoft/knowledge/privacy/error-direct-substitution-safe-for-telemetry.good.al: removedmicrosoft/knowledge/privacy/error-direct-substitution-safe-for-telemetry.md: removedmicrosoft/knowledge/privacy/no-pii-in-telemetry-message-string.bad.al: modified, not in the BC? snapshotmicrosoft/knowledge/privacy/no-pii-in-telemetry-message-string.good.al: modified, not in the BC? snapshotmicrosoft/knowledge/privacy/session-logmessage-requires-dataclassification.bad.al: modified, not in the BC? snapshotmicrosoft/knowledge/privacy/session-logmessage-requires-dataclassification.good.al: modified, not in the BC? snapshotmicrosoft/knowledge/query/reopening-query-resets-cursor-but-keeps-filters.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/query/reopening-query-resets-cursor-but-keeps-filters.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/query/reopening-query-resets-cursor-but-keeps-filters.md: added, not in the BC? snapshot yetmicrosoft/knowledge/query/set-query-filters-before-open.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/query/set-query-filters-before-open.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/query/set-query-filters-before-open.md: added, not in the BC? snapshot yetmicrosoft/knowledge/security/classify-every-field-with-dataclassification.bad.al: removedmicrosoft/knowledge/security/classify-every-field-with-dataclassification.good.al: removedmicrosoft/knowledge/security/classify-every-field-with-dataclassification.md: removedmicrosoft/knowledge/security/internal-access-is-not-a-security-boundary.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/security/internal-access-is-not-a-security-boundary.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/security/internal-access-is-not-a-security-boundary.md: added, not in the BC? snapshot yetmicrosoft/knowledge/security/secrets-isolated-storage.md: modified, not in the BC? snapshotmicrosoft/knowledge/security/secrettext-for-credentials.md: modified, not in the BC? snapshotmicrosoft/knowledge/security/secrettext-with-httpclient.md: modified, not in the BC? snapshotmicrosoft/knowledge/style/caption-required-on-page-fields.bad.al: modified, not in the BC? snapshotmicrosoft/knowledge/style/caption-required-on-page-fields.good.al: modified, not in the BC? snapshotmicrosoft/knowledge/style/temporary-variable-temp-prefix.md: modified, not in the BC? snapshotmicrosoft/knowledge/telemetry/choose-telemetry-scope-by-audience.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/choose-telemetry-scope-by-audience.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/choose-telemetry-scope-by-audience.md: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/feature-uptake-transitions-in-order.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/feature-uptake-transitions-in-order.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/feature-uptake-transitions-in-order.md: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/feature-usage-only-after-success.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/feature-usage-only-after-success.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/feature-usage-only-after-success.md: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/keep-custom-dimension-schema-stable.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/keep-custom-dimension-schema-stable.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/keep-custom-dimension-schema-stable.md: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/match-verbosity-to-signal-severity.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/match-verbosity-to-signal-severity.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/match-verbosity-to-signal-severity.md: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/register-one-telemetry-logger-per-publisher.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/register-one-telemetry-logger-per-publisher.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/register-one-telemetry-logger-per-publisher.md: added, not in the BC? snapshot yetmicrosoft/knowledge/telemetry/telemetry-event-id-stable-unique.bad.al: renamed, not in the BC? snapshotmicrosoft/knowledge/telemetry/telemetry-event-id-stable-unique.good.al: renamed, not in the BC? snapshotmicrosoft/knowledge/telemetry/telemetry-event-id-stable-unique.md: renamed, not in the BC? snapshotmicrosoft/knowledge/testing/permission-tests-must-lower-the-execution-context.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/permission-tests-must-lower-the-execution-context.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/permission-tests-must-lower-the-execution-context.md: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/testisolation-belongs-on-the-test-runner.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/testisolation-belongs-on-the-test-runner.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/testisolation-belongs-on-the-test-runner.md: added, not in the BC? snapshot yetmicrosoft/knowledge/ui/page-background-tasks.md: modified, not in the BC? snapshotmicrosoft/knowledge/upgrade/do-not-block-upgrade-on-data-errors.good.al: modified, not in the BC? snapshotmicrosoft/skills/review/al-appsource-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-breaking-changes-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-code-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-data-modeling-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-error-handling-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-events-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-interfaces-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-performance-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-privacy-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-query-review.md: added, not in the BC? snapshot yetmicrosoft/skills/review/al-security-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-style-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-telemetry-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-testing-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-upgrade-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-web-services-review.md: modified, not in the BC? snapshotskills/bcquality-al-review/SKILL.md: modified, not in the BC? snapshotskills/do.md: modified, not in the BC? snapshotskills/write.md: modified, not in the BC? snapshot
Context
- Systems: development
- From the description: “Adds first-class telemetry and Query knowledge and review leaves, and strengthens AppSource, breaking changes, data modeling, performance, security, and testing coverage.”
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).