Skip to content

[Az.EdgeAction] Adopt stable 2026-10-01 API and expand scenario coverage - #30269

Open
Jean Kim (kestry) wants to merge 38 commits into
Azure:mainfrom
kestry:jeankim-microsoft-2026-10-01-ga
Open

Jean Kim (kestry) wants to merge 38 commits into
Azure:mainfrom
kestry:jeankim-microsoft-2026-10-01-ga

Conversation

@kestry

@kestry Jean Kim (kestry) commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

🤖 PR Validation — ⚠️ Review suggested

Tests
⚠️ 18/18
⚠️Az.EdgeAction
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Breaking Change Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Signature Check
⚠️PowerShell Core - Windows
Type Cmdlet Description Remediation
⚠️ Get-AzEdgeAction Get-AzEdgeAction Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeAction Get-AzEdgeAction changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzEdgeActionExecutionFilter Get-AzEdgeActionExecutionFilter Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeActionExecutionFilter Get-AzEdgeActionExecutionFilter changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzEdgeActionVersion Get-AzEdgeActionVersion Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeActionVersion Get-AzEdgeActionVersion changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzEdgeActionVersionCode Get-AzEdgeActionVersionCode Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeActionVersionCode Get-AzEdgeActionVersionCode changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️Windows PowerShell - Windows
Type Cmdlet Description Remediation
⚠️ Get-AzEdgeAction Get-AzEdgeAction Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeAction Get-AzEdgeAction changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzEdgeActionExecutionFilter Get-AzEdgeActionExecutionFilter Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeActionExecutionFilter Get-AzEdgeActionExecutionFilter changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzEdgeActionVersion Get-AzEdgeActionVersion Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeActionVersion Get-AzEdgeActionVersion changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzEdgeActionVersionCode Get-AzEdgeActionVersionCode Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzEdgeActionVersionCode Get-AzEdgeActionVersionCode changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
️✔️Help Example Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Help File Existence Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️File Change Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️UX Metadata Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows

Description

Updates Az.EdgeAction to the stable 2026-10-01 API, with scenario coverage, recordings, public help, and a self-contained development guide. AutoRest is pinned to Azure/azure-rest-api-specs commit 2e2b290fd446b03bbddcdc31098ff97e7218f0cf, using specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/stable/2026-10-01/openapi.json. This is the intended input in both README and how-to; the earlier 65eb9311d304dcf9874d05fdec39ea65baae8db8 pin is superseded, not equivalent. See validation provenance below.

Changes

  • Refreshes maintained AutoRest configuration, UX metadata, command help, examples, and the module changelog. Intentional public-surface change: the parent Update-AzEdgeAction PATCH schema is reduced to its supported tags field. The generated expanded parameter sets no longer expose -Property, -SkuName, or -SkuTier: the properties model is empty and the service rejects supplied SKU values. All four parent Update parameter sets remain, including Tag, JSON, and identity inputs; New-AzEdgeAction retains SKU parameters. Both help copies reflect this change.
  • Adds active Update scenarios for EdgeActions, versions, and execution filters. Parent tag replacement uses expanded parameters; clearing uses -JsonString '{"tags":{}}' because the current expanded serializer omits empty objects. Version tests preserve default/deployment state; default changes use Switch-AzEdgeActionVersionDefault. Filter tests cover version, header, and tag updates, including omitted-property preservation.
  • Updates all 15 scenario recording files together with compatible env.json metadata and separates fixture setup/cleanup recording contexts. Each run generates a resource group named rgps-powershellsdk-edgeaction-tests-<12 hex characters> and a distinct randomized name for each scenario fixture. Collision checks refuse pre-existing resources; persisted ownership and subscription/tenant/environment checks restrict cleanup to confirmed run-owned resources. Cleanup deletes execution filters, non-default versions, the current default version, then the parent and run-owned group. Azure resource names are not deliberately reused across runs. Concurrent runs still require separate artifact directories because environment metadata and recording files are shared within one directory.
  • After confirmed Record cleanup, normalizes the resource-group name to powershellsdk-edgeaction-tests-rgname and replaces polling URL t, c, s, and h query values with Sanitized consistently in headers, request URLs, and lookup keys. Normalization detects lookup collisions before writing recordings and preserves operation IDs, API versions, other query parameters, embedded payload strings, and recording counters. Existing complete recordings can be sanitized without live re-recording, followed by offline Playback. Maintained offline tests cover normalization and recovery on Windows PowerShell 5.1 and PowerShell 7, including inherited previous-configuration settings.
  • Adds maintained response-contract assertions for successful resource responses, asynchronous status, and final Location results. Non-status monitor fields are outside the current assertion scope; the documented compatibility exceptions remain explicit.
  • Documents manual prerequisites, package access, shared repository preparation/build commands, parent help/MAML generation, and direct artifact Record/Playback. The guide distinguishes repository, artifact, and complete standalone layouts. Recording review and selective source copy-back remain explicit manual steps.

Scope and ownership

Module-specific developer tools and their local-only regression tests are not required by this SDK PR's documented workflow. Optional helpers under src/EdgeAction/tools, their private-file ignore rules, and the developer-tools guide are preserved separately in draft #30296.

The PR contains no generated/EdgeAction changes or AssemblyInfo.cs changes. Generated/build outputs remain local; repository automation owns the separate generated-code archive PR. Source HTTP recordings are reviewed test inputs, not generated-code archives. This PR does not change the shared serializer or certify comprehensive recording sanitization.

Validation

  • Specification provenance: 2e2b290fd446b03bbddcdc31098ff97e7218f0cf is the current source generation input. The historical local build and Playback reports did not retain enough binary provenance to establish which specification commit produced those binaries. They are not evidence that a fresh client was generated from this pin, and are not asserted to validate either pin specifically. No fresh local generation/build was performed during the latest test/documentation follow-ups.
  • Latest full local offline Playback: at source commit 88128498822, an isolated copy of the existing built module was refreshed with the maintained test/helper/recording/environment files. With $scratch pointing to that copy, Invoke-Pester -Script (Join-Path $scratch 'test') -PassThru -Show Failed,Summary -OutputFile <review-results.xml> passed on PowerShell 7: 128 passed, 0 failed, 46 skipped. This validates the maintained tests against existing binaries and reviewed recordings, subject to the provenance limitation above. It is not a live Record run; skipped scenarios are not coverage.
  • Focused maintained regressions: Invoke-Pester -Script .\src\EdgeAction\EdgeAction.Autorest\test\RecordingNormalization.Tests.ps1,.\src\EdgeAction\EdgeAction.Autorest\test\LocationResponse.Tests.ps1 -PassThru -Show Failed,Summary passed with Pester 4.10.1: 105 passed on Windows PowerShell 5.1 and 105 passed on PowerShell 7. The nine normalization tests also passed on both runtimes with UsePreviousConfigForRecord set to true and false and terminating errors enabled. These offline assertions do not validate generated-client provenance.
  • Historical sanitization checks: pwsh -NoProfile -File .\test-module.ps1 -Playback, run from the artifact module directory, previously passed 23 tests, 0 failed, 46 skipped. An independent structural comparison preserved all 428 recording entries with only intended URL-query substitutions; supplementary local-only sanitizer/ownership regressions passed 54 tests. These historical results are not claimed as current checked-in coverage or fresh generation validation. No service responses were fabricated.
  • Hosted validation: the automated report preserved above is associated with source commit 88128498822 and reports successful build/test checks with signature warnings. Those are the report's results, not a new local rerun or a blanket green-CI claim. Consult the current checks and their logs for generated-client validation at the current source pin. Full-repository static analysis and full repository test/help-generation targets were not run for this follow-up.

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

Regenerate cmdlets and help from the pinned specification, and add module-local generation and scenario-test tooling with configuration, preflight checks and step logging.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 8, 2026 19:32
@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Move test prerequisite installation after built-artifact confirmation without changing commands or runtime behavior.

Co-authored-by: Copilot App <223556219+Copilot@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.

🟡 Changes recommended

Stable playback recordings and active update scenarios are missing, and the public update surface retains SKU parameters guaranteed to fail.

1 open finding
What changed in this PR

Updates Az.EdgeAction from the preview API to stable 2026-10-01, regenerates its command surfaces, and adds module-local development tooling.

