You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement the experimental W365 Agents Phase 2 vertical slice on the merged Phase 1 contracts: checkout through provision and terminal release through stop or deprovision.
Add an internal environment-configured API 2.0 service client, session-based opaque IDs, checked binding and normal engine dispatch. W365 is included in normal builds and requires runtime experimental authorization.
Preserve known cleanup identities, request IDs and uncertain outcomes in native structured errors. Never automatically replay checkout or perform hidden cleanup. Release acceptance does not claim completed guest reset or sanitization.
Use the existing Windows executor lifecycle interface. Linux/macOS executors are unchanged; their general lifecycle CLI support is deferred. Engine-level trusted-TLS fixtures run on all three platforms, with fresh-process executor recovery coverage on Windows.
Keep readiness/start, exec, PTY, create-and-run execution and placement sessions explicitly unavailable. Typed W365 SDK APIs are not added; Dev SDK JSON access remains gated pending cross-SDK error metadata and SDK validation.
Preserve Phase 1 request types and generated artifacts. Service settings remain environment-only, with no per-call endpoint/token overrides or caller-selected API version.
The branch contains one implementation commit, d9985fc7, above the merged Phase 1 commit 37a3e931.
With MXC_W365_TEST_EXECUTOR pointing to the built target/debug/wxc-exec.exe, cargo test --locked -p mxc-sdk --lib w365 -- --include-ignored — passed, 6 tests, including trusted-TLS engine and fresh-process Windows executor fixtures. Only loopback services and synthetic credentials were used.
Native Linux/macOS runs and dependency-feed validation have not been run locally; PR CI remains required. Existing CI matrices are preserved. Windows CI requires both fixtures; Linux/macOS CI requires the engine fixture.
Separately supplied live evidence at earlier commit 32ac2531 established exactly one authorized API 2.0 Local checkout and fresh-process deprovision with renewed credentials and the same retained ID. This proves release acceptance only, not completed reset, HumanUser, readiness/exec or SDK behavior. An earlier HumanUser attempt returned HTTP 500/provision_timeout with uncertainty and no session ID and remains unresolved. No additional live calls were made for this review or publication. The backend guide's original statement that live validation has not run predates that supplied evidence.
Add environment-configured checkout and terminal release through the normal engine, preserving session cleanup identities and uncertain outcomes. Expose lifecycle operations through the existing Windows executor only; leave Linux and macOS CLI lifecycle support unchanged. Keep readiness, execution and public SDK access explicitly deferred. Validate parser and engine behavior with cross-platform trusted-TLS fixtures and fresh-process recovery through the Windows executor.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Checkout error responses discard valid session IDs needed for cleanup, and required Azure builds omit lifecycle and recovery fixtures, allowing artifacts to be published without those checks.
Implements the experimental W365 Agents checkout and terminal-release lifecycle on the merged Phase 1 contracts, using MXC’s existing engine and Windows executor interfaces.
Changes:
Adds an environment-configured API 2.0 client, session-based IDs, checked dispatch and structured recovery errors.
Keeps readiness, execution and Dev SDK access unavailable pending later phases.
Adds trusted-TLS fixtures, GitHub Actions validation and documentation of configuration, cleanup and current limits.
The reason will be displayed to describe this comment to others. Learn more.
Fixed in d2d77aa. Azure now explicitly discovers and runs the engine fixture on Linux x64 and both fixtures on Windows x64. Windows builds its test-support executor in a separate target directory outside shipping artifacts. macOS checks fixture discovery before the existing package suite runs it; cross-compiled Windows/Linux arm64 jobs remain build-only. Template structure and embedded PowerShell/Bash syntax checks passed locally; the updated Azure jobs have not run yet.
Retain valid session identities from bounded checkout error responses without changing HTTP failure classification or replaying allocation. Cover recovery and unreadable bodies in TLS and fresh-executor fixtures, and require fixture discovery and execution on native Azure build hosts.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The dependency changes introduce unconfigured native TLS/OpenSSL requirements into the ARM64 cross-build, while missing feed dependencies leave the dependency gate failing and block platform builds and W365 fixture verification.
Add locked dependencies to the required dependency feed
src/mxc-sdk/Cargo.toml:84
[P2] Add the new locked dependencies to the required dependency feed before merging. The current dependency-feed-check job fails with HTTP 401 and “No local versions of package 'rcgen'” (job 130096170380), which also skips the Windows, Linux and macOS build jobs and their new W365 fixtures. As documented in docs/development/build-and-test/pull-requests.md:228–240, a feed Contributor needs to run MXC-Update-Feed-Dependencies with prNumber=1723, then rerun the dependency gate and affected builds.
Preserve W365 rustls on all targets while restoring the architecture-specific optional native TLS and gzip features for Hyperlight. Add an Azure ARM64 dependency graph regression check.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The dependency feed cannot resolve rcgen, causing the dependency gate to fail and Windows, Linux, and macOS builds—including the new lifecycle fixtures—to be skipped.
[P2] Seed the new dependencies in MxcDependencies before merging. The current dependency-feed-check job (130113697446) fails resolving rcgen with HTTP 401 and the feed explicitly reports “No local versions of package 'rcgen'.” Consequently, the Windows, Linux and macOS build jobs—including the new lifecycle fixtures—are skipped. Have a contributor run MXC-Update-Feed-Dependencies with prNumber=1723, as documented in docs/development/build-and-test/pull-requests.md:228–240, then rerun the gate and platform jobs; successful crates.io builds do not validate this dependency path.
Use platform trust for production HTTPS and replace the rustls test server with native TLS. Generate test certificates at runtime, package Windows identities with OpenSSL, and explicitly clean up imported fixture keys. Add Linux OpenSSL build prerequisites including ARM64 target libraries and update CI dependency checks and documentation.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Maintainer and service-owner review is needed to confirm outstanding cross-platform TLS/OpenSSL validation, accept the API 2.0 contract and live-validation limits, and reconcile the uncertain HumanUser checkout outcome.
Package generated EC fixture identities as PKCS12 for macOS import compatibility. Select the Windows OpenSSL executable directly instead of prepending Git Unix tools to PATH, preserving Windows tar for packaging validation.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Unresolved API 2.0 HumanUser checkout behavior and allocation cleanup risks need service-owner confirmation, while Linux/macOS TLS fixtures and Azure ARM64 OpenSSL builds still lack execution results.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📖 Description
Implement the experimental W365 Agents Phase 2 vertical slice on the merged Phase 1 contracts: checkout through
provisionand terminal release throughstopordeprovision.The branch contains one implementation commit,
d9985fc7, above the merged Phase 1 commit37a3e931.🔗 References
Refs #1615 (open, maintainer-applied
feature-accepted).Approved and merged design/API proposal: #1619. Phase 1 contracts: #1697.
Implementation scope and validation limits:
docs/backends/w365agents/w365agents-backend.md.🔍 Validation
Local Windows validation of the final tree, from
src/unless stated otherwise:cargo check -p mxc-sdk --quiet— passed after removing the unusedureq/jsonfeature and refreshing the lockfile.cargo build --locked -p wxc --features test-support --quiet— passed.MXC_W365_TEST_EXECUTORpointing to the builttarget/debug/wxc-exec.exe,cargo test --locked -p mxc-sdk --lib w365 -- --include-ignored— passed, 6 tests, including trusted-TLS engine and fresh-process Windows executor fixtures. Only loopback services and synthetic credentials were used.cargo test --locked -p mxc-sdk --lib --quiet -- config_parser state_aware backend_registry policy_identity— passed, 497 tests.cargo test --locked -p mxc-sdk --test mxc_contract_v1_1_0_alpha --test state_aware --quiet— passed, 388 contract tests and 16 lifecycle tests.cargo test --locked -p mxc_ffi --lib state_aware --quiet— passed, 21 tests.cargo fmt --all -- --check— passed.cargo clippy --locked -p mxc-sdk -p mxc_ffi -p wxc --all-targets -- -D warnings— passed; build script reported the existing Python Store alias prerequisite warning.node scripts/versioning/check-contract-codegen.js— passed; three artifact sets match and published schemas matchorigin/main.git diff --check origin/main..HEAD— passed.Native Linux/macOS runs and dependency-feed validation have not been run locally; PR CI remains required. Existing CI matrices are preserved. Windows CI requires both fixtures; Linux/macOS CI requires the engine fixture.
Separately supplied live evidence at earlier commit
32ac2531established exactly one authorized API 2.0Localcheckout and fresh-process deprovision with renewed credentials and the same retained ID. This proves release acceptance only, not completed reset,HumanUser, readiness/exec or SDK behavior. An earlierHumanUserattempt returned HTTP 500/provision_timeoutwith uncertainty and no session ID and remains unresolved. No additional live calls were made for this review or publication. The backend guide's original statement that live validation has not run predates that supplied evidence.✅ Checklist
feature-acceptedCargo.lock, thedependency-feed-checkcheck passes (see pull request builds)No new repository-wide architecture or contributor convention requires an instruction update. CLA status and dependency-feed CI are left unconfirmed.
📋 Issue Type
Microsoft Reviewers: Open in CodeFlow