Repository navigation
[LogicApps] Add Logic Apps Standard preview extension - #10467
Ethan Yang (necusjz) merged 13 commits into
Conversation
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: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Thank you for your contribution Riley Evans (@rllyy97)! We will review the pull request and get back to you soon. |
|
Automated sensitive-information remediation ran on this pull request.
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. |
|
Regarding the automated sensitive-information report: I inspected all four cited source locations at head
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. |
|
/azp run |
|
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>
|
NoriZC The complete reviewed synchronization is now at 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 |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
❌ 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. |
|
/azp run |
|
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>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
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>
|
/azp run |
|
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>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved consent security and shutdown defects, packaging safeguards, and replay/filtering correctness issues block approval.
8 open issues
Escape callback error details before inserting into HTML · New Fail packaging when .funcignore is unreadable or invalid · New Make secret configuration file exclusion case-insensitive · New Exclude known triggers before applying action heuristics · New Add client timeouts to prevent shutdown blocking on idle connections · New Compare stable execution metadata instead of regenerated links · New Reject colliding output and manifest destinations · New Prevent pruning ambiguous runtime and test directories · New
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
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>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
|
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>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
|
[Release] Update index.json for extension [ logicapp-1.0.0b1 ] : https://dev.azure.com/msazure/One/_build/results?buildId=187034781&view=results |


This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
az logicappdeveloper workflow additions:project,workflow,context,dependency,runtime,connector,connection,identity,run,trigger history,test, anddeployment 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 logicappapp-management, app-settings, andZIP-deployment commands, which are not overridden.
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install azdevrequired)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.jsonautomatically.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 used3dcef94c0e6856f8e2a3f74e44b7f6b903fa5446; the complete reviewed synchronizationused
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 anintermediate SDK snapshot. Original attribution and mandatory Copilot co-author
trailers are preserved.
Current public head:
48edaefafbaeb1503afe6dc7aa2b11d5c90c3fd2, fromrllyy97:rileyevans-microsoft-logicapp-upstream-contributionto officialmain.The earlier
4172afb4cec33f84c5b65351c435e3c46af9abc9Windows/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.
workflow set, not a partial merge, and guarded delete. Strong ETags, confirmation, completed shared runtime validation and explicit nontransactional VFS acknowledgement remain required.trigger history resubmit, genuine one-actionrun resubmit --actionwith completed source, literal runtime eligibility and stable evidence. No trigger fallback, auto-enabling, invented identities or mutation retries.AZURE_CONFIG_DIRisolation; 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.connection managed createseparates connection--nameand 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.--strictretains blocked exit 4. Both remainnotExecuted, zero business tests and immutable SDK gates. XML metadata inspection does not evaluate MSBuild or restore dependencies.test createemits 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.test runrequires 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.input.optionsandreport.invalidwhole rows remain readable after version changes; mixed text, unknown producers/fields and invalid counters remain rejected. Saved approval/provenance never authorizes a new execution.psutil>=5.9.0,<7.1.2, preserving x86/x64 publisher-wheel installs without a compiler; non-Windows retainspsutil>=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/CODEOWNERSto.github/OWNERS, preservingownership 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:The source retains exactly the five user-supplied email identities on one
ownership line.
OWNERSis ordinary repository documentation, not an activeGitHub
CODEOWNERSfile; 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.
azdev style logicappazdev linter logicappazdev verify licensepython scripts\ci\validate_external_source_urls.py --cachedpython scripts\ci\test_index.py -qpython scripts\ci\service_name.pyazdev test logicapp --series --discover --no-exitfirst --pytest-args -qpython setup.py bdist_wheel --python-tag py3 --bdist-dir $buildDirectory --dist-dir $outputDirectoryfromsrc\logicapp7f4c60255cfea5411ca19e07358ac33fb36966a065770035ed22b5c6012028ac.python -m azure.cli extension add --source $wheel --yesazdev scan --confidence-level MEDIUM --directory-path src\logicapp --recursive --continue-on-failurepython -m pip check,git diff --check, tracked privacy and relocated local Markdown links8bad80f5f2347e23de432ea952c845e025d28326. 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
746f4d25e8aac804cb67b963046e92da404436dchas verified parents
ebea488892f255360e25bc481fc3f01fd5990334and exact SDKhead
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.
azdev style logicapp,azdev linter logicappazdev test logicapp --series --discover --no-exitfirst --pytest-args -qazdev verify license,python scripts\ci\validate_external_source_urls.py --cached,python scripts\ci\test_index.py -q,git diff --check7ee39fbc41925e55dd9505f7ce66c54f6a4eb149d43d3040612edbdad1f811be.3b79d4cc04b8e4b1223b3f05ca588c3a130b841d, whose verified parents include exact61f785ec39fd2adedf75b080daebb69fdfbe5618.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 existingreviewed feature branch without rewriting history. Merge commit
48edaefafbaeb1503afe6dc7aa2b11d5c90c3fd2hasparents
61f785ec39fd2adedf75b080daebb69fdfbe5618and the upstream SHA above.The only ownership conflict was the old
CODEOWNERSpath versus the upstreamOWNERSlayout. 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.pyreports six dangling and 53 missingentries 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
34259bd7b862690b9952fece66a14b394d46ec90with parents
bdc9dfbef45ae7ae4be1a1930824a884cc5ff612and48edaefafbaeb1503afe6dc7aa2b11d5c90c3fd2. 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
OWNERSdoes 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.