Skip to content

Add foundry team as code owner - #49089

Merged
Ryan Hurey (rhurey) merged 3 commits into
mainfrom
rhurey/codeowners
Sep 23, 2026
Merged

Ryan Hurey (rhurey) merged 3 commits into
mainfrom
rhurey/codeowners

Conversation

@rhurey

Copy link
Copy Markdown
Member

Add a team as the code owner for AI foundry SDK's instead of individual aliases.

Once the team "works" we can remove individual people.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
8 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The ownership additions are consistent and preserve existing reviewers during the transition.

Pull request overview

Adds the AI Foundry DevEx team as a code owner while retaining existing individual owners.

Changes:

  • Adds @Azure/ai-foundry-devex ownership for general AI, Agents, and Projects SDK paths.
File summaries
File Description
.github/CODEOWNERS Adds the Foundry team to relevant AI SDK ownership rules.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@github-actions

This comment has been minimized.

Copilot AI review requested due to automatic review settings September 18, 2026 20:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The Model Inference-specific rule overrides the general AI rule but omits the new team.

Get a fresh assessment by requesting another Copilot review.

Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Balanced

Comment thread .github/CODEOWNERS
@github-actions

Copy link
Copy Markdown
Contributor
[Pilot] PR Pipeline Failure Analysis

What failed

Check: python - codeowners-linter - ci
Build: 6856860

The CODEOWNERS linter failed because the team added by this PR (Azure/ai-foundry-devex) is not a valid/recognized team with write permissions on the repository.

Relevant pipeline output
##[error]There are linter errors. Please visit https://aka.ms/azsdk/codeownersLinterErrors for guidance on how to handle them.
##[error].github/CODEOWNERS(38,1): error : Error(s) on line 38
  -Azure/ai-foundry-devex is an invalid team. Ensure the team exists and has write permissions.
##[error].github/CODEOWNERS(45,1): error : Error(s) on line 45
  -Azure/ai-foundry-devex is an invalid team. Ensure the team exists and has write permissions.
##[error].github/CODEOWNERS(53,1): error : Error(s) on line 53
  -Azure/ai-foundry-devex is an invalid team. Ensure the team exists and has write permissions.
Total run time: 00:00:01.87
Exiting with return code 1

Recommended next steps

  • Confirm the GitHub team Azure/ai-foundry-devex exists in the Azure org and has been granted write access to Azure/azure-sdk-for-python. This is an org/admin-level change, not a code change in this PR.
  • Once the team exists with the correct permissions, re-run the python - codeowners-linter - ci check (no code change needed unless the team name/slug itself is incorrect).
  • See https://aka.ms/ci-fix and https://aka.ms/azsdk/codeownersLinterErrors for more guidance.

Copilot detected the failing pipeline and generated the analysis above. To have it attempt a fix automatically, reply with @copilot please fix the failing pipeline on this PR.

Generated by Pipeline Analysis Next Steps · auto · 66.1 AIC · ⌖ 1.66 AIC · ⊞ 8.7K · ◷

Co-authored-by: rhurey <13647168+rhurey@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

All specific AI package rules consistently include the new team without removing existing owners.

Review effort: Balanced
Findings: None

Resolved since last review (1)

@rhurey
Ryan Hurey (rhurey) merged commit 176e940 into main Sep 23, 2026
20 checks passed
@rhurey
Ryan Hurey (rhurey) deleted the rhurey/codeowners branch September 23, 2026 00:16
Vinothini Dharmaraj (v-dharmarajv) added a commit that referenced this pull request Oct 29, 2026
* [azure-ai-ml] Fix job download and streaming regressions (#48972)

* Fix job output download and streaming regressions

Normalize job output asset types across RunHistory and ARM contracts, and fall back to RunHistory logs when an identity-based datastore credential cannot sign a SAS.

Add regression coverage for both output type spellings and identity-based log streaming.

* [azure-ai-ml] Fix SAS fallback, datastore log paths, and Gen2 SAS signing

* Sort Azure ML job helper imports

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Shorten job download and streaming changelog

* Isolate feature set test files for concurrent CI runs

---------

Co-authored-by: Swarup Chanda <119785118+swarupecenits@users.noreply.github.com>
Co-authored-by: Swarup Chanda <swarupchanda@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Make AgentServer cache write usage optional (#49124)

* Make AgentServer cache write usage optional

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Document AgentServer coordinated dependency

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(evaluation): preserve duplicate nested aoai field mappings (#49123)

* fix(evaluation): preserve duplicate nested aoai field mappings

Complete AOAI-only default mappings without changing callable inputs. Keep wrapped schema source paths paired with their effective paths and add focused offline regressions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e2b5588f-9ec0-47eb-a528-15f0f5b3c836
Assisted-by: GitHub Copilot (GPT-6 Astra; gpt-6-astra)

* fix(evaluation): isolate mutable aoai payload values

Deep-copy structured AOAI payload values before nested writes so serialization cannot mutate inputs shared with Python evaluators. Add numeric/null and recursive container ownership regressions without changing scalar conversion.

Authored-by: GitHub Copilot 1.0.84-5
Model: GPT-6 Astra (gpt-6-astra)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e2b5588f-9ec0-47eb-a528-15f0f5b3c836

---------

Co-authored-by: Rabah B <rboubchir+microsoft@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e2b5588f-9ec0-47eb-a528-15f0f5b3c836

* async crlf fix (#49136)

* Upgrade gh agentic workflows (#49144)

* update changelog with 12.30.3 entry (#49141)

* Add foundry team as code owner (#49089)

* Add foundry team as code owner

* Add foundry team to azure-ai-inference codeowners

Co-authored-by: rhurey <13647168+rhurey@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Handle confirmed initial releases in management SDK review context (#49147)

* Handle confirmed initial releases in management SDK review context

Require complete added-file evidence and an absent merge-base package directory before treating the previous release baseline as not applicable. Preserve failures for existing packages and ambiguous evidence.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Validate initial-release version headings and calendar dates

Address Copilot review 4078787100 by requiring a dated stable or beta SDK version before suppressing missing-baseline diagnostics. Add malformed-heading and invalid-date regressions without changing historical baseline parsing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Align initial-release provenance file applicability with its snapshot

Address Copilot review 4078823879 by marking each expected-absent merge-base file not applicable while retaining the original retrieval record verbatim. Keep current and ambiguous provenance unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Default Responses history to unlimited with -1 sentinel (#48940)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ankitbko <3169316+ankitbko@users.noreply.github.com>
Co-authored-by: Shivakishore14 <shivakishore14@gmail.com>

* [agentserver] Fix deferred persistence lifecycle races (#49129)

* Fix deferred persistence lifecycle races

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9e5a5fec-931d-4437-9ddb-825845bffd88

* Include Agent Server optimization in CI targeting

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9e5a5fec-931d-4437-9ddb-825845bffd88

* Preserve DELETE handling for failed executions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9e5a5fec-931d-4437-9ddb-825845bffd88

* Clean up rejected stream startup

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9e5a5fec-931d-4437-9ddb-825845bffd88

* Suppress intentional stream orchestration complexity

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9e5a5fec-931d-4437-9ddb-825845bffd88

* Clean up synchronous stream startup failures

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9e5a5fec-931d-4437-9ddb-825845bffd88

---------

Co-authored-by: Harsheet Shah <harsheetshah@microsoft.com>
Copilot-Session: 9e5a5fec-931d-4437-9ddb-825845bffd88

* [AutoPR azure-mgmt-relationships]-generated-from-SDK Generation - Python-6865886 (#49105)

* Configurations:  'specification/relationships/resource-manager/Microsoft.Relationships/Relationships/tspconfig.yaml', and CommitSHA: '85e949e122626f546750f7ce795e278f0523c1d9' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6862963 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Update pyproject.toml

* Configurations:  'specification/relationships/resource-manager/Microsoft.Relationships/Relationships/tspconfig.yaml', and CommitSHA: 'c915549bb9bc6969ea1131b616edcaf005267a93' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6865886 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Update CHANGELOG.md

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: Meghana Gupta <93553451+meghanagupta95@users.noreply.github.com>
Co-authored-by: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com>

* [agentserver-core] Release 2.2.0b2 (#49150)

* Release azure-ai-agentserver-core 2.2.0b2

- Finalize CHANGELOG release date for 2.2.0b2
- Mark flush_spans_async and schedule_flush_spans as @experimental
  while the API surface is validated in preview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Trim experimental changelog wording

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove empty changelog sections to fix CI changelog verification

The release-date changelog entry triggered the release-build verification
path, which rejects empty section headers (Breaking Changes, Bugs Fixed).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Preserve coroutine introspection when marking async functions experimental

The experimental decorator wrapped every function -- including coroutine
functions -- with a plain def, which made inspect.iscoroutinefunction /
asyncio.iscoroutinefunction return False for flush_spans_async even
though calling it still returns a coroutine. Add an async def wrapper
path for coroutine functions so the public async API stays
introspectable as async, with a regression test.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix partial passthrough and duplicate experimental warnings

- Restrict the new async-function branch in experimental() to actual
  function objects (inspect.isfunction), not any coroutine-function-like
  callable such as functools.partial, which lacks __qualname__ and would
  raise AttributeError on first await. Non-function callables continue to
  pass through unchanged as before.
- Route schedule_flush_spans's internal background flush through an
  undecorated _flush_spans_async_impl instead of the separately-decorated
  public flush_spans_async, so calling schedule_flush_spans no longer
  emits two distinct experimental warnings (one per differently cached
  function). Both public entry points remain decorated.
- Add regression tests for both fixes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix flaky experimental-warning regression test logger scope

The new test scoped caplog.at_level to azure.ai.agentserver.core._tracing,
but the experimental warning is emitted via _experimental.module_logger
(azure.ai.agentserver.core._experimental). Scoping the wrong logger left
the emitting logger's effective level dependent on whatever an earlier
test in the same process had set on the root logger, causing the
assertion to intermittently see zero captured warnings on macOS/Windows
CI runners. Scope to the correct logger, matching the pattern used by
the existing experimental decorator tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Rework duplicate experimental-warning fix to be decorator-only

Revert the _flush_spans_async_impl extraction in _tracing.py so
flush_spans_async and schedule_flush_spans keep their original method
bodies unchanged; @experimental is the only modification to those
functions.

Instead, suppress duplicate/nested experimental warnings entirely
inside the @experimental decorator via a new _experimental_call_active
ContextVar, mirroring the existing _experimental_init_active pattern
used for nested __init__ calls. Since asyncio.Task copies the current
context at creation time, this also correctly suppresses the warning
for flush_spans_async when it runs inside the task spawned by
schedule_flush_spans -> _coalesced_flush.

Add regression tests in test_experimental.py covering nested sync
calls, nested async calls, and calls inside a spawned asyncio task.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Limit experimental change to decorator only

Revert all package implementation changes in _tracing.py beyond the two
@experimental decorators. The duplicate-warning suppression is dropped:
the ContextVar guard leaked into spawned asyncio tasks, and the
undecorated-impl split required restructuring package code.

_experimental.py keeps async coroutine-function support so that
@experimental on `async def` preserves inspect/asyncio.iscoroutinefunction.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix mypy return type for async experimental wrapper

_add_async_function_docstring returns a coroutine function, so annotate it
as Callable[P, Coroutine[Any, Any, T]] rather than Callable[P, T]. This
drops the now-unnecessary type: ignore on the await.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Sync eng/common directory with azure-sdk-tools for PR 17035 (#49031)

* Migrate REST API verification to GitHub App token

Fixes #16614

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Align GitHub login with verification condition

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Ray Chen <raychen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* [azure-ai-evaluation] Prepare 1.18.6 release (#49157)

Co-authored-by: Rabah B <rboubchir+microsoft@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Support Spark runtimes 3.4 and 3.5 for model monitoring (#49117)

* feat(azure-ai-ml): support Spark runtime 3.5 for monitors

Allow model monitoring serverless Spark compute to use runtime 3.4 or 3.5. Add validation coverage for both supported versions and an unsupported version, and update representative samples and serialization fixtures to 3.5.

Authored-by: GitHub Copilot CLI v1.0.85
Model: GPT-5.6 Sol (gpt-5.6-sol)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ca6e7f2e-d9c6-4b68-91d4-91433cfe89df

* docs(azure-ai-ml): record monitor runtime support

Document model monitoring support for Spark runtimes 3.4 and 3.5 in the unreleased changelog.

Authored-by: GitHub Copilot CLI v1.0.85
Model: GPT-5.6 Sol (gpt-5.6-sol)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ca6e7f2e-d9c6-4b68-91d4-91433cfe89df

* test(azure-ai-ml): preserve monitor playback fixtures

Keep the recorded data-drift E2E fixtures on Spark runtime 3.4 so they continue matching the existing test-proxy cassette. Runtime 3.5 remains covered by the explicit ServerlessSparkCompute unit test without requiring a recording migration.

Authored-by: GitHub Copilot CLI v1.0.85
Model: GPT-5.6 Sol (gpt-5.6-sol)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ca6e7f2e-d9c6-4b68-91d4-91433cfe89df

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ca6e7f2e-d9c6-4b68-91d4-91433cfe89df

* [AutoPR azure-mgmt-oracledatabase]-generated-from-SDK Generation - Python-6764059 (#48787)

* Configurations:  'specification/oracle/resource-manager/Oracle.Database/OracleDatabase/tspconfig.yaml', SDK Release Type: stable, and CommitSHA: '522b63d1686e55a555a400c08ba65aef9f947f78' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6755891 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/oracle/resource-manager/Oracle.Database/OracleDatabase/tspconfig.yaml', API Version: 2026-06-01, SDK Release Type: stable, and CommitSHA: '4e6e13d398d4c2616237322a62394fc4f1dfeb81' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6764059 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Update CHANGELOG.md

* update

* Update CHANGELOG.md

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com>
Co-authored-by: ChenxiJiang333 <v-chenjiang@microsoft.com>

* Fix broken documentation links (#49158)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Bump hono from 4.13.2 to 4.13.7 (#49006)

Co-authored-by: helen229 <gaoh@microsoft.com>

* Increment package version after release of azure-ai-evaluation (#49162)

Co-authored-by: azure-sdk <azuresdk@microsoft.com>

* Use structured data and trusted snapshots for management SDK reviews (#49149)

* Use structured data and trusted snapshots for management SDK reviews

Replace model-authored Markdown validation with schema-checked review data and deterministic publisher-side rendering. Transfer collector evidence and tooling by immutable pre-agent artifact ID and pin execution to github.workflow_sha.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address review budget and normalization feedback

Reserve the final collector consistency request, normalize placeholders and rendered text at the same bounded fixed point, and preserve special-character immutable evidence destinations through gh-aw sanitization.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Keep Unicode URL regression and comments spelling-check clean

Retain a full-width Unicode filename regression while avoiding a split dictionary word, and clarify the URI escaping comment. The CI-pinned spell checker now passes all changed files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Reject control characters exposed by review text normalization

Apply the existing character policy before and after every normalization pass and to decoded immutable source paths. Cover nested HTML entities, percent-encoded filenames, and preserved line breaks and tabs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Keep malformed changelogs reviewable and reject formatted placeholders

Represent missing trusted release headings with an empty submitted identity and a deterministic unverified release label. Cover real collector snapshots with heading-less entries and block/list HTML placeholder variants while preserving literal type names. Update agent instructions and regenerate only the target lockfile with gh-aw v0.88.8.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Allow encoded spaces in immutable evidence paths

Preserve existing percent escapes, which are already safe in the renderer. Add regressions for percent-encoded spaces and percent signs, including the pinned publisher, while retaining decoded control-character and traversal rejection.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Consolidate historical review failures into two sanitized fixtures

Retain the plain human-review prefix and initial-release no-entry explanation cases, removing redundant raw run payloads, temporary tool IDs, and incidental commit references. Preserve source-run links in tests, assert both failure shapes explicitly, update maintenance documentation, and regenerate the target lockfile.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Reject placeholders wrapped in Markdown list and quote markers

Normalize leading blockquote, ordered/unordered-list and task-list markers for placeholder detection only. Cover nested prefixes and confirm substantive text retains its original markers when rendered.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [AutoPR azure-mgmt-storage]-generated-from-SDK Generation - Python-6868350 (#48770)

* Configurations:  'specification/storage/Storage.Management/tspconfig.yaml', SDK Release Type: stable, and CommitSHA: 'bb85cf38770403f6db3d9514e8e390ff88c5f2c2' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6749544 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/storage/Storage.Management/tspconfig.yaml', SDK Release Type: stable, and CommitSHA: '9409cc0d6a0382737c66cc5dd6d8dce098f73cbe' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6753253 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/storage/Storage.Management/tspconfig.yaml', SDK Release Type: stable, and CommitSHA: 'e3d52974df27dbe11f67a88c7d066dd9e799a377' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6764467 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/storage/Storage.Management/tspconfig.yaml', and CommitSHA: '7ad4e2baf259ded07567986512d602b7f170e1cf' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6844167 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/storage/Storage.Management/tspconfig.yaml', and CommitSHA: '05b9a6fd225397fafb604d9e6882f934c65a0909' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6853743 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/storage/Storage.Management/tspconfig.yaml', and CommitSHA: 'ec4027ffadfa8c62280acab86dfdc91d51844fc9' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6868350 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>

* [agentserver-activity] Increment version for 1.0.0b4 (#49167)

azure-ai-agentserver-activity never received the post-release version
increment after 1.0.0b3 shipped on 2026-08-21, so its CHANGELOG top entry
remained a dated (released) heading. That makes Get-PackageApprovalStatus.ps1
treat the already-published 1.0.0b3 as a release candidate and enforce the
API review release gate against it, which fails with packageNamePending
because the package name has not been approved in APIView.

This broke every internal `python - agentserver` build on main (builds
6873688, 6875590, 6873686, 6873121, 6872395 all failed the same
"Check Package Approval Status" task), blocking the Build stage for all five
agentserver artifacts.

Bump to 1.0.0b4 (Unreleased) so the approval check is skipped for an
unreleased package, matching the automated increment in 2a00787ba1.

Note: this unblocks CI only. The package name azure-ai-agentserver-activity
still needs APIView approval before the next release can ship.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [agentserver-core] Release 2.2.0 (GA) (#49156)

Promote azure-ai-agentserver-core to its stable 2.2.0 release:

- Bump VERSION to 2.2.0
- Add a 2.2.0 CHANGELOG entry noting the stable promotion of the
  2.2.0b1/2.2.0b2 preview series (no functional changes since 2.2.0b2)
- Switch the package classifier to Development Status :: 5 - Production/Stable

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [AutoPR azure-mgmt-platformvalidation]-generated-from-SDK Generation - Python-6871655 (#48637)

* Configurations:  'specification/platformvalidation/resource-manager/Microsoft.PlatformValidation/PlatformValidation/tspconfig.yaml', API Version: 2026-07-01-preview, SDK Release Type: beta, and CommitSHA: '127674911f4714c636d2c6495b7959d094d05dff' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6720529 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Add execution plan configuration helpers

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c6afca49-0681-4f32-9e0e-7068d0eeac9a

* Revert execution plan configuration helpers

Defer custom execution plan authoring until the service contract and SDK API shape are approved.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c6afca49-0681-4f32-9e0e-7068d0eeac9a

* Regenerate PlatformValidation for 2026-08-01-preview

Update the generated Python management SDK from spec commit 395e3a0297 and remove stale samples for test-run operations that no longer exist in this API version.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 08f9a568-60ed-476a-9e1b-8a267f3c83ff

* Configurations:  'specification/platformvalidation/resource-manager/Microsoft.PlatformValidation/PlatformValidation/tspconfig.yaml', API Version: 2026-08-01-preview, SDK Release Type: beta, and CommitSHA: '8b60913ae846f5209258162f983c8c2c425e5371' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6871591 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/platformvalidation/resource-manager/Microsoft.PlatformValidation/PlatformValidation/tspconfig.yaml', and CommitSHA: '8b60913ae846f5209258162f983c8c2c425e5371' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6871655 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: Shivangi Rana <shivangirana@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: shivangirana20 <76525379+shivangirana20@users.noreply.github.com>
Co-authored-by: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com>
Copilot-Session: c6afca49-0681-4f32-9e0e-7068d0eeac9a
Copilot-Session: 08f9a568-60ed-476a-9e1b-8a267f3c83ff

* [Versioning Tool] Update setuptools version (#49116)

* remove six

* update setuptools

* [Service Bus] Prepare azure-servicebus 7.15.0 for release (#49050)

* [Service Bus] Prepare azure-servicebus 7.15.0 for release

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* config: Mark azure-servicebus 7.15.0 as stable

- Use the stable PyPI development classifier
- Align APIView package metadata with version 7.15.0

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* config: Release azure-servicebus as 8.0.0

- Use a major version for the documented receive behavior change
- Align package, APIView, and changelog release metadata

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* config: Release azure-servicebus as 7.15.0

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix: Correct uAMQP deprecation target

- Point sync and async warnings to a future major release
- Record the warning correction in the 7.15.0 changelog

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix: Keep uAMQP transport available

- Remove deprecation warnings from sync and async clients
- Remove stale deprecation comments and document 7.15.0 availability

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Retry Service Bus release validation

Re-run pull request validation after unrelated Cosmos emulator failures.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix: handle empty feature flag list during processing (#49152)

Co-authored-by: s-aleshin <formats_trinket7c@icloud.com>

* Use default pool for storage live tests (#49161)

Remove the dedicated storage pool override now that the default pool uses the same agent SKU.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* update dev reqs with latest lib versions (#49174)

* update jinja2 (#49176)

* Pin @typespec/http-client-python to 0.38.0 (#49175)

* bump version

* Pin http-client-python to 0.38.0

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Sync .github/skills directory with azure-sdk-tools for PR 16634 (#49173)

* add sdk quality assureance skill

* iterative assurance sdk quality

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* update the reference

* remove breaking change resolve from generate-sdk-locally skill

* format the breaking change display

* remove unused tool

* format and resolve comments

* add evals

* refine the instruction

* typo

* add eval test

* resolve comments

* format eval yaml

* resolve comments

* Sync .github/skills directory with azure-sdk-tools repository for Tools PR 16634

* use editScope name in skill

* add start mcp server instruction

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add generate-only eval coverage for local SDK generation

Co-authored-by: chunyu3 <10458143+chunyu3@users.noreply.github.com>

* update the eval case

* update the timeout

* set editCode CutomCode when in SDK repo

* Sync .github/skills directory with azure-sdk-tools repository for Tools PR 16634

* Sync .github/skills directory with azure-sdk-tools repository for Tools PR 16634

---------

Co-authored-by: FAREAST\chunyu <chunyu@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: chunyu3 <10458143+chunyu3@users.noreply.github.com>

* Add support for session.id attribute (#49179)

* Add support for session.id attribute

* Add CHANGELOG

* Fix lint

* Address feedback

* [azure-ai-evaluation] Revert configurable AOAI output page size (#49181)

Revert the behavior introduced by #49034, restoring fixed-size full cursor pagination and the configured OpenAI client retry policy. Preserve subsequent mapping and deepcopy fixes, strengthen pagination/retry regressions, and document the public option removal as breaking.

Co-authored-by: Rabah B <rboubchir+microsoft@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Fix explicit schema types in AOAI grader evaluations (#49180)

* Fix explicit schema types in AOAI grader evaluations

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Preserve schema-constrained extra fields and fix CI regressions

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Rabah B <rboubchir+microsoft@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* [azure-ai-evaluation] Prepare 1.18.7 release (#49184)

Co-authored-by: Rabah B <rboubchir+microsoft@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* [azure-ai-ml] Validate artifact cache paths and handle concurrent downloads (#49185)

* Improve artifact cache path validation and publication

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Fix artifact cache initialization, selectors, and concurrent reads

Wait for incomplete cache publications before cleanup, validate the Azure CLI before caching the singleton, and check encoded cache filenames on newer Python versions.

Add regression coverage and the coordinated platform-aware tool fixture.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Retry initial artifact cache checksum reads

Include the first cache validation in the existing bounded retry path while preserving non-resolving lookups, fast cache hits, containment checks, and error propagation.

Add first-read sharing-error and persistence regressions plus cache-hit and non-resolving behavior coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Ayushh Garg <ayushhgarg@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* [agentserver-responses] Prepare 2.2.0b2 release (#49177)

Date the 2.2.0b2 CHANGELOG heading so the entry is treated as a release
candidate. `_version.py` is already at 2.2.0b2 and the package's minimum
`azure-ai-agentserver-core>=2.2.0b2` dependency is now published on PyPI,
so no version or dependency changes are needed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [AutoPR azure-mgmt-compute]-generated-from-SDK Generation - Python-6843996 (#48997)

* Configurations:  'specification/compute/resource-manager/Microsoft.Compute/Compute/tspconfig.yaml', and CommitSHA: '27d5cc281039b6275c2b5a6e7af6dc869739c14d' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6832829 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Configurations:  'specification/compute/resource-manager/Microsoft.Compute/Compute/tspconfig.yaml', API Version: 2026-03-03, SDK Release Type: stable, and CommitSHA: 'eac980067e41d5e5f8b0e9a4aa0e3359f2790912' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6843996 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com>

* update requests (#49199)

* bump setuptools version (#49198)

* remove pypy restrictions (#49197)

* Fix management SDK review stability evidence (#49208)

Permit citations of the generated version literal for stability flag checks while retaining other source exclusions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Configurations:  'specification/compute/resource-manager/Microsoft.Compute/WorkloadManager/tspconfig.yaml', and CommitSHA: '67c1422784ddea1e2f320429b02a2cc5d99b0b65' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6876016 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. (#49163)

Co-authored-by: azure-sdk <azuresdk@microsoft.com>

* Bump min azure-core version and remove support for python 3.8 (#49200)

* Bump min azure-core version and remove support for python 3.8

* Update CHANGELOG

* Bump min python version

* [Storage] Bump changefeed minimum `cryptography` dev_requirement >=50.0.0 (#49096)

* [azure-ai-ml] Validate artifact tool download request URLs (#49186)

* Validate artifact tool download request destinations

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Separate artifact request validation from cache changes

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Reject artifact tool archives without an executable

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Ayushh Garg <ayushhgarg@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* [AutoPR azure-mgmt-resource-locks]-generated-from-SDK Generation - Python-6890356 (#49226)

* Configurations:  'specification/resources/resource-manager/Microsoft.Authorization/locks/readme.md', API Version: 2020-05-01, SDK Release Type: stable, and CommitSHA: 'e0ff5b8f285f1da87d2c0dedac03c947b6fb7964' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6889935 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* update

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: ChenxiJiang333 <v-chenjiang@microsoft.com>

* [AutoPR azure-mgmt-resource-templatespecs]-generated-from-SDK Generation - Python-6890358 (#49230)

* Configurations:  'specification/resources/resource-manager/Microsoft.Resources/templateSpecs/readme.md', API Version: 2022-02-01, SDK Release Type: stable, and CommitSHA: 'eee059b61034c9a1d920083e801a389f8703fba1' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6890007 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* update

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: ChenxiJiang333 <v-chenjiang@microsoft.com>

* [AutoPR azure-mgmt-computeworkloadmanager]-generated-from-SDK Generation - Python-6889830 (#49224)

* Configurations:  'specification/compute/resource-manager/Microsoft.Compute/WorkloadManager/tspconfig.yaml', and CommitSHA: '14c2effd362b22573f7567d34ae34f1111d96059' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6889830 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Update CHANGELOG.md

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com>

* [AutoPR azure-mgmt-resource-features]-generated-from-SDK Generation - Python-6890359 (#49227)

* Configurations:  'specification/resources/resource-manager/Microsoft.Features/features/readme.md', API Version: 2021-07-01, SDK Release Type: stable, and CommitSHA: 'e0ff5b8f285f1da87d2c0dedac03c947b6fb7964' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6889931 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* update

* Update CHANGELOG.md

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: ChenxiJiang333 <v-chenjiang@microsoft.com>
Co-authored-by: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com>

* [agentserver-responses] Prepare 2.2.0 release (#49222)

* Prepare agentserver responses 2.2.0 release

Promote the existing 2.2.0b2 package to stable with no functional changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update dependency settings in pyproject.toml

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* [TA] py sdk 2026-05-15-preview (#49137)

* Configurations:  'specification/cognitiveservices/data-plane/LanguageAnalyzeText/tspconfig.yaml', API Version: 2026-05-15-preview, SDK Release Type: beta, and CommitSHA: '9c745796efdacae594b80c6341973925dc25c501' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6850499 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

* Update abstract summary tests to use AAD

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Migrate text analytics tests to AAD authentication

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix PII confidence threshold assertions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add PII entity synonym tests and samples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add NoMask redaction policy coverage

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add PII value exclusion tests and samples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add excluded PII category tests and samples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add PII mask position coverage

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add cancel-after job tests and samples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update Text Analytics feature documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Clarify Text Analytics changelog coverage

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix Text Analytics CI checks and recordings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove legacy Text Analytics API artifacts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Exclude legacy Text Analytics package from discovery

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix Text Analytics job result typing

Deserialize analyze-job poller results as AnalyzeTextOperationState and update the sync and async samples to consume the typed result. Also correct the client documentation markup reported by Sphinx.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update Text Analytics README snippets

Refresh README code snippets from the updated samples and retain the formatter output required by the snippet synchronization check.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix analyze job poller Pyright errors

Initialize the sync and async analyze-job raw responses explicitly and distinguish a missing continuation token from an empty token so Pyright can prove the response is bound.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* updated date in change log

---------

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* update setup.py (#49201)

* Route signed-binary packages through a per-artifact release path (#48966)

* Add sparse checkouts to signing jobs, skip checkout for consolidation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Artifact creation, DevOps release

* Uncomment

* Wire storage releases to signed artifacts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Only build azure-storage-extensions

* BuildTargetingString

* Restore signing extraction and repackage scripts

* Declare azure-sdk-build-tools repo resource (tag-pinned)

Restores the azure-sdk-build-tools repository resource referenced by the
mac/win signing templates (@azure-sdk-build-tools), pinned to tag
azure-sdk-build-tools_20260702.2 to match azure-dev. This seeds a ref line
that the tools-repo-versioning auto-updater will keep current.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8225ba73-f36e-4078-b21a-a7a166d261f9

* Re-enable ESRP PyPI publish for signed release

Restores the ESRP publish path (isolate + esrp-publish.yml) gated on
PublicFeed == 'PyPi'. Reads from packages_all_signed/<artifact>, so the
signed wheels/sdist are what get published.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8225ba73-f36e-4078-b21a-a7a166d261f9

* Signing extraction, prevent accidental publish

* max parallel

* Disable codeql for compiled languages on macos

* CodeQL: cpp and python

* Fix Windows binary signing no-op: recurse into payload subfolders

ESRP Code Signing used minimatch pattern '*.pyd' (non-recursive) against
win-sign-input/, but extract_sign_inputs.py places .pyd in numbered
subfolders (00000/crc64.pyd). The glob matched 0 of 4 files, the task
reported success signing nothing, and repackage reinserted unsigned .pyd.
Mac was unaffected because it zips the payload dir and signs the zip.

Change WinPattern to '**/*.pyd' so ESRP recurses into the subfolders,
matching the mac path's recursive behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8225ba73-f36e-4078-b21a-a7a166d261f9

* Re-enable ESRP publish for release

Uncomment the esrp-publish.yml template call that was temporarily disabled
during signing-pipeline testing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8225ba73-f36e-4078-b21a-a7a166d261f9

* Disable CodeQL compiled scanning on macos test jobs

* Changed release date

* Features added section

* Route signed-binary packages through a per-artifact release path

Packages that ship compiled binaries need their wheels signed by ESRP before
release, but the previous approach keyed signing off ServiceDirectory, which
dragged every storage package onto the signed path.

Make it a per-artifact opt-in instead. An artifact sets `signBinaries: true` in
its service ci.yml and gets a dedicated Sign_<safeName> stage plus a
Release_<safeName> stage fed from the resulting packages_<safeName>_signed
artifact. Every other artifact keeps releasing from packages_extended off the
build stage exactly as before, so a service can mix both kinds of packages.

The signed artifact mirrors the layout of packages_extended, so the release jobs
work against it unchanged. To keep those jobs single-sourced they move verbatim
into release-artifact.yml, which parameterizes only the artifact name and the
upstream stage. packages_extended itself is untouched.

Signing runs on release and scheduled builds and never on PR builds: the public
project cannot reach internal/azure-sdk-build-tools, and ESRP must not be handed
unreviewed code. Scheduled runs are included because the Integration stage now
publishes signed alpha packages to the dev feed for opted-in artifacts.

The signing stage deliberately ignores Skip.Release and SetDevVersion. Those
belong on the consumers, which already carry them; checking them here would
propagate through Integration's dependency and silently break the nightly and
manual dev version alpha publishes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9079636e-8478-4697-ae82-538136cd41b5

* Surface skipped alpha publishes and pin the signing run reasons

Testing the scheduled path directly, rather than simulating it with a
queue-time SetDevVersion, showed the signing condition was only ever being
satisfied by its 'Manual' term. Two gaps that hid behind that:

The 'Schedule' term is coupled to daily-dev-build-variable.yml, which sets
SetDevVersion only when Build.Reason is exactly 'Schedule'. Alpha wheels exist
only when that is true, so the two must widen together. Record that, along with
why the reasons left out of the list need no signing.

A missing signed artifact skips one package's alpha publish by design, so a
signing failure cannot take down the dev feed publish for a whole service. Raise
it as a build issue rather than Write-Warning so that degradation shows up in
the run summary instead of only in the task log.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9079636e-8478-4697-ae82-538136cd41b5

* Derive platform builds from the signBinaries artifact property

ENABLE_EXTENSION_BUILD gated the mac and windows builds on a hardcoded
azure-storage-extensions name check, so any other package opting into
signBinaries got a signing stage with no wheels to sign. Resolve it from
the artifact property instead, which Save-Package-Properties already
copies into each package info file as ArtifactDetails.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9079636e-8478-4697-ae82-538136cd41b5

* Add azure-template-two binary package for release validation

Adds a minimal C extension package so the template service exercises both
kinds of release artifact: azure-template stays pure Python and unsigned,
while azure-template-two ships platform wheels routed through signing via
the signBinaries artifact property.

The extension exposes a single is_true() function and is compiled against
the limited API, so one cp310 abi3 wheel per platform covers 3.10+.
cibuildwheel is configured for x86_64 Linux, x86_64 Windows and arm64
macOS.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9079636e-8478-4697-ae82-538136cd41b5

* Skip doc publishing for the azure-template-two binary package

Doc publishing resolves exactly one wheel per package, which does not hold
for a package that ships one wheel per platform, so the namespace step fails
converting the match list to a string. azure-storage-extensions already opts
out of doc publishing for the same reason.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9079636e-8478-4697-ae82-538136cd41b5

* Fix empty Release stage identifier from case-sensitive lookup

Property lookups on a declared object parameter are case sensitive, unlike
the each-loop variable this stage was extracted from, so Artifact.safename
resolved to empty and every artifact compiled to a stage literally named
Release_. A single artifact service still compiled, but any service with two
or more artifacts failed with a duplicate stage name.

The same spelling was also used to look up the auto-release output variable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9079636e-8478-4697-ae82-538136cd41b5

* cspell and readme update

* Address signed artifact review feedback

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Address remaining PR review feedback

Gate azure-sdk-build-tools resource in 1es-redirect.yml to internal, non-PR runs, matching the existing compile-time signing gate in archetype-python-release.yml.

Add round-trip unit tests for the wheel signing extract/repackage scripts, covering multiple wheels, duplicate binary basenames, platform-specific suffix selection, and rebuilt RECORD hash/size correctness.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Revert invalid conditional on azure-sdk-build-tools repository resource

Azure Pipelines does not permit template expressions to conditionally include/exclude entries under resources.repositories (only to parameterize values like ref within an unconditionally-declared entry). Restore the unconditional declaration; the resource declaration alone does not force a checkout for jobs that never reference it.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Handle scoped binary signing releases

Skip signing and release stages when the filtered build output does not contain the signed artifact, normalize the Key Vault safeName property, and date the template fixture changelog for release validation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* apistub: prefer Linux wheel when multiple platform wheels are present

Build_Extended runs on a Linux agent and downloads Windows/macOS/Linux
platform wheels for signed-binary packages into the same staging dir.
apistub's wheel lookup previously relied solely on find_whl's
interpreter-tag matching, which fails and exits when multiple platform
wheels exist and none match the invoking interpreter's tags exactly.

Only the Linux wheel is actually installable on the Linux agent, so
deterministically select it when multiple platform-specific wheels are
found for the same package/version, falling back to find_whl's existing
lookup when there is a single candidate or no Linux wheel among them.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Add signing verification: no-op guard and post-sign smoke tests

- repackage_signed_wheels.py: raise if a 'signed' binary is byte-identical
  to its unsigned input, catching silent ESRP no-ops before they reach the
  released wheel.
- smoke_test_signed_wheel.py: new script that installs a signed wheel and
  imports every compiled extension module it ships, generically discovered
  via importlib.metadata rather than hardcoded per-package paths. Skips
  vendored native dependency libraries (delocate .dylibs/, auditwheel
  .libs/) that are signable but not importable, and maps a compiled
  __init__ extension to its parent package.
- sign-binaries.yml: add Smoke_macOS and Smoke_Windows jobs inside each
  Sign_<safeName> stage, running the smoke script on the real target OS
  against the actual signed wheel artifact. These are the only jobs in the
  pipeline that install/import a signed binary; a failure here fails the
  Sign_<safeName> stage and therefore blocks Release_<safeName>.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* select linux whl with compatible interpreter

* depend on smoke tests, select one representative whl per os for smoke test

* Fix signed macOS wheel smoke test Python setup

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Authenticate signed wheel smoke test dependencies

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Bump azure-template-two to 1.0.0b2

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* bump ver again for testing, update language-settings to create apiversion when multipl whls

* build-test-pipeline-version should accept template2

* add wheel signing ci

* remove manual version bump

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Peter Wu <weirongwu@microsoft.com>
Co-authored-by: jennypng <63012604+JennyPng@users.noreply.github.com>
Copilot-Session: 8225ba73-f36e-4078-b21a-a7a166d261f9
Copilot-Session: 9079636e-8478-4697-ae82-538136cd41b5

* Feature/finetuning sessions sdk (#47495)

* feat: add azure-ai-finetuning-sessions SDK

Ports the reviewed azure-ai-finetuning-sessions package from azure-sdk-for-python-pr into the main SDK repo.

* feat: sync azure-ai-finetuning-sessions SDK with loom master

Updates generated models (SessionStatus vocabulary, LoRAConfig.alpha, SampledSequence.text, SaveCheckpointRequest.step_number/metrics, ejectable, Forward models) and ports custom patch files, typed exceptions (_exceptions.py), and logging setup (_logging_setup.py) from loom master.

* chore: point tsp-location to reorganized sdk-python-azure-ai-finetuning-sessions folder

* chore: use full commit SHA in tsp-location.yaml

* feat: regenerate fine-tuning sessions SDK with current runtime support

* chore: validate merged fine-tuning SDK and pin public TypeSpec source

* chore: rename distribution to azure-ai-finetuningsessions

* feat: migrate Python namespace and preserve preview SDK compatibility

* fix: use existing fine-tuning session routes by default

* chore: pin TypeSpec suppression cleanup

* fix: regenerate fine-tuning SDK from extensible unions

* fix: record sampling default and preserve caller overrides

* fix: await async session heartbeat shutdown

* Generate the tested fine-tuning preview SDK with regeneration-safe customizations

* Address fine-tuning preview review findings with lifecycle and protocol regressions

* Fix fine-tuning SDK Python 3.10, lint, docs and link gates

* Record closed agent opt-in review with unchanged fine-tuning SDK

* Pin route-deduplicated TypeSpec and canonical SDK APIView identities

* Pin fine-tuning SDK to reviewed Foundry feature opt-in contract

* Document Python forward and session deletion convenience APIs

* Regenerate fine-tuning SDK from reviewed Foundry contracts

* Refresh fine-tuning SDK provenance for string-contract review

* Reuse canonical fine-tuning models and expose the extensible training tier enum

* Address preview SDK review and gates with shared generation and verified service contracts

* Use durable absolute documentation links and recognize Python reflection terms

* Validate installed-wheel runtime and separate artifact guard CLI from pytest collection

* Preserve redirect credential cleanup with minimum supported Azure Core

* Regenerate fine-tuning SDK metadata after query decorator cleanup

* Generate input chunk hierarchy and reuse canonical Foundry features

* Fix Python 3.10 SDK verification and provenance reference validation

* Recognize Python typing keyword in surface verifier spelling

* Refresh fine-tuning SDK from current TypeSpec and synchronize Loom sampling contracts

---------

Co-authored-by: Harshith Arun Kumar <haarunkumar@microsoft.com>

* [AI Evaluation] Stop polling terminal annotation bad requests (#49215)

* fix(evaluation): stop polling terminal annotation bad requests

Surface terminal HTTP 400 responses in both legacy annotation pollers.
Preserve the original service error instead of replacing it with a
polling timeout; leave all other retry and deadline behavior unchanged.

Authored-by: GitHub Copilot CLI v1.0.81-11
Model: GPT-6 Astra (gpt-6-astra)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2f56b676-8968-4a72-9032-40c0570833e7

* chore(evaluation): log stopped annotation polling

Record HTTP 400 polling stops with operation ID, poll count and elapsed
time. Do not log response content, credentials or endpoint URLs.

Authored-by: GitHub Copilot CLI v1.0.81-11
Model: GPT-6 Astra (gpt-6-astra)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2f56b676-8968-4a72-9032-40c0570833e7

* chore(evaluation): align version with unreleased changelog

Set the package version to 1.18.8 so changelog validation selects the
existing unreleased entry rather than the older 1.18.7 release section.
Leave the annotation polling implementation unchanged.

Authored-by: GitHub Copilot CLI v1.0.81-11
Model: GPT-6 Astra (gpt-6-astra)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2f56b676-8968-4a72-9032-40c0570833e7

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2f56b676-8968-4a72-9032-40c0570833e7

* Allow deletion of resources that dont have prefix, Ensure all locks are found and removed before attempting delete (#49243)

Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>

* Fix multi-turn token-list crash: stop routing evaluation_per_turn.* into scalar AOAI fields (#49242)

Root cause: the AOAI results converter's _extract_metric_values routes every
output column into a scalar result field purely by key suffix. Conversation-level
multi-turn evaluators (e.g. retrieval) aggregate per-turn results, producing a
flattened per-turn breakdown column such as
`outputs.retrieval.evaluation_per_turn.retrieval_total_tokens = [t1, t2]`.
That key ends with `_total_tokens`, so it was misclassified and written -- as a
list -- into the scalar `sample.usage.total_tokens` slot, double-writing over the
real top-level scalar and crashing the whole run with
`TypeError: float() argument must be a string or a real number, not 'list'`
(surfaced as a SystemError, no results).

Fix at the root: skip `evaluation_per_turn` / `evaluation_per_turn.*` keys in
_extract_metric_values so per-turn breakdown columns are never suffix-routed into
scalar `sample.usage.*` (or score/label/etc.) fields. The scalar `sample.usage.*`
values continue to come from the genuine top-level scalar columns, and the per-turn
breakdown is still surfaced to callers via the row-level results DataFrame. No
error-swallowing coercion is introduced; a real list reaching a scalar token branch
would still fail loudly, as it should.

Adds TestEvaluationPerTurnNotRoutedToScalar covering: per-turn token list dropped
from usage, scalar wins regardless of column order, prompt/completion per-turn
skipped, per-turn score not clobbering the scalar score, and per-turn-only input
producing no spurious scalar.

Co-authored-by: Kayla Ames <kaseager@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3941e36f-b944-4c85-a7e8-afd970198445

* [Mgmt] Harden SDK review contracts and trusted evidence preflight (#49231)

* Harden management SDK review contracts and trusted preflight

Use immutable evidence identities, deterministic routine checks, bounded read-only semantic preflight, and independent publication validation. Retain production regressions and document the post-merge canary gate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Address management review evidence and completeness feedback

Preserve source collection diagnostics as partial review outcomes, require current SDK evidence for checks and findings, and exclude only the host-only service endpoint from link checks. Retain historical attribution evidence and cover both validation gates with regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Allow authorized manual management SDK reviews through the production pipeline

Resolve and pin Azure-owned SDK PR targets for msyyc manual dispatches, default to the selected workflow branch, and preserve the existing label path. Recheck authorization at service and publisher entry points for partial reruns. Exercise both event types through the same pinned publisher and retain fixed-target publication safeguards.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Require MgmtClient names for confirmed initial management SDK releases

Check pinned sync and async client declarations as data and independently derive blocking findings with client.tsp customization guidance. Preserve existing-release exemptions and uncertain evidence outcomes. Pin authoritative rules to the same trusted workflow revision so branch tests exercise candidate policy without reading SDK PR rules.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Use apiVersions maps consistently in management SDK reviews

Share API-map validation between preview compatibility and first-to-latest drift checks. Ignore nullable or conflicting apiVersion scalars, compare complete service mappings independently of key order, render both maps, and preserve explicit incomplete outcomes for malformed evidence. Replay the compute null-apiVersion regression from PR48997.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Fix bounded evidence discovery and multi-package review citations

Fetch pinned project metadata before discovering version and client paths, preserving request and file limits. Share exact evidence URLs across multi-package reviews while retaining single-package output and publisher budgets. Add collector and pinned-runtime regression coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Keep manual management review dispatch as a documented test-only switch

Comment out workflow_dispatch in the canonical source and annotate the regenerated lock with re-enable instructions. Preserve PR concurrency using event inputs. Include deferred unauthorized-user skip guards with an always-running policy notice and regressions for default-disabled and enabled test configurations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Read pinned public specification evidence without repository credentials

Use one bounded anonymous raw-content reader for service registration and independent publisher rereads. Reject redirects, preserve explicit failure states and hash verification, and retain SDK collection/publication credentials unchanged. Add HTTP-boundary regressions and an opt-in live access smoke that never invokes comment publication.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Reject incomplete public specification HTTP responses

Keep partial bodies and HTTP framing failures explicitly unverified instead of treating a truncated UTF-8 prefix as complete evidence.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Update mgmt-sdk-pr-review.lock.yml

* Update mgmt-sdk-pr-review.lock.yml

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 33140644-f61b-423c-8c1c-8aeaae608f78

* Configurations:  'specification/containerservice/resource-manager/Microsoft.ContainerService/aks/tspconfig.yaml', and CommitSHA: '3a3fcc9e77a5e97fb0c09dfd2670e026dd8cf58a' in SpecRepo: 'https://github.com/Azure/azure-res…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants