Skip to content

Add 0.8 state-aware configuration contracts - #929

Merged
Gudge (MGudgin) merged 1 commit into
mainfrom
user/gudge/version_specific_config_parsers_phase5c
Aug 20, 2026
Merged

Gudge (MGudgin) merged 1 commit into
mainfrom
user/gudge/version_specific_config_parsers_phase5c

Conversation

@MGudgin

@MGudgin Gudge (MGudgin) commented Aug 17, 2026 •

Copy link
Copy Markdown
Member

This PR adds exact, closed state-aware request contracts and source-driven selection for the mutable 0.8.0-alpha configuration contract.

This PR is stacked on #910.

Details

  • Add phase-specific start, exec, stop, and deprovision roots with exact phase markers.
  • Add backend-specific provision contracts for Windows Sandbox, IsolationSession, and WSLC.
  • Add phase and containment probes, typed request selection, and comprehensive structural tests.

Tests

  • cargo fmt --all -- --check
  • cargo check -p mxc_config_contract
  • cargo clippy -p mxc_config_contract --all-targets -- -D warnings
  • cargo test -p mxc_config_contract
  • RUSTDOCFLAGS="-D warnings -D missing-docs" cargo doc -p mxc_config_contract --no-deps
Microsoft Reviewers: Open in CodeFlow

@MGudgin
Gudge (MGudgin) requested a review from a team as a code owner August 17, 2026 22:18
@azure-pipelines

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

@bbonaby

Copy link
Copy Markdown
Collaborator

might have to close and reopen this one or attempt to push a new commit. Seems like the actions are stuck again

Copilot AI balanced review requested due to automatic review settings August 19, 2026 15:29
@MGudgin
Gudge (MGudgin) force-pushed the user/gudge/version_specific_config_parsers_phase5c branch from 69ca3dc to aed6539 Compare August 19, 2026 15:29

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.

Pull request overview

Adds closed 0.8.0-alpha state-aware configuration contracts and request routing to mxc_config_contract.

Changes:

  • Adds phase- and backend-specific request types.
  • Adds phase/containment probes and request selection.
  • Adds structural validation tests.
Show a summary per file
File Description
src/core/mxc_config_contract/src/dev/mod.rs Exports new contracts and parser APIs.
src/core/mxc_config_contract/src/dev/request.rs Selects contracts from request source.
src/core/mxc_config_contract/src/dev/state_aware/mod.rs Defines the state-aware module surface.
src/core/mxc_config_contract/src/dev/state_aware/phase.rs Probes lifecycle phases.
src/core/mxc_config_contract/src/dev/state_aware/start.rs Defines start requests.
src/core/mxc_config_contract/src/dev/state_aware/exec.rs Defines exec requests.
src/core/mxc_config_contract/src/dev/state_aware/stop.rs Defines stop requests.
src/core/mxc_config_contract/src/dev/state_aware/deprovision.rs Defines deprovision requests.
src/core/mxc_config_contract/src/dev/state_aware/provision/mod.rs Defines provision request variants.
src/core/mxc_config_contract/src/dev/state_aware/provision/containment.rs Probes provision containment.
src/core/mxc_config_contract/src/dev/state_aware/provision/isolation_session.rs Defines IsolationSession provisioning.
src/core/mxc_config_contract/src/dev/state_aware/provision/windows_sandbox.rs Defines Windows Sandbox provisioning.
src/core/mxc_config_contract/src/dev/state_aware/provision/wslc.rs Defines WSLC provisioning.
src/core/mxc_config_contract/tests/v0_8_0_alpha.rs Registers new test modules.
src/core/mxc_config_contract/tests/v0_8_0_alpha/annotations.rs Updates schema-reference fixtures.
src/core/mxc_config_contract/tests/v0_8_0_alpha/optional_fields.rs Reuses one-shot validation helper.
src/core/mxc_config_contract/tests/v0_8_0_alpha/request.rs Tests request selection and errors.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware.rs Registers state-aware tests.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/common.rs Adds generic assertion helpers.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/start.rs Tests start contract structure.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/exec.rs Tests exec contract structure.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/stop.rs Tests stop contract structure.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/deprovision.rs Tests deprovision contract structure.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/provision/mod.rs Registers provision tests.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/provision/isolation_session.rs Tests IsolationSession provisioning.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/provision/windows_sandbox.rs Tests Windows Sandbox provisioning.
src/core/mxc_config_contract/tests/v0_8_0_alpha/state_aware/provision/wslc.rs Tests WSLC provisioning.

Review details

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

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

Base automatically changed from user/gudge/version_specific_config_parsers_phase5b to main August 19, 2026 22:57
This PR adds exact, closed state-aware request contracts and source-driven
selection for the mutable 0.8.0-alpha configuration contract.

Details

* Add phase-specific start, exec, stop, and deprovision roots with exact phase
  markers.
* Add backend-specific provision contracts for Windows Sandbox,
  IsolationSession, and WSLC.
* Add phase and containment probes, typed request selection, and comprehensive
  structural tests.

Tests

* `cargo fmt --all -- --check`
* `cargo check -p mxc_config_contract`
* `cargo clippy -p mxc_config_contract --all-targets -- -D warnings`
* `cargo test -p mxc_config_contract`
* `RUSTDOCFLAGS="-D warnings -D missing-docs" cargo doc -p mxc_config_contract
   --no-deps`

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1ef43cc5-5752-426e-a36e-eb9aaccfb9ad
@MGudgin
Gudge (MGudgin) merged commit 82056eb into main Aug 20, 2026
23 checks passed
@MGudgin
Gudge (MGudgin) deleted the user/gudge/version_specific_config_parsers_phase5c branch August 20, 2026 16:44
Gudge (MGudgin) pushed a commit that referenced this pull request Aug 20, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Aug 25, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Aug 25, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Aug 28, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Aug 31, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Sep 11, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Sep 13, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Sep 14, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Sep 22, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Sep 24, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Sep 27, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Sep 28, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Oct 3, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Oct 6, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Gudge (MGudgin) pushed a commit that referenced this pull request Oct 12, 2026
This PR updates the version-specific parser plan to match the current state of
the work: Phase 5 is merged end to end, and the capabilities parity finding is
being remediated in the Phase 5 stack rather than on the Phase 6 branch.

Details

* Mark Phases 5B, 5C, and 5D merged in PRs #910, #929, and #941, and record
  #949 as retargeted onto main now that the stack beneath it has landed.
* Add PR #966 to the Phase 5 status list as the capabilities remediation, and
  repoint the two "top of the Phase 5 stack" references at it.
* Resolve remediation item 2 of the Phase 6 review finding: the
  ProcessContainerCapability newtype landed, the parse-time versus
  conversion-time asymmetry is now the accepted state, and the shared-constant
  and parity-test drift risk is recorded as still open.
* Note that the unpushed Phase 6 branch carries a duplicate capabilities
  commit that must be dropped when it rebases onto the merged stack.

Tests

* Documentation-only change; no build, lint, or test gate applies.
* git diff --check passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2a8e0d88-21dd-48e5-8e44-df2393b8a664
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants