Skip to content

[LogicApps] Add Logic Apps Standard preview extension - #10467

Merged
Ethan Yang (necusjz) merged 13 commits into
Azure:mainfrom
rllyy97:rileyevans-microsoft-logicapp-upstream-contribution
Oct 22, 2026
Merged

Ethan Yang (necusjz) merged 13 commits into
Azure:mainfrom
rllyy97:rileyevans-microsoft-logicapp-upstream-contribution

Conversation

@rllyy97

@rllyy97 Riley Evans (rllyy97) commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

az logicapp developer workflow additions: project, workflow, context,
dependency, runtime, connector, connection, identity, run,
trigger history, test, and deployment package.

This is the complete new Logic Apps Standard preview extension, including
the original 38-command extension and reviewed improvements through the
historical 0.1.26 SDK-testing baseline: 59 extension leaves, 21 additions.
The existing 13 GA app-management/app-settings/ZIP-deployment leaves remain
core-owned and are not overridden.

Preview - for evaluation and development. Commands, parameters, and output
formats may change between releases. Production readiness has not been
established; use non-production resources for evaluation. Some commands modify
deployed workflows, connections, and identities; preview does not mean sandboxed
or read-only. Preview status applies only to this extension's new commands, not
the existing core-owned az logicapp app-management, app-settings, and
ZIP-deployment commands, which are not overridden.

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install azdev required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

The unpublished preview remains 1.0.0b1, with a Python 3-only wheel,
Python >=3.10 and minimum CLI 2.67.0. No release/index publication is requested.
Upstream root guides, the extension index and unrelated configuration/ownership
are unchanged. Relevant documentation is extension-local and sanitized.

Contribution and rationale

Rohitha Hewawasam authored the original extension, baseline
4e50f12d52b13c25de0d90a6955f1fff2d5523f1. The initial complete migration used
3dcef94c0e6856f8e2a3f74e44b7f6b903fa5446; the complete reviewed synchronization
used 1eaa335d635e62a41607b4c7d06acd4b96e49dfb (historical 0.1.23).
The context-planning follow-up used 085b3ee3c54628acc85a87ee7e93e60268d50c4a.
The current separately authorized SDK/default-port follow-up accounts for every
path in the reviewed tracked-only delta through
ea68b867939845e7d7492e4d261eb77ff0d41d3e (historical 0.1.26), not an
intermediate SDK snapshot. Original attribution and mandatory Copilot co-author
trailers are preserved.

Current public head: 48edaefafbaeb1503afe6dc7aa2b11d5c90c3fd2, from
rllyy97:rileyevans-microsoft-logicapp-upstream-contribution to official main.
The earlier 4172afb4cec33f84c5b65351c435e3c46af9abc9 Windows/context head,
its green CI and development-repository reviews do not qualify this new head.
Upstream preview packaging, service registration, Windows dependency strategy,
portable GA controls, style/helper extraction and lifecycle safeguards are
preserved rather than overwritten by historical packaging.

Included surface Contract and boundary
Original developer workflow Local projects/authoring, packaging, explicit dependencies, owned runtime lifecycle, connector catalogs, connections/ACLs/identity, invocation/inspection and saved shortcuts remain included. Core app/settings/ZIP deployment stays additive.
Discovery and replacement Bounded list/show/export, full-document workflow set, not a partial merge, and guarded delete. Strong ETags, confirmation, completed shared runtime validation and explicit nontransactional VFS acknowledgement remain required.
Individual state and doctor Deployed FlowState preserves the settings snapshot but is not transactional. Local live state changes remain unsupported. Doctor reports conservative unknowns; it does not install, repair or run business tests.
Execution controls Bounded wait/cancel, directly selected trigger history resubmit, genuine one-action run resubmit --action with completed source, literal runtime eligibility and stable evidence. No trigger fallback, auto-enabling, invented identities or mutation retries.
Transport and ownership Bounded strict JSON/raw reads, deadline/uncertainty preservation, rejection of every nonempty mutation acknowledgement and bearer preservation against netrc substitution. Strong revision-bound compensation and complete tenant/principal/ACL/continuation evidence retain ambiguous resources rather than authorize cleanup.
Saved targets and defaults AZURE_CONFIG_DIR isolation; explicit path, otherwise named/active local context, otherwise current directory. Explicit cloud authoring is refused even with a path; explicit paths bypass implicit active contexts. Relative reports anchor to the selected project without implicit directories. Omitted context-create ports normalize to 7071 at the actual CLI boundary; explicit/stored port validation stays strict.
Managed connections Canonical connection managed create separates connection --name and site --logic-app-name; deprecated legacy semantics remain. OAuth failure may retain resources. Deletion rechecks principal, tenant and complete ACL ownership before and after unlink.
Runtime ownership PID/birth identities remain mandatory. Exited Windows process objects and only proven pre-existing stale-parent subtrees are distinguished. Explicit cleanup-pending recovery requires all recorded processes/consumers gone, an idle port and exact locked receipt snapshots.
Read-only planning Successful default planning exits 0; --strict retains blocked exit 4. Both remain notExecuted, zero business tests and immutable SDK gates. XML metadata inspection does not evaluate MSBuild or restore dependencies.
Source-only SDK scaffolding test create emits source/configuration, pins SDK 1.0.3/engine 1.165.50/MSTest 4.0.2/net8.0 and selects .NET 8.0.426 latestPatch. Existing output is refused. The starter is ignored/inconclusive until authored, never a fabricated passing test.
Explicit native SDK execution test run requires SDK-terms and project-trust acknowledgements on every invocation; restore is separately opt-in. Private home/cache/temp/configuration and an environment allowlist do not sandbox arbitrary build/test code or prove denied egress, SDK invocation, useful assertions, telemetry-off or coverage.
Native results and cleanup Closed sanitized JSON derives bounded consistent native TRX counts. Raw TRX remains sensitive/local. Empty/skipped suites are not passes. Failures, timeout and identity-checked cleanup are distinct; any retained process receipt blocks retries without being parsed into signalling authorization.
Deployment boundaries Dedicated native test/state directories and raw TRX are excluded. Colocation with host/workflow/runtime content is refused rather than omitting runtime files; ordinary runtime DLLs remain included. Trusted code can write elsewhere: inspect the manifest.
Historical report compatibility Foundation schema 1 retains 0.1.17-0.1.21/public 1.0.0b1. Schema 2 retains 0.1.22/0.1.23/0.1.24/0.1.25/0.1.26/public 1.0.0b1. Native reports explicitly retain both 0.1.25 and 0.1.26 plus public producers. Exact old/new public schema-2 input.options and report.invalid whole rows remain readable after version changes; mixed text, unknown producers/fields and invalid counters remain rejected. Saved approval/provenance never authorizes a new execution.
Windows dependencies Windows alone selects psutil>=5.9.0,<7.1.2, preserving x86/x64 publisher-wheel installs without a compiler; non-Windows retains psutil>=5.9.0. WOW64 reports AMD64, so architecture markers are insufficient. This deliberately forgoes later fixes pending a qualified x86 delivery strategy; no global 7.2.2 pin.

Ownership

Upstream #10496
intentionally renamed .github/CODEOWNERS to .github/OWNERS, preserving
ownership information without GitHub's automatic owner-review enforcement.
The conflict resolution follows that upstream layout: all current upstream
ownership rules and their order are unchanged, with exactly the originally
requested Logic Apps entry retained in OWNERS:

/src/logicapp/ [REDACTED:email_address] [REDACTED:email_address] [REDACTED:email_address] [REDACTED:email_address] [REDACTED:email_address]

The source retains exactly the five user-supplied email identities on one
ownership line. OWNERS is ordinary repository documentation, not an active
GitHub CODEOWNERS file; no automatic assignment or owner approval is claimed.
The earlier GitHub CODEOWNERS qualifications (repository write access and
eligible verified-account emails, not EMU identities) were not verified.
No collaborators, access or authentication settings were changed.

Historical SDK-port validation (head 8bad80f)

The following evidence qualifies only the preceding SDK-port head
8bad80f5f2347e23de432ea952c845e025d28326, not the subsequent review repairs.

Isolated actual current Windows CLI 2.91.0 x86/x64 distributions used Python
3.14.7; minimum CLI 2.67.0 x64 used Python 3.12.7. Development used Python
3.12.12/CLI 2.91.0/azdev 0.2.13. Signed, release-hash-verified MSI payloads
were extracted without installation/registration/shared-system changes.
Configuration, extensions and temporary/cache paths were private. Source and
exact-installed suites ran serially, with production origins enforced.

