---
id: change/bcquality/174
type: change
title: "#174 Make BCQuality documentation easier for partners to get started"
summary: BCQuality documentation is reorganized to guide partners through practical first-use paths, leading with CLI prerequisites and plugin installation rather than internal architecture. Sample references across knowledge articles become clickable links, and the Community Agents review gains folder-path support.
tier: official
language: en
tags:
  - other
  - main
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:05:47.743Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 2b5550c3463017f498a47691f740c684471eaaf8
evidence:
  - kind: code
    url: https://github.com/microsoft/BCQuality/pull/174
    title: "microsoft/BCQuality#174: Make BCQuality documentation easier for partners to get started"
    date: "2026-09-09"
    commit: 2b5550c3463017f498a47691f740c684471eaaf8
    t: null
    quote: Lead the README with CLI prerequisites, plugin installation, an app-review example, expected outcomes, and task-based navigation.
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 174
repo: microsoft/BCQuality
source_id: bcquality-prs
url: https://github.com/microsoft/BCQuality/pull/174
kind: pr
base_branch: main
major: null
merged_at: "2026-09-09T15:31:04Z"
author: JesperSchulz
author_type: User
community_contribution: false
labels: []
change_class: code
change_kind: other
behavior_change: true
breaking: false
files:
  count: 276
  additions: 1285
  deletions: 754
  al: 264
apps: []
objects_touched: []
objects_unjoined:
  - path: community/knowledge/agents/agent-permissions-intersect-with-assigner.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/agent-profile-narrows-visible-ui.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/agent-setup-page-is-configuration-dialog.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/agent-setup-source-table-is-temporary.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/agent-setup-table-keyed-by-user-security-id.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/analyze-message-error-stops-warning-forces-review.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/bind-agent-subscribers-only-in-agent-session.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/cross-app-agent-calls-need-your-public-api.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/do-not-create-agents-in-install-upgrade-or-background.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/get-default-access-controls-least-privilege.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/get-default-profile-lives-in-the-app.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/instruction-structure-is-role-rules-steps.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/instructions-describe-work-not-tool-ids.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/reapply-resource-instructions-on-upgrade.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/register-copilot-capability-for-the-agent.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/set-instructions-as-secrettext.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/show-can-create-agent-does-not-block-code-create.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/skip-incoming-review-only-for-trusted-input.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/use-documented-instruction-keywords.md
    status: modified
    reason: not-in-snapshot
  - path: community/knowledge/agents/wire-all-three-agent-interfaces.md
    status: modified
    reason: not-in-snapshot
  - path: community/skills/review/al-agents-review.md
    status: modified
    reason: not-in-snapshot
  - path: custom/README.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/appsource/object-affixes-prevent-collisions.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/appsource/permission-sets-cover-setup-and-usage-without-super.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/breaking-changes/choose-access-modifiers-deliberately.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/breaking-changes/deprecate-public-members-with-the-obsolete-lifecycle.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/breaking-changes/do-not-change-published-procedure-signatures.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/breaking-changes/do-not-expose-sensitive-data-through-public-api.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/breaking-changes/do-not-modify-code-already-marked-obsolete.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/breaking-changes/obsolete-table-fields-instead-of-deleting-them.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/check-blocked-in-referencing-code-not-in-master.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/master-table-no-from-number-series-in-oninsert.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/owning-table-must-delete-dependents-in-ondelete.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/set-last-date-modified-in-onmodify-and-onrename.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/setup-table-is-a-singleton.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/share-mediaset-items-with-insert-not-field-assignment.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/table-relation-extensions-are-additive-and-top-down.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/transferfields-skip-type-mismatch-can-drop-data.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/use-no-series-codeunit-not-noseriesmanagement.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/validate-table-relation-false-suppresses-rename-propagation.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/data-modeling/xrec-is-a-before-image-only-in-some-triggers.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/error-handling/collect-validation-errors-with-errorbehavior.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/error-handling/errortype-internal-vs-client-for-diagnostics.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/error-handling/fielderror-default-message-logic.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/error-handling/fielderror-vs-testfield.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/error-handling/ignored-tryfunction-return-disables-try-semantics.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/error-handling/prefer-errorinfo-for-actionable-errors.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/add-new-event-parameters-at-the-end.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/avoid-loosely-typed-event-parameters.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/avoid-raising-events-inside-try-functions.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/choose-static-vs-manual-subscribers-deliberately.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/declare-event-publishers-local-or-internal.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/do-not-add-ishandled-to-an-existing-event.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/do-not-bypass-critical-operations-with-ishandled.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/do-not-change-shipped-event-attribute-flags.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/do-not-publish-events-inside-loops.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/expose-process-context-via-manually-bound-flag.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/name-event-parameters-without-abbreviations.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/name-events-by-publisher-position.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/prefer-reusing-or-extending-existing-events.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/prefer-this-over-includesender-in-codeunit-events.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/prefix-temporary-record-event-parameters-with-temp.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/preserve-onafter-execution-when-ishandled-skips-the-body.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/publish-thin-onbefore-onafter-integration-events.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/reset-ishandled-only-when-the-value-can-carry-over.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/treat-local-and-internal-events-as-subscriber-contracts.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/events/use-ishandled-to-make-base-behaviour-overridable.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/interfaces/assign-codeunit-to-interface-for-testability.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/interfaces/extend-published-interfaces-dont-edit-them.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/interfaces/handle-unknown-enum-ordinals-with-unknownvalueimplementation.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/interfaces/prefer-interface-over-case-branching.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/interfaces/set-defaultimplementation-on-enum.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/addloadfields-in-report-onpredataitem.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/apply-filters-before-iterating.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/apply-guards-before-get.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-cloning-records-before-modify-delete-in-loops.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-commit-inside-loops.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-currpage-update-in-onaftergetrecord.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-get-inside-loop-on-large-table.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-growing-globals-in-singleinstance-subscribers.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-recordref-in-hot-loop.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-redundant-get-when-record-already-loaded.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/avoid-user-prompts-inside-transactions.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/batch-number-series-instead-of-getnextno-per-row.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/boolean-operators-do-not-short-circuit.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/calcsums-instead-of-calcfields-in-loop.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/case-true-of-for-long-condition-chains.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/changecompany-in-loop-drops-caches.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/choose-maintainsiftindex-by-read-write-ratio.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/codeunit-run-as-atomic-sub-operation.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/codeunit-run-requires-prior-commit-inside-transaction.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/dataaccessintent-readonly-on-analytical-objects.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/do-not-locktable-in-read-only-procedure.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/do-not-modify-in-onaftergetrecord.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/do-not-remove-sourcetabletemporary-from-api-page.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/findset-true-applies-updlock-on-read.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/flowfield-source-key-needs-sumindexfields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/guard-event-subscribers-before-db-call.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/guiallowed-guard-on-pages-used-as-odata.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/hidden-flowfields-still-calculate-before-bc26-opt-in.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/httpclient-inside-write-transaction-holds-locks.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/isempty-before-findset-is-extra-round-trip.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/load-common-fields-before-branching-on-case.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/load-only-primary-key-fields-for-reference-work.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/maintainsqlindex-false-breaks-flowfield-sift.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/oncompanyopen-subscribers-must-not-do-io.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/order-case-branches-by-frequency.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/page-background-tasks-for-expensive-cues.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/pair-findset-with-next-loop.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/pass-false-to-insert-when-trigger-not-needed.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/pass-var-record-to-preserve-partial-load-enumerator.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/prefer-modifyall-over-per-row-modify.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/prefer-readisolation-over-locktable-for-reads.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/prefer-related-table-over-extension-on-hot-ledgers.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/query-results-bypass-primary-key-cache.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/reset-clears-partial-record-selection.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/setcurrentkey-sets-sort-order-not-index-hint.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/skip-setloadfields-on-write-and-transferfields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-dedicated-lookup-pages-not-full-lists.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-deleteall-for-filtered-bulk-deletion.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-isempty-for-existence-check.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-setautocalcfields-for-per-row-flowfields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-setloadfields-for-partial-records.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-tryfunction-for-error-catching-not-rollback.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/validate-on-partial-record-forces-jit.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/avoid-strsubstno-prebuild-before-error.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/data-classification-required-on-pii-fields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/errorinfo-telemetry-classification-and-errortype.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/featuretelemetry-customdimensions-no-pii.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/featuretelemetry-logerror-implicit-errortext.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/flowfield-flowfilter-classification-systemmetadata.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/getlasterrortext-customer-content-in-errors.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/no-pii-in-telemetry-message-string.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/privacy-notice-consent-for-external-data-transfer.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/register-integration-in-privacy-notice-registrations.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/session-logmessage-requires-dataclassification.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/privacy/table-level-data-classification-cascades.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/query/reopening-query-resets-cursor-but-keeps-filters.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/query/set-query-filters-before-open.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/al-has-no-built-in-htmlencode.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/commitbehavior-attribute-scopes-explicit-commits.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/compose-permission-sets-with-included-sets.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/getlasterrortext-storage-is-privacy-not-security.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/guard-bulk-operations-with-istemporary.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/indirect-permissions-for-elevated-access.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/inherent-permissions-minimal-grant.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/integrationevent-must-not-expose-secrets.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/integrationevent-var-parameter-bypasses-security-guards.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/internal-access-is-not-a-security-boundary.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/isolatedstorage-access-must-be-local-or-internal.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/isolatedstorage-datascope-module-vs-company.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/isolatedstorage-setencrypted-for-sensitive-values.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/nondebuggable-required-when-unwrapping-secrettext.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/permission-set-avoid-wildcard-grants.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/prefer-oauth2-over-api-keys-for-external-http-calls.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/protect-sensitive-data-in-temporary-tables.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/recordref-open-with-caller-table-must-not-be-public.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/secrets-isolated-storage.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/secretstrsubstno-for-composing-secrets.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/secrettext-for-credentials.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/secrettext-with-httpclient.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/validate-user-configurable-urls.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/security/validatetablerelation-false-on-user-input.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/abouttitle-abouttext-teaching-tips.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/api-page-camelcase-properties.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/api-page-delayedinsert-true.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/api-page-entity-naming-singular-plural.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/api-page-version-format.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/applicationarea-required-on-page-controls.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/begin-on-same-line-as-then-else-do.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/block-keywords-start-new-line.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/caption-required-on-page-fields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/case-action-on-line-after-possibility.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/error-passes-parameters-directly-not-strsubstno.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/fieldcaption-not-fieldname-in-user-messages.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/function-call-parentheses-required.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/label-comment-explains-placeholders.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/label-locked-for-non-translatable.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/label-suffix-approved-list.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/lowercase-reserved-keywords.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/named-invocations-not-object-ids.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/no-begin-end-around-single-statement.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/no-else-after-terminating-statement.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/no-space-before-method-parenthesis.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/optioncaption-required-and-matches-membercount.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/single-space-after-not-operator.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/single-space-around-binary-operators.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/temporary-variable-temp-prefix.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/this-keyword-in-codeunits.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/tooltip-required-on-page-fields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/variable-declaration-order-by-type.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/style/variable-name-must-not-shadow.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/telemetry/choose-telemetry-scope-by-audience.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/telemetry/feature-uptake-transitions-in-order.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/telemetry/feature-usage-only-after-success.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/telemetry/keep-custom-dimension-schema-stable.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/telemetry/match-verbosity-to-signal-severity.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/telemetry/register-one-telemetry-logger-per-publisher.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/telemetry/telemetry-event-id-stable-unique.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/testing/asserterror-needs-expectederror-and-code.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/testing/permission-tests-must-lower-the-execution-context.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/testing/testisolation-belongs-on-the-test-runner.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/testing/transactionmodel-attribute-governs-test-transactions.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/testing/ui-handlers-in-tests.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/testing/use-library-codeunits-for-test-fixtures.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/caption-capitalization-noun-phrase-vs-sentence-phrase.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/control-addin-package-resource-ajax-needs-withcredentials.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/control-addin-throttle-al-calls-and-payload-size.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/default-descending-sort-on-historical-pages.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/grid-data-table-heuristic.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/group-labeled-first-child-exception.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/no-nested-grids.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/semantic-style-in-cuegroup-exception.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/semantic-styles-need-independent-textual-meaning.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/set-selection-filter-list-scope.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/show-caption-false-allowed-on-non-editable-fields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/show-caption-in-promptdialog-prompt-area.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/show-caption-in-repeater-allowed.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/show-caption-on-editable-fields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/showmandatory-on-code-required-page-fields.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/standalone-content-in-layout-table.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/style-expr-text-vs-boolean.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/tabular-intent-requires-data-table-conditions.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/ui/validate-request-page-input-in-onqueryclosepage.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/breaking-changes-only-on-tables-without-data.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/check-only-triggers-do-not-migrate-data.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/datatransfer-for-bulk-init.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/datatransfer-skips-triggers-and-subscribers.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/do-not-block-upgrade-on-data-errors.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/enum-values-additive-at-end.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/first-install-dataversion-zero-check.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/guard-database-reads.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/initvalue-does-not-update-existing-rows.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/install-code-does-not-run-on-version-upgrade.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/minimize-onvalidate-upgrade-triggers.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/no-external-calls-in-upgrade.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/obsolete-pending-to-removed-staging.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/obsoletion-requires-reason-and-tag.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/register-upgrade-tags-with-subscribers.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/skip-nonessential-work-via-execution-context.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/triggers-call-helpers-not-implementations.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/upgrade-codeunit-subtype.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/upgrade/use-upgrade-tags-not-version-checks.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/api-enum-values-are-a-contract-by-name-not-ordinal.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/disable-write-operations-on-read-only-api-pages.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/expose-only-committed-data-from-api-reads.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/expose-operations-as-bound-actions.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/expose-systemid-as-the-api-key.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/link-api-parts-on-systemid-and-set-multiplicity.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/set-required-api-page-properties.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/version-apis-by-adding-not-mutating-published-versions.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/web-services/webhook-eligibility-and-validationtoken-renewal.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/skills/review/al-breaking-changes-review.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/skills/review/al-code-review.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/skills/review/al-error-handling-review.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/skills/review/al-events-review.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/skills/review/al-performance-review.md
    status: modified
    reason: not-in-snapshot
  - path: microsoft/skills/review/al-security-review.md
    status: modified
    reason: not-in-snapshot
  - path: skills/do.md
    status: modified
    reason: not-in-snapshot
  - path: skills/read.md
    status: modified
    reason: not-in-snapshot
  - path: skills/write.md
    status: modified
    reason: not-in-snapshot
obsoletions: []
backports: []
fixes_issues: []
work_items: []
systems:
  - development
  - platform
quote: Lead the README with CLI prerequisites, plugin installation, an app-review example, expected outcomes, and task-based navigation.
joined_against:
  major: null
  commit: null
---

# #174 Make BCQuality documentation easier for partners to get started

> BCQuality documentation is reorganized to guide partners through practical first-use paths, leading with CLI prerequisites and plugin installation rather than internal architecture. Sample references across knowledge articles become clickable links, and the Community Agents review gains folder-path support.

[Pull request](https://github.com/microsoft/BCQuality/pull/174) · merged into `main` on 2026-09-09 by JesperSchulz · 276 files (+1285 -754), 264 AL · other · tier official · reviewed (checked by Opus)

## What changed

- README restructured with task-based navigation for partners
- 491 sample references converted to clickable links across 253 articles
- New focused guides for usage, troubleshooting, customization, and contributing
- Community Agents review extended with folder-path support
- Architecture details moved to advanced references
- Behaviour changes for users or extensions.

## AL objects touched

- `community/knowledge/agents/agent-permissions-intersect-with-assigner.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/agent-profile-narrows-visible-ui.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/agent-setup-page-is-configuration-dialog.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/agent-setup-source-table-is-temporary.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/agent-setup-table-keyed-by-user-security-id.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/analyze-message-error-stops-warning-forces-review.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/bind-agent-subscribers-only-in-agent-session.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/cross-app-agent-calls-need-your-public-api.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/do-not-create-agents-in-install-upgrade-or-background.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/get-default-access-controls-least-privilege.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/get-default-profile-lives-in-the-app.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/instruction-structure-is-role-rules-steps.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/instructions-describe-work-not-tool-ids.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/reapply-resource-instructions-on-upgrade.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/register-copilot-capability-for-the-agent.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/set-instructions-as-secrettext.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/show-can-create-agent-does-not-block-code-create.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/skip-incoming-review-only-for-trusted-input.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/use-documented-instruction-keywords.md`: modified, not in the BC? snapshot
- `community/knowledge/agents/wire-all-three-agent-interfaces.md`: modified, not in the BC? snapshot
- `community/skills/review/al-agents-review.md`: modified, not in the BC? snapshot
- `custom/README.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/appsource/object-affixes-prevent-collisions.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/appsource/permission-sets-cover-setup-and-usage-without-super.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/appsource/two-level-namespace-replaces-object-affix-not-extension-member-affix.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/breaking-changes/choose-access-modifiers-deliberately.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/breaking-changes/deprecate-public-members-with-the-obsolete-lifecycle.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/breaking-changes/do-not-change-published-procedure-signatures.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/breaking-changes/do-not-expose-sensitive-data-through-public-api.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/breaking-changes/do-not-modify-code-already-marked-obsolete.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/breaking-changes/namespace-is-part-of-published-object-identity.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/breaking-changes/obsolete-table-fields-instead-of-deleting-them.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/check-blocked-in-referencing-code-not-in-master.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/master-table-no-from-number-series-in-oninsert.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/owning-table-must-delete-dependents-in-ondelete.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/set-last-date-modified-in-onmodify-and-onrename.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/setup-table-is-a-singleton.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/share-mediaset-items-with-insert-not-field-assignment.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/table-relation-extensions-are-additive-and-top-down.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/transferfields-skip-type-mismatch-can-drop-data.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/use-no-series-codeunit-not-noseriesmanagement.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/validate-table-relation-false-suppresses-rename-propagation.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/data-modeling/xrec-is-a-before-image-only-in-some-triggers.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/error-handling/collect-validation-errors-with-errorbehavior.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/error-handling/errortype-internal-vs-client-for-diagnostics.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/error-handling/fielderror-default-message-logic.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/error-handling/fielderror-vs-testfield.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/error-handling/ignored-tryfunction-return-disables-try-semantics.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/error-handling/prefer-errorinfo-for-actionable-errors.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/add-new-event-parameters-at-the-end.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/avoid-loosely-typed-event-parameters.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/avoid-raising-events-inside-try-functions.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/choose-static-vs-manual-subscribers-deliberately.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/declare-event-publishers-local-or-internal.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/do-not-add-ishandled-to-an-existing-event.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/do-not-bypass-critical-operations-with-ishandled.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/do-not-change-shipped-event-attribute-flags.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/do-not-publish-events-inside-loops.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/expose-process-context-via-manually-bound-flag.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/name-event-parameters-without-abbreviations.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/name-events-by-publisher-position.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/prefer-reusing-or-extending-existing-events.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/prefer-this-over-includesender-in-codeunit-events.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/prefix-temporary-record-event-parameters-with-temp.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/preserve-onafter-execution-when-ishandled-skips-the-body.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/publish-thin-onbefore-onafter-integration-events.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/reset-ishandled-only-when-the-value-can-carry-over.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/treat-local-and-internal-events-as-subscriber-contracts.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/events/use-ishandled-to-make-base-behaviour-overridable.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/interfaces/assign-codeunit-to-interface-for-testability.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/interfaces/extend-published-interfaces-dont-edit-them.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/interfaces/handle-unknown-enum-ordinals-with-unknownvalueimplementation.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/interfaces/prefer-interface-over-case-branching.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/interfaces/set-defaultimplementation-on-enum.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/addloadfields-in-report-onpredataitem.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/apply-filters-before-iterating.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/apply-guards-before-get.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-cloning-records-before-modify-delete-in-loops.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-commit-inside-loops.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-currpage-update-in-onaftergetrecord.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-get-inside-loop-on-large-table.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-growing-globals-in-singleinstance-subscribers.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-recordref-in-hot-loop.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-redundant-get-when-record-already-loaded.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/avoid-user-prompts-inside-transactions.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/batch-number-series-instead-of-getnextno-per-row.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/boolean-operators-do-not-short-circuit.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/calcsums-instead-of-calcfields-in-loop.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/case-true-of-for-long-condition-chains.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/changecompany-in-loop-drops-caches.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/choose-maintainsiftindex-by-read-write-ratio.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/codeunit-run-as-atomic-sub-operation.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/codeunit-run-requires-prior-commit-inside-transaction.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/dataaccessintent-readonly-on-analytical-objects.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/do-not-locktable-in-read-only-procedure.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/do-not-modify-in-onaftergetrecord.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/do-not-remove-sourcetabletemporary-from-api-page.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/findset-true-applies-updlock-on-read.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/flowfield-source-key-needs-sumindexfields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/guard-event-subscribers-before-db-call.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/guiallowed-guard-on-pages-used-as-odata.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/hidden-flowfields-still-calculate-before-bc26-opt-in.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/httpclient-inside-write-transaction-holds-locks.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/isempty-before-findset-is-extra-round-trip.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/load-common-fields-before-branching-on-case.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/load-only-primary-key-fields-for-reference-work.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/maintainsqlindex-false-breaks-flowfield-sift.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/oncompanyopen-subscribers-must-not-do-io.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/order-case-branches-by-frequency.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/page-background-tasks-for-expensive-cues.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/pair-findset-with-next-loop.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/pass-false-to-insert-when-trigger-not-needed.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/pass-var-record-to-preserve-partial-load-enumerator.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/prefer-modifyall-over-per-row-modify.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/prefer-readisolation-over-locktable-for-reads.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/prefer-related-table-over-extension-on-hot-ledgers.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/query-results-bypass-primary-key-cache.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/reset-clears-partial-record-selection.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/setcurrentkey-sets-sort-order-not-index-hint.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/skip-setloadfields-on-write-and-transferfields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-dedicated-lookup-pages-not-full-lists.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-deleteall-for-filtered-bulk-deletion.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-isempty-for-existence-check.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-setautocalcfields-for-per-row-flowfields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-setloadfields-for-partial-records.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-tryfunction-for-error-catching-not-rollback.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/validate-on-partial-record-forces-jit.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/avoid-strsubstno-prebuild-before-error.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/data-classification-required-on-pii-fields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/errorinfo-telemetry-classification-and-errortype.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/featuretelemetry-customdimensions-no-pii.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/featuretelemetry-logerror-implicit-errortext.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/flowfield-flowfilter-classification-systemmetadata.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/getlasterrortext-customer-content-in-errors.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/no-pii-in-telemetry-message-string.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/privacy-notice-consent-for-external-data-transfer.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/register-integration-in-privacy-notice-registrations.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/session-logmessage-requires-dataclassification.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/privacy/table-level-data-classification-cascades.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/query/reopening-query-resets-cursor-but-keeps-filters.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/query/set-query-filters-before-open.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/al-has-no-built-in-htmlencode.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/commitbehavior-attribute-scopes-explicit-commits.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/compose-permission-sets-with-included-sets.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/getlasterrortext-storage-is-privacy-not-security.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/guard-bulk-operations-with-istemporary.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/indirect-permissions-for-elevated-access.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/inherent-permissions-minimal-grant.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/integrationevent-must-not-expose-secrets.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/integrationevent-var-parameter-bypasses-security-guards.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/internal-access-is-not-a-security-boundary.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/isolatedstorage-access-must-be-local-or-internal.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/isolatedstorage-datascope-module-vs-company.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/isolatedstorage-setencrypted-for-sensitive-values.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/nondebuggable-required-when-unwrapping-secrettext.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/permission-set-avoid-wildcard-grants.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/prefer-oauth2-over-api-keys-for-external-http-calls.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/protect-sensitive-data-in-temporary-tables.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/recordref-open-with-caller-table-must-not-be-public.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/secrets-isolated-storage.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/secretstrsubstno-for-composing-secrets.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/secrettext-for-credentials.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/secrettext-with-httpclient.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/validate-user-configurable-urls.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/security/validatetablerelation-false-on-user-input.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/abouttitle-abouttext-teaching-tips.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/api-page-camelcase-properties.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/api-page-delayedinsert-true.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/api-page-entity-naming-singular-plural.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/api-page-version-format.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/applicationarea-required-on-page-controls.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/begin-on-same-line-as-then-else-do.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/block-keywords-start-new-line.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/caption-required-on-page-fields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/case-action-on-line-after-possibility.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/error-passes-parameters-directly-not-strsubstno.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/fieldcaption-not-fieldname-in-user-messages.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/function-call-parentheses-required.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/label-comment-explains-placeholders.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/label-locked-for-non-translatable.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/label-suffix-approved-list.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/lowercase-reserved-keywords.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/named-invocations-not-object-ids.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/no-begin-end-around-single-statement.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/no-else-after-terminating-statement.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/no-space-before-method-parenthesis.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/optioncaption-required-and-matches-membercount.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/single-space-after-not-operator.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/single-space-around-binary-operators.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/temporary-variable-temp-prefix.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/this-keyword-in-codeunits.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/tooltip-required-on-page-fields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/variable-declaration-order-by-type.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/style/variable-name-must-not-shadow.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/telemetry/choose-telemetry-scope-by-audience.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/telemetry/feature-uptake-transitions-in-order.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/telemetry/feature-usage-only-after-success.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/telemetry/keep-custom-dimension-schema-stable.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/telemetry/match-verbosity-to-signal-severity.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/telemetry/register-one-telemetry-logger-per-publisher.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/telemetry/telemetry-event-id-stable-unique.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/testing/asserterror-needs-expectederror-and-code.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/testing/permission-tests-must-lower-the-execution-context.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/testing/testisolation-belongs-on-the-test-runner.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/testing/transactionmodel-attribute-governs-test-transactions.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/testing/ui-handlers-in-tests.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/testing/use-library-codeunits-for-test-fixtures.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/caption-capitalization-noun-phrase-vs-sentence-phrase.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/control-addin-package-resource-ajax-needs-withcredentials.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/control-addin-throttle-al-calls-and-payload-size.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/default-descending-sort-on-historical-pages.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/grid-data-table-heuristic.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/group-labeled-first-child-exception.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/no-nested-grids.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/semantic-style-in-cuegroup-exception.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/semantic-styles-need-independent-textual-meaning.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/set-selection-filter-list-scope.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/show-caption-false-allowed-on-non-editable-fields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/show-caption-in-promptdialog-prompt-area.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/show-caption-in-repeater-allowed.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/show-caption-on-editable-fields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/showmandatory-on-code-required-page-fields.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/standalone-content-in-layout-table.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/style-expr-text-vs-boolean.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/tabular-intent-requires-data-table-conditions.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/ui/validate-request-page-input-in-onqueryclosepage.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/breaking-changes-only-on-tables-without-data.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/check-only-triggers-do-not-migrate-data.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/datatransfer-for-bulk-init.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/datatransfer-skips-triggers-and-subscribers.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/do-not-block-upgrade-on-data-errors.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/enum-values-additive-at-end.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/first-install-dataversion-zero-check.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/guard-database-reads.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/initvalue-does-not-update-existing-rows.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/install-code-does-not-run-on-version-upgrade.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/minimize-onvalidate-upgrade-triggers.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/no-external-calls-in-upgrade.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/obsolete-pending-to-removed-staging.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/obsoletion-requires-reason-and-tag.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/register-upgrade-tags-with-subscribers.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/skip-nonessential-work-via-execution-context.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/triggers-call-helpers-not-implementations.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/upgrade-codeunit-subtype.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/upgrade/use-upgrade-tags-not-version-checks.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/api-enum-values-are-a-contract-by-name-not-ordinal.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/disable-write-operations-on-read-only-api-pages.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/expose-only-committed-data-from-api-reads.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/expose-operations-as-bound-actions.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/expose-systemid-as-the-api-key.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/link-api-parts-on-systemid-and-set-multiplicity.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/set-required-api-page-properties.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/version-apis-by-adding-not-mutating-published-versions.md`: modified, not in the BC? snapshot
- `microsoft/knowledge/web-services/webhook-eligibility-and-validationtoken-renewal.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-code-review.md`: modified, not in the BC? snapshot
- `microsoft/skills/review/al-error-handling-review.md`: modified, not in the BC? snapshot
- `microsoft/skills/review/al-events-review.md`: modified, not in the BC? snapshot
- `microsoft/skills/review/al-performance-review.md`: modified, not in the BC? snapshot
- `microsoft/skills/review/al-security-review.md`: modified, not in the BC? snapshot
- `skills/do.md`: modified, not in the BC? snapshot
- `skills/read.md`: modified, not in the BC? snapshot
- `skills/write.md`: modified, not in the BC? snapshot

## Context

- Systems: development, platform
- From the description: "Lead the README with CLI prerequisites, plugin installation, an app-review example, expected outcomes, and task-based navigation."

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).
