#196 Strengthen review contracts and add AL reliability guidance
Adds seven AL reliability rules with good and bad samples: two on outbound HttpClient failure and status handling, and five on base quantities, SetFilter placeholders, test isolation, JSON null checks and format 9. The review framework also gets deterministic layered skill precedence and a findings-report validator.
- 41files
- 28AL files
- 0objects
Pull request · merged into main on 2026-09-29 by demiliani · 41 files (+1974 -38), 28 AL · feature · tier official · reviewed (checked by Opus)
What changed
- Two HttpClient rules: separate transport failure from HTTP responses, and check the status before using the response body
- Five more rules: base quantity derivation, SetFilter filter placeholders, per-test state reset before IsInitialized, JSON null checks, standard format 9
- Layered action-skill overrides follow custom > community > microsoft precedence with deterministic resolution and fallback (Resolve-SkillWorklist.ps1)
- Validate-FindingsReport.ps1 enforces the findings-report schema and semantic acceptance rules
- Evaluation coverage is measurable, and changed paired articles must be selected or explicitly waived
AL objects touched
microsoft/knowledge/scm/derive-base-quantities-through-the-line-unit-of-measure.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/scm/derive-base-quantities-through-the-line-unit-of-measure.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/scm/derive-base-quantities-through-the-line-unit-of-measure.md: added, not in the BC? snapshot yetmicrosoft/knowledge/security/do-not-concatenate-external-text-into-setfilter.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/security/do-not-concatenate-external-text-into-setfilter.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/security/do-not-concatenate-external-text-into-setfilter.md: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/reset-per-test-state-before-the-isinitialized-guard.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/reset-per-test-state-before-the-isinitialized-guard.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/testing/reset-per-test-state-before-the-isinitialized-guard.md: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/check-http-status-before-consuming-response-body.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/check-http-status-before-consuming-response-body.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/check-http-status-before-consuming-response-body.md: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/check-json-null-before-converting-values.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/check-json-null-before-converting-values.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/check-json-null-before-converting-values.md: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/format-exchanged-values-with-standard-format-9.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/format-exchanged-values-with-standard-format-9.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/format-exchanged-values-with-standard-format-9.md: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/handle-httpclient-platform-failure-before-response-access.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/handle-httpclient-platform-failure-before-response-access.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/web-services/handle-httpclient-platform-failure-before-response-access.md: added, not in the BC? snapshot yetmicrosoft/skills/review/al-code-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-error-handling-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-scm-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-security-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-testing-review.md: modified, not in the BC? snapshotmicrosoft/skills/review/al-web-services-review.md: modified, not in the BC? snapshotskills/do.md: modified, not in the BC? snapshot
Context
- Systems: development, platform
- From the description: “Adds five source-backed rules, each with focused good/bad AL samples, routing keywords/checks, and deterministic evaluation 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).