Changes:

  • Regenerated cmdlets, models, runtime, UX metadata, and help for the stable API.
  • Added isolated generation and scenario-test runners with validated local settings.
  • Documented PATCH semantics and refreshed release notes.
File Description
src/​EdgeAction/​tools/​TestScripts/​TestSettings.psd1 Adds shared test defaults.
src/​EdgeAction/​tools/​TestScripts/​TestSettings.local.example.psd1 Adds Brazilus override example.
src/​EdgeAction/​tools/​TestScripts/​Test-EdgeAction.ps1 Adds scenario-runner entry point.
src/​EdgeAction/​tools/​TestScripts/​EdgeAction.TestRunner.psm1 Implements isolated scenario execution.
src/​EdgeAction/​tools/​TestScripts/​tests/​Test-EdgeAction.Tests.ps1 Tests the scenario runner.
src/​EdgeAction/​tools/​TestScripts/​.gitignore Ignores local test settings.
src/​EdgeAction/​tools/​GenerationScripts/​Update-EdgeActionGeneratedFiles.ps1 Adds generation/build/help wrapper.
src/​EdgeAction/​tools/​GenerationScripts/​tests/​Update-EdgeActionGeneratedFiles.Tests.ps1 Tests generation tooling.
src/​EdgeAction/​EdgeAction.Autorest/​how-to.md Documents local workflows.
src/​EdgeAction/​EdgeAction.Autorest/​README.md Pins the stable specification.
src/​EdgeAction/​EdgeAction.Autorest/​resources/​README.md Removes obsolete resource guidance.
src/​EdgeAction/​EdgeAction.Autorest/​UX/​Microsoft.Cdn/​edgeActions.json Updates parent API metadata.
src/​EdgeAction/​EdgeAction.Autorest/​UX/​Microsoft.Cdn/​edgeActions-versions.json Updates version API metadata.
src/​EdgeAction/​EdgeAction.Autorest/​UX/​Microsoft.Cdn/​edgeActions-executionFilters.json Updates filter API metadata.
src/​EdgeAction/​EdgeAction/​ChangeLog.md Records user-facing changes.
src/​EdgeAction/​EdgeAction/​help/​Az.EdgeAction.md Refreshes module help index.
src/​EdgeAction/​EdgeAction/​help/​Deploy-AzEdgeActionVersionCode.md Corrects help formatting.
src/​EdgeAction/​EdgeAction/​help/​Get-AzEdgeAction.md Refreshes parameter metadata.
src/​EdgeAction/​EdgeAction/​help/​Get-AzEdgeActionExecutionFilter.md Refreshes parameter metadata.
src/​EdgeAction/​EdgeAction/​help/​Get-AzEdgeActionVersion.md Refreshes parameter metadata.
src/​EdgeAction/​EdgeAction/​help/​New-AzEdgeAction.md Refreshes parameter sets.
src/​EdgeAction/​EdgeAction/​help/​New-AzEdgeActionExecutionFilter.md Refreshes parameter sets.
src/​EdgeAction/​EdgeAction/​help/​New-AzEdgeActionVersion.md Documents version properties.
src/​EdgeAction/​EdgeAction/​help/​Remove-AzEdgeAction.md Refreshes parameter sets.
src/​EdgeAction/​EdgeAction/​help/​Remove-AzEdgeActionExecutionFilter.md Refreshes parameter sets.
src/​EdgeAction/​EdgeAction/​help/​Remove-AzEdgeActionVersion.md Refreshes parameter sets.
src/​EdgeAction/​EdgeAction/​help/​Switch-AzEdgeActionVersionDefault.md Refreshes public switch help.
src/​EdgeAction/​EdgeAction/​help/​Update-AzEdgeAction.md Documents stable PATCH behavior.
src/​EdgeAction/​EdgeAction.Autorest/​docs/​Az.EdgeAction.md Refreshes generated help index.
src/​EdgeAction/​EdgeAction.Autorest/​docs/​New-AzEdgeActionVersion.md Updates generated parameter help.
src/​EdgeAction/​EdgeAction.Autorest/​docs/​Switch-AzEdgeActionVersionDefault.md Refreshes generated switch help.
src/​EdgeAction/​EdgeAction.Autorest/​docs/​Update-AzEdgeAction.md Documents parent updates.
src/​EdgeAction/​EdgeAction.Autorest/​docs/​Update-AzEdgeActionExecutionFilter.md Documents filter updates.
src/​EdgeAction/​EdgeAction.Autorest/​docs/​Update-AzEdgeActionVersion.md Documents version updates.
generated/​EdgeAction/​EdgeAction.Autorest/​internal/​Get-AzEdgeActionVersionCode.ps1 Improves internal help.
generated/​EdgeAction/​EdgeAction.Autorest/​internal/​Switch-AzEdgeActionVersionDefault.ps1 Improves internal help.
generated/​EdgeAction/​EdgeAction.Autorest/​internal/​ProxyCmdletDefinitions.ps1 Refreshes proxy descriptions.
generated/​EdgeAction/​EdgeAction.Autorest/​generated/​runtime/​ISendAsync.cs Protects credentials during retargeting.
generated/​EdgeAction/​EdgeAction.Autorest/​generated/​runtime/​BuildTime/​Models/​PsProxyOutputs.cs Adds dynamic-parameter forwarding.
generated/​EdgeAction/​EdgeAction.Autorest/​generated/​runtime/​BuildTime/​Cmdlets/​ExportProxyCmdlet.cs Emits dynamic proxy parameters.
generated/​EdgeAction/​EdgeAction.Autorest/​generated/​cmdlets/​* Regenerates operation variants for the stable API.
generated/​EdgeAction/​EdgeAction.Autorest/​generated/​api/​Models/​* Regenerates stable update models and serializers.
generated/​EdgeAction/​EdgeAction.Autorest/​exports/​Update-AzEdgeAction.ps1 Exposes stable parent update surface.
generated/​EdgeAction/​EdgeAction.Autorest/​exports/​Update-AzEdgeActionExecutionFilter.ps1 Exposes filter update fields.
generated/​EdgeAction/​EdgeAction.Autorest/​exports/​Update-AzEdgeActionVersion.ps1 Exposes version update fields.
generated/​EdgeAction/​EdgeAction.Autorest/​exports/​New-AzEdgeActionVersion.ps1 Refreshes version creation help.

🧠 Review effort: Balanced


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

Comment thread src/EdgeAction/EdgeAction.Autorest/README.md
Copilot AI balanced review requested due to automatic review settings October 8, 2026 19:39

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.

🔵 Needs a closer look

Cross-origin polling can still receive authentication credentials, and relative polling URLs are not sent correctly.

1 open finding
Previously missed (2)

In code that hasn't changed since last review

Medium severity Remove unsupported SKU parameters from public syntax

src/​EdgeAction/​EdgeAction/​help/​Update-AzEdgeAction.md:14

The public syntax still advertises -SkuName and -SkuTier even though this same contract states that every supplied SKU—including the existing value—is rejected. These parameters can never succeed and mislead users during command discovery. Remove them from the generated PowerShell surface through an AutoRest directive/schema customization and regenerate the cmdlet and help.

Low severity Create cmdlet help incorrectly describes PATCH validation

src/​EdgeAction/​EdgeAction.Autorest/​docs/​New-AzEdgeActionVersion.md:105

This is help for New-AzEdgeActionVersion, so PATCH-only validation text is inapplicable and implies that this create cmdlet performs updates. Keep the deployment-type description creation-specific, then regenerate the parent module help.

This issue also appears on line 151 of the same file.

🧠 Review effort: Balanced

Stage only the selected Pester 4.10.1 package in a temporary module search root so the existing harness can import it by name. Clean up after the child exits and clarify startup failures without fresh results.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 8, 2026 19:54
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

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.

🔵 Needs a closer look

Cross-origin requests can still receive a newly added bearer token, and the default playback workflow is incompatible with every tracked recording.

1 open finding
Previously missed (2)

In code that hasn't changed since last review

Medium severity Playback default fails because recordings use an outdated API version

src/​EdgeAction/​tools/​TestScripts/​Test-EdgeAction.ps1:30

