Skip to content

Disable old linting rules from typespec-azure-resource-manager ruleset#4756

Open
markcowl with Copilot wants to merge 7 commits into
mainfrom
copilot/delete-old-linting-rules
Open

Disable old linting rules from typespec-azure-resource-manager ruleset#4756
markcowl with Copilot wants to merge 7 commits into
mainfrom
copilot/delete-old-linting-rules

Conversation

Copilot AI commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

missing-x-ms-identifiers is no longer a lintdiff error and arm-resource-interface-requires-decorator has no impact. Both are disabled from the resource-manager ruleset.

  • Set both rules to false in packages/typespec-azure-rulesets/src/rulesets/resource-manager.ts
  • Removed now-unnecessary #suppress directives in sample specs (specific-extension, legacy/static-routes)
  • Added changeset

…decorator rules from ARM ruleset

Closes #4753

Co-authored-by: markcowl <1054056+markcowl@users.noreply.github.com>
Copilot AI changed the title [WIP] Delete old linting rules from typespec-azure-resource-manager ruleset Disable old linting rules from typespec-azure-resource-manager ruleset Jun 30, 2026
Copilot AI requested a review from markcowl June 30, 2026 02:52
Comment thread packages/typespec-azure-rulesets/src/rulesets/resource-manager.ts Outdated
@pkg-pr-new

pkg-pr-new Bot commented Jun 30, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@azure-tools/typespec-azure-resource-manager@4756
npm i https://pkg.pr.new/@azure-tools/typespec-azure-rulesets@4756

commit: e719606

@markcowl markcowl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot Pull the latest from main, make the changes as specified, rebuild and rebuild docs. validate that all tests pass and samples can be regenerated, then ensure that all files are properly formatted and only changes associated with this pr are in the pr diff

Comment thread packages/typespec-azure-rulesets/src/rulesets/resource-manager.ts Outdated
markcowl and others added 3 commits June 30, 2026 14:12
Co-authored-by: markcowl <1054056+markcowl@users.noreply.github.com>
…ecorator rules, tests, and docs

Co-authored-by: markcowl <1054056+markcowl@users.noreply.github.com>

Copilot AI commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Pull the latest from main, make the changes as specified, rebuild and rebuild docs. validate that all tests pass and samples can be regenerated, then ensure that all files are properly forma...

Done in fb55e6f. Pulled latest from main, deleted the rules and tests, removed all references, rebuilt, regenerated docs, verified all tests pass (326 ARM + 3 rulesets + 69 samples), and formatted. The diff only contains changes associated with this PR.

@microsoft-github-policy-service microsoft-github-policy-service Bot added int:azure-specs Run integration tests against azure-rest-api-specs lib:azure-resource-manager Issues for @azure-tools/typespec-azure-core library meta:website TypeSpec.io updates labels Jun 30, 2026
Copilot AI requested a review from markcowl June 30, 2026 21:19
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

⚡ Benchmark Results

⚠️ 36 metric(s) regressed above the +5% threshold:

Metric Baseline Current Change
total 🔴 698.2ms 🔴 1.05s +50.6% 🔴
loader 🟢 199.5ms 🟡 319.0ms +59.9% 🔴
resolver 🟢 20.6ms 🟢 41.2ms +99.9% 🔴
checker 🟡 221.6ms 🟡 381.6ms +72.2% 🔴
validation 🟢 49.8ms 🟢 87.7ms +76.1% 🔴
 ↳ validation/@azure-tools/typespec-azure-core 🟢 7.3ms 🟡 13.1ms +79.2% 🔴
 ↳ validation/@typespec/http 🟢 6.9ms 🟡 16.2ms +135.1% 🔴
 ↳ validation/@typespec/rest 🟢 0.7ms 🟢 1.8ms +144.4% 🔴
 ↳ validation/@typespec/versioning 🔴 32.4ms 🔴 52.4ms +61.5% 🔴
 ↳ validation/compiler 🟢 1.9ms 🟢 4.0ms +110.3% 🔴
