Repository navigation
[PROOF ONLY - DO NOT MERGE] Radiology scoped clientLroResult wrapper removal - #49807
Draft
Jiaqi Zhang (JiaqiZhang-Dev) wants to merge 5 commits into
Draft
Jiaqi Zhang (JiaqiZhang-Dev) wants to merge 5 commits into
Jiaqi Zhang (JiaqiZhang-Dev) wants to merge 5 commits into
Conversation
Keep existing handwritten LRO wrappers for the baseline comparison. Preserve API 2024-10-01 and released enum exports with shared TypeSpec usage overlays. Adopt generated packaging minimums (Python 3.10, azure-core 1.37.0); preserve hand-maintained docs, tests and conda configuration. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Materialize actual API 2024-10-01 Python generation using the Python-scoped RadiologyInsightsJob.result selector from Azure/typespec-azure#5837. Keep normal extension hooks; generated public sync/async clients now deserialize RadiologyInsightsInferenceResult directly. Proof only: current Python backend maps a missing result to an empty model, unlike the released wrappers' None. No production or full drop-in compatibility claim. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Apply unchanged pygen BlackScriptPlugin output (with Linux newlines) consistently to all comparison generations. Keep canonical generated lint headers rather than hand-editing code. Remove the generated root _model_base.py made obsolete by the wrapper removal: no remaining package Python file imports it, and current generated models use _utils/model_base.py. This cleanup is separate from the scoped LRO selector delta. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session-Id: bd9eebf7-69e6-4b1c-b7c4-8fb5e224e5a4
Exercise sync and async completion, typed nested results, callbacks, custom polling, errors, no-poll missing/null boundaries, and continuation without another PUT. Use only fake credentials and mock transports; explicitly cover the Python backend's missing-result fallback. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session-Id: bd9eebf7-69e6-4b1c-b7c4-8fb5e224e5a4
Record source-SHA package pins for TCGC, Azure Core and the compiler, the shared service overlays, and a portable reproduction helper that temporarily updates/restores the actual engineering manifests. Preserve normal customization hooks and historical release notes; mark the package README proof-only and disclose runtime minimums and compatibility limits. Materialize canonical formatter headers from real generation. All three real update variants matched the preliminary generated source. Offline source/minimum-runtime/built-wheel tests, format/type/lint, build and APIView checks passed; no retired-service calls or package publication. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session-Id: bd9eebf7-69e6-4b1c-b7c4-8fb5e224e5a4
|
Azure Pipelines: Successfully started running 1 pipeline(s). 10 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
This branch has not been deployed
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.
Description
PROOF ONLY - DO NOT MERGE OR RELEASE. Validates Azure/typespec-azure#5837 against Radiology Insights' actual
2024-10-01API default, using generated public sync/async Python clients and mocked HTTP transports.result, but deserializes asRadiologyInsightsJob(wrong type)RadiologyInsightsJobenvelope@@clientLroResult(..., RadiologyInsightsJob.result, "python")RadiologyInsightsInferenceResult, without handwritten wrappersNormal completion preserves the released patched SDK's inference-payload contract, including typed patient results and the polling/final-GET flow. Review
15d71b4for the focused selector/wrapper-removal commit; baseline generator modernization is separate.Generation: all three variants ran through the real SDK
emitter-package+tsp-client updateworkflow, using source-packed TCGC/matching Azure Core and the required source-built compiler, with unchanged Python frontend/backend. Direct and nested dependency resolution and installed package payloads were verified. This uses unreleased dependencies and a local service overlay, not ordinary released-toolchain regeneration;tsp-location.yamlstill identifies the original service source. Exact pins, reproduction helper, and detailed provenance.Shared setup, not selector effects: all variants remove three obsolete Core
@useDependencylines, normalize the package display-name quoting, and retain existing enums with:Generator modernization requires Python >=3.10 / azure-core >=1.37.0. All 81 existing model/enum export names remain, but this is not full public-API compatibility. With
polling=Falseand a missingresult, the existing Python backend returns an empty typed model instead of the released wrapper'sNone; that fallback difference is not a TCGC regression. Radiology Insights is retired: this proof is offline only, not a shipping SDK update or evidence for other languages.All SDK Contribution checklist:
Breaking-change/release-note boxes remain unchecked intentionally: this is a non-shipping proof with the limitations above.
General Guidelines and Best Practices
Testing Guidelines
Passed: 15 tests against source and again against the built wheel; 15 at minimum runtime dependencies; 68 variant-specific offline comparison cases. Coverage includes typed nested results, polling/final GET, callbacks, custom polling, errors, continuation, and present/missing/null no-poll results. Black, source/sample mypy, pylint, wheel/sdist builds, and APIView (
Diagnostics=[]) also passed. Validation used Python 3.12.13; no live-service tests, full CI suite, or complete Python-version matrix is claimed.