The no-argument runner defaults to Playback, but all tracked EdgeAction recordings are still keyed to 2025-12-01-preview while generated requests now use 2026-10-01; the guide itself states those recordings cannot satisfy stable requests. Because fresh-result validation rejects failures, the documented default invocation is guaranteed to fail. Refresh the recordings for the stable API before making Playback the default (and add coverage for the newly exposed update behavior).

Low severity Create cmdlet help incorrectly describes PATCH-only validation

src/​EdgeAction/​EdgeAction/​help/​New-AzEdgeActionVersion.md:106

This is help for New-AzEdgeActionVersion, yet the new parameter text describes PATCH validation and says the property must match an existing value. During creation there is no existing value, so this guidance is misleading for this cmdlet. Keep create-parameter descriptions operation-neutral and place PATCH-only constraints only in Update-AzEdgeActionVersion help.

🧠 Review effort: Balanced

Populate the missing artifact support source before invoking the existing dependency helper. Cover payload copying, cwd restoration, and existing-install protection with offline fixtures.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 8, 2026 20:21
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

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

It removes existing identity parameter sets, exposes guaranteed-failing SKU parameters, and lacks executable stable PATCH coverage.

2 open findings
Previously missed (1)

In code that hasn't changed since last review

Medium severity Remove unsupported public SKU parameters

src/​EdgeAction/​EdgeAction.Autorest/​docs/​Update-AzEdgeAction.md:22

-SkuName and -SkuTier remain public even though the pinned stable contract explicitly says every supplied sku value—including the existing value or null—is rejected. These parameters therefore offer only a guaranteed failing request. Hide/remove the expanded SKU parameters with an AutoRest directive and regenerate the cmdlet/help, while retaining SKU only in JSON input if raw-contract parity is required.

🧠 Review effort: Balanced

…e tests

Reuse the original dependency helper after consent and configuration validation. Repair incomplete support, preserve complete installations, isolate setup feeds, and validate outputs before authentication or scenarios.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 8, 2026 20:41
…e tests

Reuse the original dependency helper after consent and configuration validation. Repair incomplete support, preserve complete installations, isolate setup feeds, and validate outputs before authentication or scenarios.

Co-authored-by: Copilot App <223556219+Copilot@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.

🟡 Changes recommended

Unsupported update parameters, silent null-tag omission, and stale preview recordings leave the stable API surface insufficiently validated.

4 open findings

🧠 Review effort: Balanced

Comment thread src/EdgeAction/EdgeAction.Autorest/docs/Update-AzEdgeAction.md Outdated
Comment thread src/EdgeAction/EdgeAction/ChangeLog.md Outdated
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Jean Kim and others added 2 commits October 8, 2026 17:07
Avoid loading source-folder RequiredAssemblies before importing the artifact binary. Cover artifact assembly selection and cwd restoration on success and failure.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The published changes are already contained in the amended local commit. Retain the verified local tree when resolving overlapping patches, including the assembly fix and user documentation.

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

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 16, 2026 23:09

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

Record cleanup fails on Windows PowerShell 5.1 before recording sanitization and environment normalization complete.

1 open issue

Review effort: Balanced

Comment thread src/EdgeAction/EdgeAction.Autorest/test/utils.ps1 Outdated
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

@a0x1ab Aditya Pujara (a0x1ab) added the Request X Engineering Agent Ask the agent to triage this issue or review this PR label Oct 19, 2026
@x-engineering-agent

x-engineering-agent Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

X Engineering Agent Report

Review — Comments

Jean Kim (@kestry)

Upstream CI: 13 passed, 0 failed. No confirmed semantic or deterministic findings at e2a13f0.

Test validation
  • Agent live test: Not run; this is a review-only PR. Check author-provided test evidence and upstream CI separately.
  • Regression coverage: Not applicable to the changed files.

Inspected all 15 recordings: 428 entries use 2026-10-01. Under src/EdgeAction/EdgeAction.Autorest/test/, the matching .Tests.ps1/.Recording.json pairs Update-AzEdgeAction, Update-AzEdgeActionVersion, and Update-AzEdgeActionExecutionFilter exercise tag replacement/JSON clearing, default/deployment preservation, and version/header/tag mapping respectively. Focused rerun: these playback groups plus LocationResponse.Tests.ps1 for asynchronous completion and response shapes. Skipped identity/JSON stubs and documented service-contract exceptions are not comprehensive coverage. No source change requested.

Risk assessment — 11/100 · Low

The Low rating reflects the detected change scope with no elevated security, reliability, customer, operational, dependency, sovereign-cloud, generated-output, or cross-component signal.

  • Change scope: 67 changed files, 18219 changed lines (+12732 / -5487), including 0 production files.
  • Affected components: No production component was identified.
  • Risk drivers: No elevated risk signal was detected.
  • Regression evidence: No production-code regression-test signal applies.
  • Confidence: Low because no production changed-line evidence was available.
  • Required review: No additional owning-squad review signal was detected.

Posted by x-engineering-agent (Reviewer)

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Jean Kim (@kestry) Ready for human review. See the X Engineering Agent Report.

@x-engineering-agent x-engineering-agent Bot added X Engineering Agent Reviewed Agent reviewed this PR and removed Request X Engineering Agent Ask the agent to triage this issue or review this PR labels Oct 19, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 19, 2026 15:26
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

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

Previous-configuration Record runs fail normalization-test setup, and revised help incorrectly promises profile-based context selection.

1 open issue
1 previously missed issue

In code that hasn't changed since last review

Low severity Document unsupported DefaultProfile behavior and SubscriptionId guidance

src/​EdgeAction/​EdgeAction/​help/​Switch-AzEdgeActionVersionDefault.md:59

DefaultProfile is still nonfunctional: both the Switch and Get-code wrappers forward it to private cmdlets that explicitly ignore it. This new description can lead users to expect a supplied profile to select a different account or subscription, while the operation uses the current context. Restore the warning and SubscriptionId guidance here, in help/Get-AzEdgeActionVersionCode.md, and in both corresponding EdgeAction.Autorest/docs pages. Correct the wrappers' parameter help comments too so regeneration preserves the warning.

1 resolved since last review

Review effort: Balanced

Comment thread src/EdgeAction/EdgeAction.Autorest/test/RecordingNormalization.Tests.ps1 Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

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.

🔵 Needs a closer look

Context-selection help is misleading, and specification provenance must be reconciled with the reported validation.

No open issues 🎉

3 previously missed issues

In code that hasn't changed since last review

Medium severity README and PR description use inconsistent specification pins

src/​EdgeAction/​EdgeAction.Autorest/​README.md:32

The README and how-to now pin 2e2b290..., but the PR description still identifies 65eb931... as the generation input. The newer specification commit changes asynchronous-operation headers and the deploy response model, so the inputs are not equivalent. Update the description and state which pin the reported build and Playback validated; restore the older pin only if it remains the intended input.

Medium severity DefaultProfile does not select credentials or subscription

src/​EdgeAction/​EdgeAction/​help/​Get-AzEdgeActionVersionCode.md:83

DefaultProfile does not select credentials or subscription for this command. The wrapper forwards it unchanged, while src/Accounts/Accounts/CommonModule/ContextAdapter.cs:343-357 recognizes DefaultContext and otherwise uses the active context. This new description can lead users to retrieve code from the active subscription instead of the supplied profile's subscription. Restore the limitation in both help copies and correct the wrapper's parameter-help comment so regeneration preserves it.

Medium severity DefaultProfile does not select the command context

src/​EdgeAction/​EdgeAction/​help/​Switch-AzEdgeActionVersionDefault.md:59

DefaultProfile does not select the context for this command. The wrapper forwards it unchanged, while src/Accounts/Accounts/CommonModule/ContextAdapter.cs:343-357 recognizes DefaultContext and otherwise uses the active context. This new description can lead users to switch a default version in the active subscription while believing they selected another profile. Restore the limitation in both help copies and correct the wrapper's parameter-help comment so regeneration preserves it.

1 resolved since last review

Review effort: Balanced

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

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

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.

🔵 Needs a closer look

Public parameter removals and destructive fixture cleanup warrant human verification against a client generated from the current specification pin.

No open issues 🎉

Review effort: Balanced

@kestry

Jean Kim (kestry) commented Oct 20, 2026 •

Copy link
Copy Markdown
Member Author

NoriZC could this PR get another review please?

I think finally ready for another look

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

Labels

X Engineering Agent Reviewed Agent reviewed this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants