[Automated][tcgc] Document @override path-param and @clientLocation type-conflict diagnostics - #4844
Merged
tadelesh merged 1 commit intoJul 8, 2026
Conversation
…nflict diagnostics Add two caution admonitions to the client-library method howto: - @clientLocation cannot move multiple same-named params of different types to the same client (client-location-conflict warning). - @OverRide must preserve realized @path parameters; dropping or redeclaring them without @path triggers override-parameters-mismatch. Update the doc-updater knowledge base with the new diagnostics, linter rule documentation conventions (csharp-no-url-suffix), incremental doc-updater mechanics, and the PR #4683 feedback lesson. Record the checkout commit in the tcgc metadata. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tadelesh
requested review from
bterlson,
markcowl and
timotheeguerin
as code owners
July 7, 2026 10:17
tadelesh
enabled auto-merge
July 7, 2026 10:19
msyyc
approved these changes
Jul 7, 2026
Contributor
|
No changes needing a change description found. |
Contributor
|
You can try these changes here
|
Contributor
⚡ Benchmark Results
Full details – comparing
|
| Metric | Baseline | Current | Change |
|---|---|---|---|
| total | 🔴 998.2ms | 🔴 1.02s | +2.6% |
| loader | 🟡 300.6ms | 🟡 310.1ms | +3.2% |
| resolver | 🟢 40.0ms | 🟢 39.5ms | -1.1% |
| checker | 🟡 360.0ms | 🟡 370.4ms | +2.9% |
| validation | 🟢 85.0ms | 🟢 85.4ms | +0.5% |
| ↳ validation/@azure-tools/typespec-azure-core | 🟡 12.4ms | 🟡 13.0ms | +4.2% |
| ↳ validation/@typespec/http | 🟡 15.3ms | 🟡 15.9ms | +3.7% |
| ↳ validation/@typespec/rest | 🟢 1.6ms | 🟢 1.6ms | -1.4% |
| ↳ validation/@typespec/versioning | 🔴 51.5ms | 🔴 51.0ms | -1.0% |
| ↳ validation/compiler | 🟢 3.8ms | 🟢 3.8ms | -0.2% |
| linter | 🟡 212.2ms | 🟡 218.8ms | +3.1% |
| ↳ linter/@azure-tools/typespec-azure-core/auth-required | 🟢 0.1ms | 🟢 0.1ms | +6.0% |
| ↳ linter/@azure-tools/typespec-azure-core/bad-record-type | 🟢 0.6ms | 🟢 0.6ms | -2.3% |
| ↳ linter/@azure-tools/typespec-azure-core/byos | 🟢 8.2ms | 🟢 8.4ms | +2.0% |
| ↳ linter/@azure-tools/typespec-azure-core/casing-style | 🟢 1.4ms | 🟢 1.4ms | -0.3% |
| ↳ linter/@azure-tools/typespec-azure-core/composition-over-inheritance | 🟢 0.2ms | 🟢 0.2ms | +3.0% |
| ↳ linter/@azure-tools/typespec-azure-core/documentation-required | 🟢 1.9ms | 🟢 1.9ms | +0.3% |
| ↳ linter/@azure-tools/typespec-azure-core/friendly-name | 🟢 1.4ms | 🟢 1.4ms | +0.6% |
| ↳ linter/@azure-tools/typespec-azure-core/key-visibility-required | 🟢 0.4ms | 🟢 0.4ms | +1.1% |
| ↳ linter/@azure-tools/typespec-azure-core/known-encoding | 🟢 0.5ms | 🟢 0.5ms | +4.2% |
| ↳ linter/@azure-tools/typespec-azure-core/long-running-polling-operation-required | 🟢 0.8ms | 🟢 0.8ms | -0.9% |
| ↳ linter/@azure-tools/typespec-azure-core/no-case-mismatch | 🟢 0.7ms | 🟢 0.7ms | -0.7% |
| ↳ linter/@azure-tools/typespec-azure-core/no-closed-literal-union | 🟢 1.0ms | 🟢 1.0ms | -1.8% |
| ↳ linter/@azure-tools/typespec-azure-core/no-enum | 🟢 0.2ms | 🟢 0.2ms | -0.5% |
| ↳ linter/@azure-tools/typespec-azure-core/no-error-status-codes | 🟢 0.3ms | 🟢 0.3ms | -1.0% |
| ↳ linter/@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops | 🟢 0.2ms | 🟢 0.2ms | +0.5% |
| ↳ linter/@azure-tools/typespec-azure-core/no-format | 🟢 0.8ms | 🟢 0.8ms | -1.6% |
| ↳ linter/@azure-tools/typespec-azure-core/no-generic-numeric | 🟢 0.8ms | 🟢 0.8ms | -1.3% |
| ↳ linter/@azure-tools/typespec-azure-core/no-header-explode | 🔴 26.1ms | 🔴 28.0ms | +7.2% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/no-legacy-usage | 🟢 2.0ms | 🟢 2.1ms | +3.7% |
| ↳ linter/@azure-tools/typespec-azure-core/no-multiple-discriminator | 🟢 0.2ms | 🟢 0.2ms | +7.3% |
| ↳ linter/@azure-tools/typespec-azure-core/no-nullable | 🟢 0.4ms | 🟢 0.4ms | +1.7% |
| ↳ linter/@azure-tools/typespec-azure-core/no-offsetdatetime | 🟢 1.9ms | 🟢 2.0ms | +2.5% |
| ↳ linter/@azure-tools/typespec-azure-core/no-openapi | 🟢 2.3ms | 🟢 2.3ms | -0.7% |
| ↳ linter/@azure-tools/typespec-azure-core/no-private-usage | 🟢 3.1ms | 🟢 3.1ms | +1.0% |
| ↳ linter/@azure-tools/typespec-azure-core/no-query-explode | 🔴 27.3ms | 🔴 28.5ms | +4.5% |
| ↳ linter/@azure-tools/typespec-azure-core/no-response-body | 🔴 32.8ms | 🔴 33.9ms | +3.4% |
| ↳ linter/@azure-tools/typespec-azure-core/no-rest-library-interfaces | 🟢 0.1ms | 🟢 0.1ms | +2.3% |
| ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch | 🟢 7.5ms | 🟢 7.9ms | +5.0% |
| ↳ linter/@azure-tools/typespec-azure-core/no-rpc-path-params | 🟢 0.4ms | 🟢 0.4ms | +2.6% |
| ↳ linter/@azure-tools/typespec-azure-core/no-string-discriminator | 🟢 0.1ms | 🟢 0.1ms | +4.2% |
| ↳ linter/@azure-tools/typespec-azure-core/no-unknown | 🟢 0.3ms | 🟢 0.4ms | +3.4% |
| ↳ linter/@azure-tools/typespec-azure-core/no-unnamed-union | 🟢 0.8ms | 🟢 0.8ms | -1.5% |
| ↳ linter/@azure-tools/typespec-azure-core/operation-missing-api-version | 🟢 0.4ms | 🟢 0.4ms | -3.4% |
| ↳ linter/@azure-tools/typespec-azure-core/request-body-problem | 🟢 0.5ms | 🟢 0.4ms | -0.8% |
| ↳ linter/@azure-tools/typespec-azure-core/require-versioned | 🟢 0.1ms | 🟢 0.1ms | +2.7% |
| ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem | 🔴 32.2ms | 🔴 33.3ms | +3.2% |
| ↳ linter/@azure-tools/typespec-azure-core/rpc-operation-request-body | 🟢 0.7ms | 🟢 0.7ms | +3.1% |
| ↳ linter/@azure-tools/typespec-azure-core/spread-discriminated-model | 🟢 0.5ms | 🟢 0.5ms | +0.9% |
| ↳ linter/@azure-tools/typespec-azure-core/use-standard-names | 🟢 7.4ms | 🟢 7.8ms | +5.4% |
| ↳ linter/@azure-tools/typespec-azure-core/use-standard-operations | 🟢 0.3ms | 🟢 0.3ms | -1.4% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources | 🔴 21.7ms | 🔴 22.4ms | +3.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations | 🟢 0.3ms | 🟢 0.3ms | +7.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version | 🟡 12.0ms | 🟡 12.4ms | +3.0% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key | 🟢 0.2ms | 🟢 0.2ms | +7.3% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage | 🟢 0.1ms | 🟢 0.1ms | +1.0% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes | 🟢 5.5ms | 🟢 4.6ms | -16.3% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts | 🟡 17.0ms | 🟡 17.0ms | +0.0% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-record | 🟢 0.6ms | 🟢 0.6ms | +0.7% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes | 🟢 1.4ms | 🟢 1.3ms | -3.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes | 🟢 0.2ms | 🟢 0.2ms | -7.2% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment | 🟢 0.4ms | 🟢 0.4ms | -0.8% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property | 🟢 0.4ms | 🟢 0.4ms | +3.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator | 🟢 0.1ms | 🟢 0.1ms | +5.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb | 🟢 0.2ms | 🟢 0.1ms | -4.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property | 🟢 0.3ms | 🟢 0.3ms | +1.6% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format | 🟢 0.2ms | 🟢 0.2ms | -0.8% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars | 🟢 0.5ms | 🟢 0.5ms | +4.2% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern | 🟢 0.1ms | 🟢 0.1ms | -2.2% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation | 🟢 0.5ms | 🟢 0.6ms | +4.3% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response | 🟢 8.8ms | 🟢 8.9ms | +1.0% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-patch | 🟢 0.8ms | 🟢 0.8ms | -5.3% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars | 🟢 0.4ms | 🟢 0.4ms | +3.3% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state | 🟢 0.4ms | 🟢 0.4ms | +0.2% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels | 🟢 0.2ms | 🟢 0.2ms | +4.8% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/empty-updateable-properties | 🟢 0.4ms | 🟢 0.4ms | +3.6% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation | 🟢 0.1ms | 🟢 0.1ms | +0.3% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header | 🟡 19.2ms | 🔴 20.5ms | +6.6% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint | 🟢 0.1ms | 🟢 0.2ms | +6.6% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers | 🟢 1.0ms | 🟢 1.0ms | -2.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-empty-model | 🟢 0.3ms | 🟢 0.3ms | +5.6% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-override-props | 🟢 0.3ms | 🟢 0.3ms | -1.9% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation | 🟢 0.4ms | 🟢 0.5ms | +4.5% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body | 🔴 29.3ms | 🔴 30.9ms | +5.6% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/patch-envelope | 🟢 0.4ms | 🟢 0.4ms | +1.8% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/resource-name | 🟢 0.4ms | 🟢 0.4ms | +0.5% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/secret-prop | 🟢 5.4ms | 🟢 5.1ms | -6.2% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/unsupported-type | 🟢 0.7ms | 🟢 0.7ms | +0.0% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/version-progression | 🟢 0.3ms | 🟢 0.3ms | -4.9% |
| ↳ linter/@azure-tools/typespec-client-generator-core/property-name-conflict | 🟢 2.3ms | 🟢 2.3ms | +0.4% |
| ↳ linter/@azure-tools/typespec-client-generator-core/require-client-suffix | 🟢 1.6ms | 🟢 1.7ms | +1.1% |
| emit | 🔴 5.98s | 🔴 6.18s | +3.4% |
| ↳ emit/@Azure-Tools | 🟢 0.0ms | 🟢 0.0ms | +0.0% |
| ↳ emit/@azure-tools/typespec-autorest | 🟢 123.9ms | 🟢 126.3ms | +1.9% |
| ↳ emit/@azure-tools/typespec-python | 🔴 2.23s | 🔴 2.32s | +3.9% |
| ↳ emit/@typespec | 🟢 0.0ms | 🟢 0.0ms | +0.0% |
| ↳ emit/@typespec/http-client-js | 🔴 564.9ms | 🔴 575.6ms | +1.9% |
| ↳ emit/@typespec/openapi3 | 🟢 106.4ms | 🟢 108.8ms | +2.2% |
| ↳ emit/@typespec/openapi3/compute | 🟢 92.4ms | 🟢 94.5ms | +2.3% |
| ↳ emit/@typespec/openapi3/write | 🟢 13.8ms | 🟢 14.0ms | +1.8% |
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)
github-merge-queue
Bot
removed this pull request from the merge queue due to no response for status checks
Jul 7, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to no response for status checks
Jul 8, 2026
tadelesh
deleted the
docs/tcgc-incremental-update-2026-07-06-0e310e7555535678
branch
July 8, 2026 15:31
github-actions Bot
added a commit
to XiaofeiCao/typespec-azure
that referenced
this pull request
Jul 11, 2026
Sync documentation from Azure/typespec-azure upstream main branch. Key changes included: - Add docs for new ARM linter rule `no-reserved-resource-property` (PR Azure#4842) - Add docs for new TCGC linter rule `csharp-no-url-suffix` (PR Azure#4541) - Add ARM agent base type rules docs: `arm-agent-base-type-child-resources`, `arm-agent-base-type-lifecycle-operations`, `no-override-props` - Update ARM `data-types.md`: align Agent ResponseStatus enum to PascalCase and `createdAt` to utcDateTime per ARM guidelines (PR Azure#4855) - Fix `@azureBaseType` decorator doc example (PR Azure#4755) - Improve ARM library decorators, interfaces, and models docs (PR Azure#4494) - Add TCGC `@override` path-param and `@clientLocation` type-conflict caution admonitions to howto (PR Azure#4844) - Regen Java emitter docs with default values and improved type info (PR Azure#4863) - Update Python emitter docs with new `typeddict` models mode (upstream) - Update TypeScript emitter reference docs - Update autorest and autorest-canonical emitter docs - Update azure-rulesets linter reference - Update azure-core, azure-portal-core, TCGC reference docs - Update howtos for ARM and Generate client libraries - Add release notes for 2026-06-09 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add two caution admonitions to the client-library method howto:
Update the doc-updater knowledge base with the new diagnostics, linter rule documentation conventions (csharp-no-url-suffix), incremental doc-updater mechanics, and the PR #4683 feedback lesson. Record the checkout commit in the tcgc metadata.
Resolve: #4821