linter 🟢 154.5ms 🟡 222.2ms +43.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/byos 🟢 6.4ms 🟢 8.7ms +37.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/documentation-required 🟢 1.0ms 🟢 2.0ms +107.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-header-explode 🔴 20.9ms 🔴 28.1ms +34.2% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-private-usage 🟢 2.1ms 🟢 3.2ms +50.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-query-explode 🔴 22.1ms 🔴 29.2ms +31.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-response-body 🔴 25.9ms 🔴 34.3ms +32.2% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch 🟢 5.6ms 🟢 8.2ms +45.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem 🔴 24.2ms 🔴 34.7ms +43.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-names 🟢 6.0ms 🟢 7.9ms +32.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources 🟢 5.8ms 🟡 18.2ms +215.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version 🟢 5.1ms 🟡 11.5ms +126.1% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes 🟢 1.8ms 🟢 4.4ms +144.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts 🟡 11.3ms 🟡 16.4ms +45.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response 🟢 5.5ms 🟢 9.5ms +71.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header 🟡 15.0ms 🔴 21.1ms +40.0% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body 🔴 22.1ms 🔴 32.2ms +46.0% 🔴
 ↳ linter/@azure-tools/typespec-client-generator-core/property-name-conflict 🟢 1.2ms 🟢 2.4ms +90.0% 🔴
 ↳ linter/@azure-tools/typespec-client-generator-core/require-client-suffix 🟢 0.4ms 🟢 1.7ms +378.1% 🔴
emit 🔴 5.63s 🔴 6.28s +11.6% 🔴
 ↳ emit/@azure-tools/typespec-autorest 🟢 87.0ms 🟢 131.0ms +50.6% 🔴
 ↳ emit/@azure-tools/typespec-python 🔴 2.16s 🔴 2.34s +8.2% 🔴
 ↳ emit/@typespec/http-client-js 🔴 478.9ms 🔴 596.6ms +24.6% 🔴
 ↳ emit/@typespec/openapi3 🟢 78.9ms 🟢 113.9ms +44.5% 🔴
 ↳ emit/@typespec/openapi3/compute 🟢 68.8ms 🟢 99.2ms +44.1% 🔴
 ↳ emit/@typespec/openapi3/write 🟢 9.8ms 🟢 14.5ms +47.4% 🔴
Full details – comparing 9dcf321 vs baseline rolling-baseline-38703e5-aac448e (rolling baseline (20 main runs))
Metric Baseline Current Change
total 🔴 698.2ms 🔴 1.05s +50.6% 🔴
loader 🟢 199.5ms 🟡 319.0ms +59.9% 🔴
resolver 🟢 20.6ms 🟢 41.2ms +99.9% 🔴
checker 🟡 221.6ms 🟡 381.6ms +72.2% 🔴
validation 🟢 49.8ms 🟢 87.7ms +76.1% 🔴
 ↳ validation/@azure-tools/typespec-azure-core 🟢 7.3ms 🟡 13.1ms +79.2% 🔴
 ↳ validation/@typespec/http 🟢 6.9ms 🟡 16.2ms +135.1% 🔴
 ↳ validation/@typespec/rest 🟢 0.7ms 🟢 1.8ms +144.4% 🔴
 ↳ validation/@typespec/versioning 🔴 32.4ms 🔴 52.4ms +61.5% 🔴
 ↳ validation/compiler 🟢 1.9ms 🟢 4.0ms +110.3% 🔴
linter 🟢 154.5ms 🟡 222.2ms +43.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/auth-required 🟢 0.0ms 🟢 0.1ms +292.4%
 ↳ linter/@azure-tools/typespec-azure-core/bad-record-type 🟢 0.3ms 🟢 0.6ms +123.9%
 ↳ linter/@azure-tools/typespec-azure-core/byos 🟢 6.4ms 🟢 8.7ms +37.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/casing-style 🟢 0.7ms 🟢 1.5ms +112.0%
 ↳ linter/@azure-tools/typespec-azure-core/composition-over-inheritance 🟢 0.1ms 🟢 0.2ms +129.2%
 ↳ linter/@azure-tools/typespec-azure-core/documentation-required 🟢 1.0ms 🟢 2.0ms +107.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/friendly-name 🟢 0.7ms 🟢 1.4ms +102.0%
 ↳ linter/@azure-tools/typespec-azure-core/key-visibility-required 🟢 0.2ms 🟢 0.4ms +105.4%
 ↳ linter/@azure-tools/typespec-azure-core/known-encoding 🟢 0.3ms 🟢 0.5ms +63.0%
 ↳ linter/@azure-tools/typespec-azure-core/long-running-polling-operation-required 🟢 0.4ms 🟢 0.9ms +142.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-case-mismatch 🟢 0.3ms 🟢 0.7ms +137.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-closed-literal-union 🟢 0.4ms 🟢 1.0ms +185.0%
 ↳ linter/@azure-tools/typespec-azure-core/no-enum 🟢 0.1ms 🟢 0.3ms +296.5%
 ↳ linter/@azure-tools/typespec-azure-core/no-error-status-codes 🟢 0.1ms 🟢 0.3ms +144.9%
 ↳ linter/@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops 🟢 0.1ms 🟢 0.2ms +71.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-format 🟢 0.6ms 🟢 0.9ms +46.1%
 ↳ linter/@azure-tools/typespec-azure-core/no-generic-numeric 🟢 0.5ms 🟢 0.9ms +79.4%
 ↳ linter/@azure-tools/typespec-azure-core/no-header-explode 🔴 20.9ms 🔴 28.1ms +34.2% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-legacy-usage 🟢 1.2ms 🟢 2.0ms +60.6%
 ↳ linter/@azure-tools/typespec-azure-core/no-multiple-discriminator 🟢 0.1ms 🟢 0.3ms +147.9%
 ↳ linter/@azure-tools/typespec-azure-core/no-nullable 🟢 0.3ms 🟢 0.4ms +58.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-offsetdatetime 🟢 1.3ms 🟢 2.1ms +58.5%
 ↳ linter/@azure-tools/typespec-azure-core/no-openapi 🟢 2.1ms 🟢 2.3ms +13.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-private-usage 🟢 2.1ms 🟢 3.2ms +50.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-query-explode 🔴 22.1ms 🔴 29.2ms +31.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-response-body 🔴 25.9ms 🔴 34.3ms +32.2% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-rest-library-interfaces 🟢 0.0ms 🟢 0.1ms +282.2%
 ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch 🟢 5.6ms 🟢 8.2ms +45.9% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/no-rpc-path-params 🟢 0.2ms 🟢 0.4ms +95.4%
 ↳ linter/@azure-tools/typespec-azure-core/no-string-discriminator 🟢 0.1ms 🟢 0.2ms +164.6%
 ↳ linter/@azure-tools/typespec-azure-core/no-unknown 🟢 0.2ms 🟢 0.4ms +69.4%
 ↳ linter/@azure-tools/typespec-azure-core/no-unnamed-union 🟢 0.4ms 🟢 0.8ms +101.9%
 ↳ linter/@azure-tools/typespec-azure-core/operation-missing-api-version 🟢 0.2ms 🟢 0.4ms +98.8%
 ↳ linter/@azure-tools/typespec-azure-core/request-body-problem 🟢 0.3ms 🟢 0.5ms +46.4%
 ↳ linter/@azure-tools/typespec-azure-core/require-versioned 🟢 0.0ms 🟢 0.1ms +364.5%
 ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem 🔴 24.2ms 🔴 34.7ms +43.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/rpc-operation-request-body 🟢 0.4ms 🟢 0.8ms +108.5%
 ↳ linter/@azure-tools/typespec-azure-core/spread-discriminated-model 🟢 0.3ms 🟢 0.5ms +58.2%
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-names 🟢 6.0ms 🟢 7.9ms +32.3% 🔴
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-operations 🟢 0.1ms 🟢 0.3ms +95.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources 🟢 5.8ms 🟡 18.2ms +215.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations 🟢 0.0ms 🟢 0.2ms +650.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version 🟢 5.1ms 🟡 11.5ms +126.1% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key 🟢 0.1ms 🟢 0.2ms +116.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage 🟢 0.1ms 🟢 0.1ms +79.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes 🟢 1.8ms 🟢 4.4ms +144.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts 🟡 11.3ms 🟡 16.4ms +45.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-record 🟢 0.4ms 🟢 0.6ms +70.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes 🟢 0.6ms 🟢 1.4ms +127.4%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes 🟢 0.0ms 🟢 0.2ms +452.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment 🟢 0.3ms 🟢 0.4ms +76.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property 🟢 0.2ms 🟢 0.4ms +159.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator 🟢 0.0ms 🟢 0.0ms -100.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb 🟢 0.1ms 🟢 0.2ms +86.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property 🟢 0.1ms 🟢 0.3ms +133.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format 🟢 0.1ms 🟢 0.2ms +257.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars 🟢 0.3ms 🟢 0.5ms +80.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern 🟢 0.0ms 🟢 0.1ms +415.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation 🟢 0.2ms 🟢 0.6ms +189.8%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response 🟢 5.5ms 🟢 9.5ms +71.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-patch 🟢 0.4ms 🟢 0.8ms +126.4%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars 🟢 0.2ms 🟢 0.4ms +74.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state 🟢 0.1ms 🟢 0.4ms +200.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels 🟢 0.1ms 🟢 0.2ms +134.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/empty-updateable-properties 🟢 0.2ms 🟢 0.4ms +132.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation 🟢 0.0ms 🟢 0.1ms +549.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header 🟡 15.0ms 🔴 21.1ms +40.0% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint 🟢 0.0ms 🟢 0.2ms +313.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers 🟢 0.4ms 🟢 0.0ms -100.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-empty-model 🟢 0.1ms 🟢 0.3ms +92.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-override-props 🟢 0.1ms 🟢 0.3ms +275.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation 🟢 0.2ms 🟢 0.5ms +111.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body 🔴 22.1ms 🔴 32.2ms +46.0% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/patch-envelope 🟢 0.2ms 🟢 0.4ms +137.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/resource-name 🟢 0.2ms 🟢 0.4ms +144.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/secret-prop 🟢 4.1ms 🟢 5.1ms +22.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/unsupported-type 🟢 0.4ms 🟢 0.7ms +69.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/version-progression 🟢 0.1ms 🟢 0.3ms +406.8%
 ↳ linter/@azure-tools/typespec-client-generator-core/property-name-conflict 🟢 1.2ms 🟢 2.4ms +90.0% 🔴
 ↳ linter/@azure-tools/typespec-client-generator-core/require-client-suffix 🟢 0.4ms 🟢 1.7ms +378.1% 🔴
emit 🔴 5.63s 🔴 6.28s +11.6% 🔴
 ↳ emit/@Azure-Tools 🟢 0.0ms 🟢 0.0ms +0.0%
 ↳ emit/@azure-tools/typespec-autorest 🟢 87.0ms 🟢 131.0ms +50.6% 🔴
 ↳ emit/@azure-tools/typespec-python 🔴 2.16s 🔴 2.34s +8.2% 🔴
 ↳ emit/@typespec 🟢 0.0ms 🟢 0.0ms +0.0%
 ↳ emit/@typespec/http-client-js 🔴 478.9ms 🔴 596.6ms +24.6% 🔴
 ↳ emit/@typespec/openapi3 🟢 78.9ms 🟢 113.9ms +44.5% 🔴
 ↳ emit/@typespec/openapi3/compute 🟢 68.8ms 🟢 99.2ms +44.1% 🔴
 ↳ emit/@typespec/openapi3/write 🟢 9.8ms 🟢 14.5ms +47.4% 🔴

Averaged across 3 specs (azure-arm-resource-manager, azure-core-dataplane, azure-full).
Threshold: changes > ±5% are highlighted.
🟢 Fast · 🟡 Moderate (stages >200ms, rules >10ms) · 🔴 Slow (stages >400ms, rules >20ms)

@markcowl

Copy link
Copy Markdown
Member

@copilot there are formatting problems with website/src/content/docs/docs/howtos/ARM/rpc-guidelines-coverage.md Please fix formatting and update the pr

Co-authored-by: markcowl <1054056+markcowl@users.noreply.github.com>

Copilot AI commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

@copilot there are formatting problems with website/src/content/docs/docs/howtos/ARM/rpc-guidelines-coverage.md Please fix formatting and update the pr

Fixed in the latest commit. The table column widths in the markdown were left at the old wider alignment after the two rows were removed; ran Prettier to re-align.

@markcowl markcowl marked this pull request as ready for review July 1, 2026 00:14
@markcowl markcowl requested a review from bterlson as a code owner July 1, 2026 00:14
@azure-sdk-automation

Copy link
Copy Markdown
Contributor

All changed packages have been documented.

  • @azure-tools/typespec-azure-resource-manager
  • @azure-tools/typespec-azure-rulesets
Show changes

@azure-tools/typespec-azure-rulesets - feature ✏️

Removed missing-x-ms-identifiers and arm-resource-interface-requires-decorator linter rules as they are no longer applicable.

@azure-tools/typespec-azure-resource-manager - feature ✏️

Removed missing-x-ms-identifiers and arm-resource-interface-requires-decorator linter rules as they are no longer applicable.

@azure-sdk-automation

Copy link
Copy Markdown
Contributor

You can try these changes here

🛝 Playground 🌐 Website

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

int:azure-specs Run integration tests against azure-rest-api-specs lib:azure-resource-manager Issues for @azure-tools/typespec-azure-core library meta:website TypeSpec.io updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants