mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 22:56:55 +01:00
- add SCM guidance for deriving base quantities through line unit-of-measure validation`n- add security guidance for parameterizing SetFilter with external text`n- add test isolation guidance for resetting per-test state before initialization guards`n- add web-service guidance for JSON null handling and invariant standard format 9`n- route and cover all five rules with paired evaluation fixtures
118 lines
4.2 KiB
JSON
118 lines
4.2 KiB
JSON
{
|
|
"version": 2,
|
|
"selection": "first-paired-al-article",
|
|
"minimumExpectedRecall": 1.0,
|
|
"minimumCleanRate": 1.0,
|
|
"coverageWaivers": [],
|
|
"overrides": {
|
|
"agents": {
|
|
"article": "wire-all-three-agent-interfaces"
|
|
},
|
|
"breaking-changes": {
|
|
"article": "do-not-expose-sensitive-data-through-public-api"
|
|
},
|
|
"events": {
|
|
"article": "reset-ishandled-only-when-the-value-can-carry-over"
|
|
},
|
|
"finance": {
|
|
"articles": [
|
|
"apply-ledger-entries-through-application-codeunits",
|
|
"change-ledger-due-dates-through-entry-edit",
|
|
"do-not-edit-shared-dimension-sets",
|
|
"do-not-modify-or-delete-posted-ledger-entries",
|
|
"normal-vat-journal-amount-includes-vat",
|
|
"post-ledger-entries-through-posting-codeunits",
|
|
"preserve-journal-batch-document-balance",
|
|
"reverse-transactions-by-transaction-number",
|
|
"write-dimensions-as-dimension-set-entries"
|
|
],
|
|
"context": "Target Business Central 28, worldwide standard application (w1). Review each file as an independent source input."
|
|
},
|
|
"interfaces": {
|
|
"article": "set-defaultimplementation-on-enum"
|
|
},
|
|
"performance": {
|
|
"articles": [
|
|
"use-isempty-for-existence-check",
|
|
"job-queue-category-code-serializes-conflicting-jobs",
|
|
"job-queue-external-effects-must-be-idempotent",
|
|
"job-queue-handlers-must-not-require-ui",
|
|
"job-queue-handlers-must-propagate-failures",
|
|
"job-queue-on-hold-does-not-stop-running-work",
|
|
"store-scheduled-task-id-to-avoid-duplicate-tasks"
|
|
]
|
|
},
|
|
"privacy": {
|
|
"article": "no-pii-in-telemetry-message-string"
|
|
},
|
|
"query": {
|
|
"articles": [
|
|
"dataitemtablefilter-cannot-be-overwritten-at-runtime",
|
|
"reopening-query-resets-cursor-but-keeps-filters",
|
|
"set-query-filters-before-open",
|
|
"setfilter-overwrites-query-columnfilter"
|
|
]
|
|
},
|
|
"reporting": {
|
|
"articles": [
|
|
"clear-report-variable-before-independent-runmodal",
|
|
"currreport-break-ends-the-current-trigger",
|
|
"currreport-quit-rolls-back-and-skips-onpostreport",
|
|
"currreport-skip-does-not-stop-trigger-code",
|
|
"report-output-in-a-loop-needs-one-client-download",
|
|
"reportextension-dataitem-trigger-order-is-explicit",
|
|
"reportextension-report-triggers-run-after-base-triggers",
|
|
"settableview-cannot-broaden-dataitemtableview",
|
|
"stop-when-runrequestpage-returns-empty-parameters"
|
|
]
|
|
},
|
|
"scm": {
|
|
"articles": [
|
|
"post-item-ledger-changes-through-item-journals",
|
|
"post-revaluation-through-the-item-journal-batch",
|
|
"change-item-applications-through-posting-routines",
|
|
"cancel-reservations-through-reservation-management",
|
|
"transfer-item-tracking-through-source-reservation-codeunits",
|
|
"reconcile-warehouse-adjustments-with-the-item-ledger",
|
|
"post-transfers-through-shipment-and-receipt-codeunits",
|
|
"use-date-aware-availability-for-promising",
|
|
"carry-out-requisition-actions-through-the-standard-workflow",
|
|
"derive-base-quantities-through-the-line-unit-of-measure"
|
|
]
|
|
},
|
|
"security": {
|
|
"articles": [
|
|
"al-has-no-built-in-htmlencode",
|
|
"do-not-concatenate-external-text-into-setfilter"
|
|
]
|
|
},
|
|
"style": {
|
|
"articles": [
|
|
"label-comment-explains-placeholders",
|
|
"dateformula-evaluate-needs-language-independent-literals"
|
|
]
|
|
},
|
|
"telemetry": {
|
|
"article": "telemetry-event-id-stable-unique"
|
|
},
|
|
"testing": {
|
|
"articles": [
|
|
"ui-handlers-in-tests",
|
|
"reset-per-test-state-before-the-isinitialized-guard"
|
|
]
|
|
},
|
|
"upgrade": {
|
|
"article": "initvalue-does-not-update-existing-rows",
|
|
"context": "The extended table existed in the previous app version and already contains rows."
|
|
},
|
|
"web-services": {
|
|
"articles": [
|
|
"expose-systemid-as-the-api-key",
|
|
"handle-httpclient-platform-failure-before-response-access",
|
|
"check-http-status-before-consuming-response-body",
|
|
"check-json-null-before-converting-values",
|
|
"format-exchanged-values-with-standard-format-9"
|
|
]
|
|
}
|
|
}
|
|
}
|