mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-07 07:36:54 +01:00
Eight organization rules in custom/knowledge, each overriding or supplementing the Microsoft layer for StrongPoint repositories: - style/spu-prefix-on-objects-and-extension-members - style/cyclomatic-complexity-is-not-a-gate-in-sp-repos (LC0010 = Info) - ui/keep-tooltips-on-sp-page-fields (AA0218 = Error, LC0064 off; overrides microsoft ui/bound-page-field-inherits-source-field-tooltip) - data-modeling/sp-field-names-fit-30-chars-with-prefix (AL0468 = Error) - events/change-ls-central-behaviour-through-its-events - web-services/device-io-goes-through-sp-device-manager - appsource/sp-id-ranges-are-not-checked-by-as0084 (AS0084 = None) - upgrade/sp-released-ids-never-change Sources: sp.ruleset.json across SP repositories, SPUFBUpgrade pattern in SP-LSC-Fiscal-Printing, observed LS Central and Device Manager usage. Verified: all eight are indexed by Build-KnowledgeIndex.ps1, and a review of a probe app applied the ToolTip rule as major and suppressed the Microsoft article by layer precedence. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
---
|
|
bc-version: [all]
|
|
domain: appsource
|
|
keywords: [id-range, object-id, as0084, app-json, idranges, false-positive]
|
|
technologies: [al]
|
|
countries: [w1]
|
|
application-area: [all]
|
|
---
|
|
|
|
# StrongPoint ID ranges are governed by app.json, not by AS0084
|
|
|
|
## Description
|
|
|
|
StrongPoint's `sp.ruleset.json` disables AppSourceCop AS0084 ("We are using our custom range"). SP apps use StrongPoint-registered ranges such as `70760xxx` and, for some customer and test apps, other ranges; the rule that matters is that every object and extension field ID lies inside the app's own `app.json` `idRanges` and does not collide with another SP app.
|
|
|
|
## Best Practice
|
|
|
|
Check new IDs against the project's `app.json` `idRanges` (and the next free ID in that range). Report an ID outside `idRanges` as `major` — the compiler rejects it. Do not assess whether the range itself is an AppSource-assigned range.
|
|
|
|
## Anti Pattern
|
|
|
|
Reporting an SP app's ID range, or IDs inside it, as invalid because AS0084 or AppSource range rules would flag them; renumbering objects to move them into a different range (see the upgrade rule on ID changes after release).
|
|
|
|
## References
|
|
|
|
StrongPoint policy: `sp.ruleset.json` — AS0084 `None` ("Disable rule AS0084. We are using our custom range").
|