[WSLC] Remove the rolling configuration architecture - #1188
Gudge (MGudgin) merged 1 commit into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
5449652 to
7b58698
Compare
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The broad parser migration still has an unresolved contract-routing flaw and requires final human validation.
Review effort: Balanced
Findings: 1
Open (2)
What changed in this PR
Replaces rolling configuration parsing and generation with exact-contract adapters and private normalized inputs.
Changes:
- Introduces typed contract attribution and network compatibility.
- Removes rolling schema/type generation.
- Updates validation, tests, backends, and documentation for exact contracts.
| File | Description |
|---|---|
| tests/policy/README.md | Updates policy-document validation guidance. |
| src/tools/mxc_schema_gen/tests/cli.rs | Tests versioned schema generation. |
| src/tools/mxc_schema_gen/src/main.rs | Requires exact contract versions. |
| src/tools/mxc_schema_gen/Cargo.toml | Removes rolling-model dependency. |
| src/ffi/mxc_ffi/src/request.rs | Uses exact version matching for telemetry. |
| src/ffi/mxc_ffi/Cargo.toml | Removes semver dependency. |
| src/core/wxc/src/main.rs | Logs typed source-contract attribution. |
| src/core/wxc_common/src/state_aware_input.rs | Normalizes state-aware ConfigInput. |
| src/core/wxc_common/src/state_aware_dispatch.rs | Updates lifecycle backend routing. |
| src/core/wxc_common/src/policy_identity.rs | Hashes normalized network compatibility. |
| src/core/wxc_common/src/network_parser.rs | Uses typed network compatibility. |
| src/core/wxc_common/src/models.rs | Adds source attribution and compatibility models. |
| src/core/wxc_common/src/lib.rs | Registers private normalization modules. |
| src/core/wxc_common/src/config_input.rs | Defines the internal configuration input. |
| src/core/wxc_common/src/config_deserialize.rs | Updates root-error regression coverage. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/state_aware.rs | Adapts v0.9 lifecycle requests. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/state_aware_tests/common.rs | Updates v0.9 lifecycle adapter tests. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/one_shot.rs | Adapts v0.9 one-shot requests. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/one_shot_tests/stable_candidate.rs | Checks v0.9 source attribution. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/one_shot_tests/mod.rs | Renames adapter test imports. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/one_shot_tests/common.rs | Uses private config inputs in tests. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/mod.rs | Defines v0.9 adapted requests. |
| src/core/wxc_common/src/config_contract_adapters/v0_9/common.rs | Removes string-version conversion. |
| src/core/wxc_common/src/config_contract_adapters/v0_8.rs | Produces strict v0.8 config inputs. |
| src/core/wxc_common/src/config_contract_adapters/v0_7.rs | Preserves legacy v0.7 compatibility. |
| src/core/wxc_common/src/config_contract_adapters/v0_6.rs | Preserves legacy v0.6 compatibility. |
| src/core/wxc_common/src/config_contract_adapters/dev/state_aware.rs | Adapts development lifecycle requests. |
| src/core/wxc_common/src/config_contract_adapters/dev/state_aware_tests/provision.rs | Updates development provision tests. |
| src/core/wxc_common/src/config_contract_adapters/dev/state_aware_tests/common.rs | Updates development lifecycle test helpers. |
| src/core/wxc_common/src/config_contract_adapters/dev/one_shot.rs | Adapts development one-shot requests. |
| src/core/wxc_common/src/config_contract_adapters/dev/one_shot_tests/stable_candidate.rs | Checks development source attribution. |
| src/core/wxc_common/src/config_contract_adapters/dev/one_shot_tests/mod.rs | Renames development adapter imports. |
| src/core/wxc_common/src/config_contract_adapters/dev/one_shot_tests/common.rs | Uses development config inputs. |
| src/core/wxc_common/src/config_contract_adapters/dev/mod.rs | Defines development adapted requests. |
| src/core/wxc_common/src/config_contract_adapters/dev/common.rs | Removes string-version conversion. |
| src/core/wxc_common/Cargo.toml | Removes rolling schema dependencies. |
| src/core/mxc-sdk/README.md | Documents exact-contract request construction. |
| src/core/mxc_schema_support/src/ts_emit.rs | Retains exact TypeScript emission. |
| src/core/mxc_schema_support/src/lib.rs | Removes rolling TypeScript API. |
| src/core/mxc_engine/src/run.rs | Logs exact JSON attribution only. |
| src/core/mxc_engine/src/policy/network.rs | Selects formats by contract enum. |
| src/core/mxc_engine/src/policy/exact/mod.rs | Preserves compatibility while clearing attribution. |
| src/core/mxc_engine/src/policy.rs | Removes rolling test builder. |
| src/core/mxc_engine/src/configs/process_container.rs | Tests normalized ProcessContainer requests. |
| src/core/mxc_config_contract/tests/v0_9_0_alpha/fixtures.rs | Shares exact fixture utilities. |
| src/core/mxc_config_contract/tests/v0_9_0_alpha/common.rs | Shares exact assertion utilities. |
| src/core/mxc_config_contract/tests/v0_9_0_alpha.rs | Includes shared test support. |
| src/core/mxc_config_contract/tests/v0_10_0_alpha/fixtures.rs | Shares development fixture utilities. |
| src/core/mxc_config_contract/tests/v0_10_0_alpha/common.rs | Shares development assertions. |
| src/core/mxc_config_contract/tests/v0_10_0_alpha.rs | Includes shared test support. |
| src/core/mxc_config_contract/tests/support/exact.rs | Adds reusable exact-contract test helpers. |
| src/Cargo.lock | Removes obsolete dependencies. |
| src/backends/process_container/common/src/base_container_runner.rs | Uses normalized compatibility in tests. |
| src/backends/nanvix/runner/src/lib.rs | Tests compatibility-independent launch behavior. |
| src/backends/isolation_session/common/src/state_aware.rs | Tests normalized provision configuration. |
| src/backends/bubblewrap/common/src/proxy_network.rs | Uses strict compatibility in tests. |
| src/backends/bubblewrap/common/src/bwrap_runner.rs | Replaces schema-string checks with compatibility. |
| src/backends/bubblewrap/common/Cargo.toml | Removes semver dependency. |
| sdk/node/README.md | Documents exact adapter normalization. |
| scripts/versioning/validate-configs.js | Validates against registered exact schemas. |
| scripts/versioning/tests/check-contract-codegen.test.js | Expands registry validation tests. |
| scripts/versioning/check-sdk-types-codegen.js | Removes rolling type-codegen gate. |
| scripts/versioning/check-schema-versions.js | Validates the exact contract registry. |
| scripts/versioning/check-schema-codegen.js | Removes rolling schema-codegen gate. |
| scripts/versioning/check-contract-codegen.js | Requires exact artifact paths. |
| schemas/schema-version.json | Removes rolling schema metadata. |
| docs/wsl/wslc-state-aware.md | Documents direct exact conversion. |
| docs/versioning.md | Describes exact-only version architecture. |
| docs/version-specific-parser-migration-inventory.md | Updates post-migration validation records. |
| docs/state-aware-lifecycle/mxc-state-aware-sandbox-api.md | Documents private config normalization. |
| docs/state-aware-lifecycle/mxc-state-aware-sandbox-api-overview.md | Updates lifecycle authoring guidance. |
| docs/schema-codegen.md | Documents exact-only artifact generation. |
| docs/nanvix-microvm/nanvix-integration-plan.md | Updates NanVix parser architecture notes. |
| docs/bwrap-support/bubblewrap-backend-plan.md | Updates Bubblewrap contract guidance. |
| docs/authoring-a-new-feature.md | Revises exact-contract feature workflow. |
| .github/workflows/Versioning.Checks.Job.yml | Removes rolling artifact CI gates. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
7b58698 to
a912e0d
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Diagnostic normalization and exact-artifact selection still have correctness gaps that should be fixed before approval.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 2
Open (2)
a912e0d to
8f0a4be
Compare
8f0a4be to
3200731
Compare
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The broad trust-boundary, compatibility, backend, and artifact-generation migration warrants final human validation.
Review effort: Balanced
Findings: 1
Open (1)
Resolved since last review (5)
Update setup script to use permanent wslc.storagePath Rewrite architecture guidance around exact contract deserialization Clarify that only the rolling whole-request parser was removed Update checklist and schema references to the exact-contract architecture Update contributor guidance to remove rolling-model requirements
3277a7c to
3d41386
Compare
3d41386 to
78af75b
Compare
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The broad parser, policy-identity, backend-routing, compatibility, and schema-tooling migration warrants final human validation.
Review effort: Balanced
Findings: 1
Open (1)
Resolved since last review (1)
78af75b to
e02a081
Compare
e02a081 to
e1ea3b6
Compare
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
It changes the configuration trust boundary and multiple backend paths while versioning and authorization guidance still have unresolved consistency gaps.
Review effort: Balanced
Findings: 2
Open (2)
Resolved since last review (1)
This PR replaces rolling whole-request models with exact-contract adapters and a private CommonRequestIR normalization boundary. It publishes WSLC through the exact v0.9 contract and aligns runtime models and contributor guidance with permanent contract field locations. Details * Introduce CommonRequestIR and remove rolling request deserialization, generated artifacts, and legacy gates. * Use typed source attribution and network compatibility instead of parsing contract-version strings while preserving v0.6 and v0.7 behavior. * Keep WSLC stable without experimental opt-in and store its runtime configuration directly on ExecutionRequest. * Store WSLC and Windows Sandbox policy identity at root-level keys while retaining independent feature authorization. * Use one strict-network predicate for Bubblewrap routing and validation. * Update architecture, versioning, backend, telemetry, and fixture guidance for the exact-contract to CommonRequestIR flow. Tests * cargo fmt --all -- --check * cargo check --workspace --all-targets * cargo clippy --workspace --all-targets --all-features -- -D warnings * cargo test --workspace --exclude wxc_e2e_tests * cargo test -p wxc_common policy_identity (28 passed) * 81 versioning tests, exact codegen/schema gates, and 363 config validations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1d91874d-feea-4a33-b183-67d506ae61b5 Generated-with: gpt-5.6-sol
e1ea3b6 to
c1ce5e4
Compare
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The refactor spans production parsing, lifecycle routing, policy identity, backend compatibility, code generation, and CI validation.
Review effort: Balanced
Findings: None



📖 Description
This PR replaces rolling whole-request models with exact-contract adapters
and a private
CommonRequestIRnormalization boundary. It publishes WSLCthrough the exact v0.9 contract and aligns runtime models and contributor
guidance with permanent contract field locations.
Details
CommonRequestIRand remove rolling request deserialization,generated artifacts, and legacy gates.
contract-version strings while preserving v0.6 and v0.7 behavior.
configuration directly on
ExecutionRequest.ExperimentalConfigandwire::Experimentalwhile retainingper-feature authorization and projecting WSLC and Windows Sandbox policy at
root-level identity keys.
exact-contract to
CommonRequestIRflow.Tests
cargo fmt --all -- --checkcargo check --workspace --all-targetscargo clippy --workspace --all-targets --all-features -- -D warningscargo test --workspace --exclude wxc_e2e_testsMicrosoft Reviewers: Open in CodeFlow