Exact check or exercised contract Result
azdev style logicapp Passed pylint/flake8 on final source, no broad exclusions.
azdev linter logicapp Passed command/help/argument/custom pylint rules.
azdev verify license Passed repository license-header verification.
python scripts\ci\validate_external_source_urls.py --cached Passed all staged changes.
python scripts\ci\test_index.py -q Nine tests completed successfully, two CI-only broad-network skips; index unchanged.
python scripts\ci\service_name.py Passed with all 59 extension leaves loaded and the existing required service registration.
azdev test logicapp --series --discover --no-exitfirst --pytest-args -q All 892 source tests passed in the isolated development environment.
Current x86 exact-installed, current x64 source/exact-installed, minimum x64 source/exact-installed full suites Five serial runs each passed 892 tests / 2,463 subtests.
Current x86 source full suite 891 passed / 2,463 subtests passed; one unchanged native Azurite-shim fixture failed during teardown with Windows executable cleanup access denied. This full run is not green. Evidence was retained, not replaced by repeated full runs.
Focused SDK/report/feedback/actual-parser regressions 99 tests / 279 subtests passed.
Reviewed production/report parity Every reviewed module accounted for, explicit upstream adaptations retained; 2,737 native-report shape/type/record mutations agreed after normalizing only intended producer mappings.
Genuine SDK assertions Source API and each of three exact-installed CLIs passed four synthetic SDK assertions. Installed counts: five selected, four executed/passed, one skipped. These counts are not business/connector coverage or SDK-call attestation.
Actual separate CLI processes 46 cases: omitted-port local/cloud contexts, refusal, source-only create/no clobber, context-relative default planning, approvals, query/table, native/history inspection, genuine failed/empty/build-failure/timeout, retained-receipt refusal and deployment/colocation boundaries.
Historical report inspection Original 0.1.25/0.1.26 native reports and pre-context public 1.0.0b1 foundation JSON inspected without input rewriting in each installed CLI. Exact catalogs and future-version retention regressions pass.
Native ownership after test-hook removal All six stock-first/dependency-first probes passed across three environments: actual pointer/PE width, CIM/birth identity, cross-architecture children, listener ownership, unknown/mismatched refusal, verified stops and held-handle exit timestamps. CLI core can preload psutil 6.1.0; installing 7.1.1 does not replace a cached import.
Package and publisher bytes All 32 production files match source/wheel/three fresh installs; all 30 installed psutil files match independently hash-verified publisher wheels. Thirty platform-marker cases preserve both Windows targets/non-Windows range.
python setup.py bdist_wheel --python-tag py3 --bdist-dir $buildDirectory --dist-dir $outputDirectory from src\logicapp Python 3-only wheel/package contract passed. SHA256 7f4c60255cfea5411ca19e07358ac33fb36966a065770035ed22b5c6012028ac.
python -m azure.cli extension add --source $wheel --yes Fresh private installs in all three environments resolved dependencies from previously verified local publisher wheels without compiler/dependency suppression. Earlier ordinary online architecture installs passed; this is not claimed as a second unrestricted online install.
azdev scan --confidence-level MEDIUM --directory-path src\logicapp --recursive --continue-on-failure No detected secrets, no custom exclusions. Five generated binary artifacts emitted UTF-8 decode warnings; their binary content was not parsed.
python -m pip check, git diff --check, tracked privacy and relocated local Markdown links Passed; no private URLs, machine/session paths, raw logs, trial artifacts or SDK binaries included.
GA/additivity All 59 extension leaves and 13 core-owned GA leaves preserved, stock same-version help/ownership, no overrides, required/repeated flags and JSON/table/query/nonzero behavior covered.
Exact-head upstream Azure Pipelines Main build 362009 and breaking-change build 362010 both succeeded on a verified merge containing 8bad80f5f2347e23de432ea952c845e025d28326. All five Linux Python 3.10-3.14 jobs each passed 886 tests, six Windows-only skips and 2,463 subtests.

SDK trials used approved synthetic source and a copied isolated package cache,
SDK 1.0.3/engine 1.165.50/MSTest 4.0.2 and .NET SDK 8.0.426, explicit invocation
acknowledgements and separately requested restore. No retained process receipts
or exact-path native fixture processes remained after the completed trials.
Temporary test import bootstraps in the owned MSI extractions were removed
before native CLI/ownership probes; no production API, clock or process
observation was patched.

The recorded x86 source teardown error does not establish its root cause or
universal native filesystem stability. A later fresh exact-path inspection
found no fixture process and only that completed fixture directory was cleaned;
no process was signalled. Earlier Windows sharing/context replacement/loopback
variability remains historical evidence, not erased by subsequent passes.
No ownership guard, deadline, exclusion or unrelated CI/index selection was weakened.

Upstream main build 362009
and breaking-change build 362010
completed successfully. Their merge 746f4d25e8aac804cb67b963046e92da404436dc
has verified parents ebea488892f255360e25bc481fc3f01fd5990334 and exact SDK
head 8bad80f5f2347e23de432ea952c845e025d28326.
The actual logs show Python 3.10.19, 3.11.14, 3.12.12, 3.13.11 and 3.14.2:
each passed 886 tests, skipped six Windows-only tests and passed 2,463 subtests.
Style/linter logs confirm 59 extension commands and accepted service metadata;
license, index, external URLs, init, policy, credential and high/medium scans
also succeeded. No failed or succeeded-with-issues task/job records were hidden.
That historical SDK-port head had 23 successful checks, one configured skip and none unfinished.
These Linux unit/build results do not imply native Linux SDK or live connector
execution; the synthetic native SDK trials above are separate Windows evidence.

Official review repairs (historical head 61f785e)

Official Copilot review 5573475117 completed on the preceding 8bad80f SDK head
with eight findings. All eight were reproduced and fixed in
61f785ec39fd2adedf75b080daebb69fdfbe5618, with related regressions and docs:
HTML-safe consent details; absolute accepted-request read/shutdown deadlines;
fail-closed ignore files; case-insensitive settings exclusion; trigger-first
action filtering; immutable stable history evidence without signed-URL false
conflicts; ZIP/manifest alias refusal; and declared, unambiguous test-directory
boundaries that preserve ordinary runtime assemblies.

Review-repair check Result
azdev style logicapp, azdev linter logicapp Passed official pylint/flake8 and command/custom lint rules.
azdev test logicapp --series --discover --no-exitfirst --pytest-args -q Final source: 909 passed, two host-unsupported symlink cases skipped.
Exact-installed minimum CLI 2.67.0 / Python 3.12.7 x64 full suite 909 passed, two symlink skips, 2,503 subtests passed; production origins enforced.
Exact-installed current CLI 2.91.0 / Python 3.14.7 x86 and x64 review/replay regressions Each: 109 passed, two symlink skips, 324 subtests passed. These are focused final-wheel runs, not full current-architecture suites.
Actual sockets and filesystem Accepted idle/partial/trickled clients, absolute trickle deadline, whole-flow timeout and exact GET/POST bodies; real NTFS hardlink/junction alias refusal and preserved existing bytes. No live provider, browser or process signalling.
Actual installed CLI packaging 21 separate cases across all three environments passed, including invalid exclusions, mixed-case settings, state/project colocation, ordinary DLL inclusion, hardlink-output preservation and query/table behavior.
azdev verify license, python scripts\ci\validate_external_source_urls.py --cached, python scripts\ci\test_index.py -q, git diff --check Passed; index ran nine tests with two normal CI-only network skips. No index/ownership/service/version/dependency changes.
Final wheel/three fresh private installations All 32 production files match source/wheel/installations; dependency markers unchanged; no SDK/cache/native binary payloads. Wheel SHA256 7ee39fbc41925e55dd9505f7ce66c54f6a4eb149d43d3040612edbdad1f811be.
Exact repair-head upstream CI (61f785e) 23 successful checks, one configured skip, zero unfinished/failures. Main build 363048 and breaking-change build 363049 succeeded on merge 3b79d4cc04b8e4b1223b3f05ca588c3a130b841d, whose verified parents include exact 61f785ec39fd2adedf75b080daebb69fdfbe5618.
Actual repair-head Linux matrix logs (61f785e) Python 3.10.19, 3.11.14, 3.12.12, 3.13.11 and 3.14.2 each passed 904 tests / 2,503 subtests with seven platform-specific skips. All task/job records succeeded; no failed or succeeded-with-issues records were hidden.
Historical repair-head AI rereview No completed clean review on 61f785e is claimed. Review 5573475117 covered only 8bad80f. No denied reviewer request was retried and absence of a new review is not a clean-review attestation.

Main build 363048
and breaking-change build 363049
qualify the repair head independently of the historical SDK-port results.
The actual five matrix logs and verified merge parents were inspected; these
are Linux unit/build results, not native Linux SDK or live OAuth qualification.

Full source/installed suites ran serially. A preliminary current-x64 installed
full run reproduced the unchanged native Azurite-shim teardown WinError 5
(906 passed, one failed, two skipped). This result remains recorded and is not
reported as green or replaced by full-run retries. A fresh exact-path process
inspection found no fixture process before only that completed fixture was
removed, without signalling. A separate initial minimum-CLI run exposed a
trickled-header shutdown overrun; it led to the final absolute read-deadline fix,
not a relaxed timing assertion.

During the repair follow-up, native reply-and-resolve attempts returned HTTP
403 from the app's Enterprise Managed User connection. No reply or resolution
succeeded through those attempts; no alternate comment endpoint,
reviewer-permission retry or duplicate maintainer ping was used. Subsequent live
verification confirms all eight original threads are resolved. The resolver and
readiness-change actor are not attributed to this session.
These repairs are subsequent official changes, not changes claimed to be present
in historical staging 0.1.26 or an existing engineer ZIP.

Ownership merge-conflict resolution (48edaef)

Merged current intended upstream main (bdc9dfbef45ae7ae4be1a1930824a884cc5ff612) into the existing
reviewed feature branch without rewriting history. Merge commit 48edaefafbaeb1503afe6dc7aa2b11d5c90c3fd2 has
parents 61f785ec39fd2adedf75b080daebb69fdfbe5618 and the upstream SHA above.
The only ownership conflict was the old CODEOWNERS path versus the upstream
OWNERS layout. The exact authorized Logic Apps rule is retained once, last,
with all upstream ownership content/order unchanged. Extension source, tests,
docs, packaging, service registration and runtime/report guards are unchanged.

Scoped whitespace/conflict-marker/rule-order/source-integrity checks passed.
python scripts\ci\verify_codeowners.py reports six dangling and 53 missing
entries already present on the exact upstream baseline; an independent comparison
proved identical gaps and zero new discrepancies. Unrelated ownership rules were
not modified to hide that baseline failure.

Exact merge-head validation is complete: 23 successful checks, one configured
skip, zero unfinished/failures
. Main build 364061
and breaking-change build 364062
succeeded on verified CI merge 34259bd7b862690b9952fece66a14b394d46ec90
with parents bdc9dfbef45ae7ae4be1a1930824a884cc5ff612 and 48edaefafbaeb1503afe6dc7aa2b11d5c90c3fd2. Actual Linux matrix logs show:
Python 3.10.19: 904 passed, 7 skipped, 2503 subtests; Python 3.11.14: 904 passed, 7 skipped, 2503 subtests; Python 3.12.12: 904 passed, 7 skipped, 2503 subtests; Python 3.13.11: 904 passed, 7 skipped, 2503 subtests; Python 3.14.2: 904 passed, 7 skipped, 2503 subtests. These are build/unit results, not live Azure/native SDK coverage.
No completed clean AI rereview of the merge head is claimed; no denied request
or duplicate reviewer ping was made.

Deliberate limitations and review status

Native SDK/build/test code is trusted code, not sandboxed. No SDK binary
redistribution, live Azure mutation, denied egress, complete connector/workflow
coverage or production readiness is claimed. The SDK typed top-level-output
cast failure remains documented; workflow semantics are not rewritten to hide it.
Human safety review is still required.

The current native results are not a complete Windows Python 3.10-3.14,
minimum-x86, macOS or native Linux SDK matrix. Prior-head upstream CI
(23 successful checks, one configured skip) and its five Linux Python 3.10-3.14
jobs (859 passed, six Windows-only skips, 2,389 subtests each) are historical,
not evidence for this SDK head. The SDK-port head's exact CI completed as documented above; it does not
qualify the subsequent review-repair head.
Earlier CODEOWNERS eligibility remains unverified; current upstream OWNERS
does not activate GitHub's built-in owner-review behavior.

Earlier multi-use-case trials demonstrated processing only: Response actions
were Skipped, actual callback HTTP responses remain unqualified, workflow show
encountered a host-key prerequisite and export was not exercised. Doctor retains
unknowns. Nested static validation, agent bootstrap and callback-response
improvements are not implemented. VFS/settings/ARM operations are not transactions.

Ready for human peer review, open and unmerged on the current public head.
The merge conflict is resolved; all eight original review threads are resolved,
and exact-new-head CI is green. No actor is attributed for earlier thread
resolution/readiness changes. The completed official AI review was on 8bad80f,
not this merge head; no completed clean latest-head rereview is claimed.

The author's explicit one-PR exception still permits human-review readiness
without waiting indefinitely for an unavailable AI rereview after actual
findings are handled and required validation is green. It is not a waiver of
existing findings, an automatic indefinite AI-only draft gate, or a global
policy change. Human safety review remains required. No merge, release or
extension publication is authorized.

Riley Evans (rllyy97) and others added 4 commits October 12, 2026 16:59
Preserve the original extension authored by Rohitha Hewawasam and the validated staging improvements through 3087a62f999debb4b0dec771b9424f62903959b2. Adapt packaging, extension-local documentation, portable GA additivity controls, and upstream qualification without changing core Logic Apps commands.

Original author baseline: 4e50f12d52b13c25de0d90a6955f1fff2d5523f1

Co-authored-by: Rohitha Hewawasam <rohithah@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The isolated installed wheel passed 14 GA additivity and real parser/formatter tests with 15 subtests on Azure CLI 2.67.0 and Python 3.12.7. This targeted control does not claim a full minimum-CLI suite or platform matrix.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The serial installed-wheel suite passed 762 tests and 1,697 subtests on Azure CLI 2.67.0 and Python 3.12.7, with production import origins enforced. Retain explicit interpreter/platform and native-variability limitations.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Integrate validated db3389f47272a2d0cd6298c702f5153102a24fe9 without replacing upstream adaptations. Managed cleanup requires the selected site's complete system principal and tenant, shares creation's ActiveDirectory matcher, and refreshes evidence after unlink; uncertain and cross-tenant policies/resources remain retained.

Current and minimum CLI source/installed suites each passed 767 tests and 1,749 subtests serially. Record actual upstream qualification and retain native, cloud, platform, ownership-access and SDK limitations.

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

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

@microsoft-github-policy-service microsoft-github-policy-service Bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Oct 13, 2026
@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Thank you for your contribution Riley Evans (@rllyy97)! We will review the pull request and get back to you soon.

@x-engineering-agent

Copy link
Copy Markdown

Automated sensitive-information remediation ran on this pull request.

  • Detected categories: azure sas token, credential, email address
  • Replaced with typed [REDACTED:category] placeholders in: PR description
  • Comment/review owners notified because X Engineering Agent cannot edit another user's text: none

X Engineering Agent does not modify source files. The PR creator must remove or replace each suspected value at the linked line:

If a credential was exposed, rotate or revoke it immediately. Detected values are never copied into this comment.

✅ Confirm the finding · ❌ Dispute the finding

GitHub only supports a fixed reaction set, so 👍 represents ✅ and 👎 represents ❌. The bot-created reactions are only poll choices.

@rllyy97

Copy link
Copy Markdown
Contributor Author

Regarding the automated sensitive-information report: I inspected all four cited source locations at head 4d660eccf4621c04e2dd342b28e15c60008b2578. These four matches are synthetic regression-test inputs, not usable credentials or Azure SAS tokens.

Reported location Purpose and evidence
test_context_management.py:307 test_invalid_names_and_secret_shaped_inputs_never_write_or_echo_values passes a deliberately fake account-key-shaped input, expects ValidationError, checks the sentinel is not echoed, and verifies no store was created.
test_managed_lifecycle_regressions.py:1079 test_provider_write_errors_are_sanitized_and_do_not_compensate_arm_state injects mocked provider exceptions containing an intentionally invalid URL and fake query-signature sentinel; it checks errors omit the sentinel and retained ARM state is not unsafely compensated. No real signed URL is used.
test_runtime_doctor.py:87 test_missing_malformed_and_nonobject_files_are_findings_without_values uses a fixed dummy content sentinel in temporary malformed files and asserts that the read-only diagnostic report never prints it.
test_testing_foundation_regressions.py:21 A fixed dummy SECRET sentinel supports privacy/export assertions. The fixture patches process execution, network access and saved-context lookup to fail if attempted; it is not a live credential.

Removing or replacing these structured synthetic inputs with generic redaction placeholders would weaken the rejection and non-disclosure tests. No source change or credential rotation is indicated for these four findings. I have not reversed the bot's PR-description email redaction or changed the requested CODEOWNERS source line.

This explanation addresses only the four cited sensitivity matches. The PR remains draft/WIP: a completed official Copilot review of the public head is still outstanding, and green GitHub checks/CLA do not establish the untested Python/platform/live-Azure/SDK qualifications.

@yonzhan

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

Integrate the complete reviewed 0.1.23 baseline while retaining upstream preview packaging, minimum CLI, helper extraction, portable GA controls, ownership and sanitized extension-local documentation. Add explicit historical public report compatibility and preserve it across future package versions. Repair Linux Windows-API fixture isolation and the synthetic credential scanner false positive without weakening assertions or ownership guards.

Current/minimum CLI source and exact-installed suites each passed 853 tests and 2332 subtests serially. Official azdev source tests, style, linter, license, URL/index/privacy checks passed. Keep full Python/platform/live-cloud qualification and public review as separate draft gates.

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

Copy link
Copy Markdown
Contributor Author

NoriZC The complete reviewed synchronization is now at 19b07a16329538e0d260477c68fe949d827e595e, with the PR still draft. Current-head GitHub style, linter, version calculation/output and CLA checks passed. Local current/minimum CLI source and exact-installed suites each passed 853 tests / 2,332 subtests; the updated description records the scope and remaining qualification limits.

Could an authorized maintainer start the Azure Pipelines checks for this new head? The public build list for this PR still contains only the October 13 runs against the earlier merge commit; build 360558 does not qualify the synchronized head.

Our requested exact-head official Copilot review is also outstanding. The single request for this head failed with rllyy97 does not have the correct permissions to execute RequestReviewsByLogin. If available under repository policy, please request it while retaining draft status; otherwise please confirm that review blocker. No completed public AI review is being inferred from green CI or an absence of comments. No ready transition, permission change or merge is requested.

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

Copy link
Copy Markdown

❌ Finding disputed by Riley Evans (@rllyy97).

Nothing blocks automation any more, so it will continue.

X Engineering Agent never restores redacted text because doing so could publish a value again.

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

Use synthetic process state for native exit probes in the Windows ownership unit fixture and add a no-native-access regression. Preserve production process guards and document exact CI and qualification limits.

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
Azure Pipelines:
Successfully started running 2 pipeline(s).

Riley Evans (rllyy97) and others added 3 commits October 16, 2026 11:53
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bound psutil only on Windows before publisher Win32 wheels were removed. Qualify normal installs, native process ownership and serial source/wheel suites on both current architectures and minimum CLI without changing cleanup guards.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Port the reviewed context-only defaults and project-relative reports while preserving closed historical public catalogs, core ownership, preview packaging and blocked SDK execution. Qualify source and exact wheels on current Windows x86 and minimum x64, focused current x64, and actual separate CLI processes. Record the unrelated existing Knack default-port defect without changing its validator.

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
Azure Pipelines:
Successfully started running 2 pipeline(s).

Port the complete reviewed ea68b867939845e7d7492e4d261eb77ff0d41d3e source-only scaffold, opt-in native execution, sanitized report and deployment-boundary changes. Fix the actual-parser omitted-port default while preserving strict stored/explicit ports, official preview packaging, Windows x86/x64 dependency delivery and all historical report catalogs. Retain the read-only foundation and core-owned GA commands.

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
Azure Pipelines:
Successfully started running 2 pipeline(s).

@rllyy97
Riley Evans (rllyy97) marked this pull request as ready for review October 19, 2026 14:47
Copilot AI balanced review requested due to automatic review settings October 19, 2026 14:47

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

Unresolved consent security and shutdown defects, packaging safeguards, and replay/filtering correctness issues block approval.

8 open issues
What changed in this PR

Adds a Logic Apps Standard preview extension with 59 developer-workflow commands, preserving existing core-owned app-management commands.

Changes:

  • Adds workflow authoring, discovery, execution controls, connections and saved targets.
  • Introduces test scaffolding, reporting and deployment packaging.
  • Adds preview packaging, documentation and regression coverage.
File Description
src/​service_name.json Registers the Logic Apps service mapping.
src/​logicapp/​setup.py Defines preview packaging and dependencies.
src/​logicapp/​setup.cfg Selects Python 3-only wheels.
src/​logicapp/​docs/​workflow-execution.md Documents execution controls and limitations.
src/​logicapp/​docs/​runtime-doctor.md Explains local diagnostic checks.
src/​logicapp/​docs/​post-fork-summary.md Summarizes improvements and qualification boundaries.
src/​logicapp/​docs/​failure-diagnosis.md Guides failed-run investigation.
src/​logicapp/​docs/​context-management.md Documents saved targets and lifecycle behavior.
src/​logicapp/​azext_logicapp/​tests/​latest/​test_workflow_validation_regressions.py Tests malformed workflow validation.
src/​logicapp/​azext_logicapp/​tests/​latest/​test_wheel_contract.py Checks distributable contents and metadata.
src/​logicapp/​azext_logicapp/​tests/​latest/​test_json_regressions.py Tests type-preserving JSON comparisons.
src/​logicapp/​azext_logicapp/​tests/​latest/​test_feedback_contracts.py Covers cross-command compatibility contracts.
src/​logicapp/​azext_logicapp/​tests/​latest/​test_additivity.py Checks core-command preservation and argument handling.
src/​logicapp/​azext_logicapp/​tests/​latest/​__init__.py Initializes the latest-test package.
src/​logicapp/​azext_logicapp/​tests/​__init__.py Initializes the test package.
src/​logicapp/​azext_logicapp/​commands.py Registers extension commands.
src/​logicapp/​azext_logicapp/​azext_metadata.json Declares preview status and minimum CLI.
src/​logicapp/​azext_logicapp/​_workflow.py Implements authoring, validation and packaging.
src/​logicapp/​azext_logicapp/​_workflow_validation.py Shares runtime-validation receipt checks.
src/​logicapp/​azext_logicapp/​_workflow_state.py Manages deployed workflow FlowState.
src/​logicapp/​azext_logicapp/​_workflow_mutation.py Adds revision-guarded replacement and deletion.
src/​logicapp/​azext_logicapp/​_workflow_discovery.py Implements inventory, inspection and export.
src/​logicapp/​azext_logicapp/​_test_scaffold.py Generates source-only SDK test projects.
src/​logicapp/​azext_logicapp/​_test_report.py Defines sanitized planning-report contracts.
src/​logicapp/​azext_logicapp/​_run_execution.py Implements wait, cancellation and resubmission.
src/​logicapp/​azext_logicapp/​_paging.py Shares continuation-token handling.
src/​logicapp/​azext_logicapp/​_oauth_consent.py Implements interactive connection consent.
src/​logicapp/​azext_logicapp/​_managed_api.py Adds managed connector catalog helpers.
src/​logicapp/​azext_logicapp/​_json.py Provides strict parsing and snapshot comparison.
src/​logicapp/​azext_logicapp/​_identity.py Manages deployed app identities.
src/​logicapp/​azext_logicapp/​_http_deadline.py Adds deadline-aware socket reads.
src/​logicapp/​azext_logicapp/​_execution_transport.py Bounds execution-control HTTP requests.
src/​logicapp/​azext_logicapp/​_context.py Implements isolated, guarded context storage.
src/​logicapp/​azext_logicapp/​_constants.py Centralizes shared constants.
src/​logicapp/​azext_logicapp/​_args.py Normalizes repeatable arguments.
src/​logicapp/​azext_logicapp/​__init__.py Initializes the extension command loader.
src/​logicapp/​.gitignore Excludes test scratch and build artifacts.
.github/​CODEOWNERS Adds extension ownership entries.

Review effort: Balanced

Comment thread src/logicapp/azext_logicapp/_oauth_consent.py Outdated
Comment thread src/logicapp/azext_logicapp/_workflow.py Outdated
Comment thread src/logicapp/azext_logicapp/_workflow.py Outdated
Comment thread src/logicapp/azext_logicapp/_managed_api.py
Comment thread src/logicapp/azext_logicapp/_oauth_consent.py Outdated
Comment thread src/logicapp/azext_logicapp/_run_execution.py
Comment thread src/logicapp/azext_logicapp/_workflow.py
Comment thread src/logicapp/azext_logicapp/_workflow.py Outdated
@rllyy97
Riley Evans (rllyy97) marked this pull request as draft October 19, 2026 19:34
Reproduce all eight official review findings. Escape consent HTML, bound request reads and shutdown, fail closed on unsafe package boundaries and aliases, classify known triggers first, and compare immutable stable history evidence.

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
Azure Pipelines:
Successfully started running 2 pipeline(s).

@rllyy97
Riley Evans (rllyy97) marked this pull request as ready for review October 20, 2026 15:31
@rllyy97

Copy link
Copy Markdown
Contributor Author

AI review comments have been addressed.

…name

Retain current upstream ownership rules and the exact previously authorized Logic Apps entry in .github/OWNERS, following the upstream removal of built-in CODEOWNERS review enforcement. Extension source and service metadata remain unchanged.

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
Azure Pipelines:
Successfully started running 2 pipeline(s).

@necusjz Ethan Yang (necusjz) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm.

@necusjz
Ethan Yang (necusjz) merged commit 8617d32 into Azure:main Oct 22, 2026
24 checks passed
@azclibot

Copy link
Copy Markdown
Collaborator

[Release] Update index.json for extension [ logicapp-1.0.0b1 ] : https://dev.azure.com/msazure/One/_build/results?buildId=187034781&view=results

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

Labels

customer-reported Issues that are reported by GitHub users external to the Azure organization.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants