Skip to content

Enable authoritative exact contract dispatch - #1104

Open
Gudge (MGudgin) wants to merge 1 commit into
user/gudge/version_specific_config_parsers_phase8from
user/gudge/version_specific_config_parsers_phase9a
Open

Enable authoritative exact contract dispatch#1104
Gudge (MGudgin) wants to merge 1 commit into
user/gudge/version_specific_config_parsers_phase8from
user/gudge/version_specific_config_parsers_phase9a

Conversation

@MGudgin

@MGudginGudge (MGudgin) commented Sep 4, 2026

Copy link
Copy Markdown
Member

This PR changes request parsing to select and enforce the exact registered contract declared by each request.

Details

  • Routes file, base64, raw JSON, command-spliced, executor, probe, and Rust policy-builder inputs through exact version-specific contracts.
  • Preserves published compatibility aliases and explicit rolling-parser characterization under test-only paths.
  • Removes migration dead-code scaffolding and updates residual E2E expectations to structural exact-contract failures.
  • Retains direct backend-policy validation coverage and records the completed Phase 9 migration validation.

Tests

  • cargo fmt --all -- --check
  • cargo check --workspace --all-targets
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace
  • npm run build and npm test in sdk/node
  • dotnet test --solution Microsoft.Mxc.Sdk.slnx
  • Config, schema-version, contract-codegen, SDK-type-codegen, and version-sync gates
Microsoft Reviewers: Open in CodeFlow

@MGudgin
Gudge (MGudgin) requested a review from a team as a code ownerSeptember 4, 2026 17:32
@azure-pipelines

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

@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 8a9c31d to 27215d2CompareSeptember 4, 2026 18:27
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 27215d2 to a47cfe9CompareSeptember 4, 2026 19:05
@MGudgin
Gudge (MGudgin) requested review from a team and a balanced review from CopilotSeptember 4, 2026 19:36
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from a47cfe9 to fde5518CompareSeptember 4, 2026 19:36

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

Exact development diagnostics bypass security sanitization, SDK version validation is inconsistent, and authoritative documentation remains outdated.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 1 Medium severity · 1 Low severity

New issues introduced by this change (2)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Making this exact path authoritative sends every 0.9 contract error through…
Low severitydocs/​version-specific-parser-migration-inventory.md — The inventory now says exact dispatch is authoritative, but the primary documentation still states…
What changed in this PR

Makes exact, version-specific contracts authoritative across request-loading and Rust policy-builder paths.

Changes:

  • Routes production parsing through registered exact contracts.
  • Retains rolling parsing for characterization tests.
  • Updates E2E expectations and migration documentation for structural failures.
FileDescription
tests/​scripts/​run_wslc_state_aware_tests.ps1Expects structural filesystem rejection.
tests/​scripts/​run_isolation_session_tests.ps1Tests closed one-shot contracts.
tests/​scripts/​run_isolation_session_state_aware_tests.ps1Updates structural rejection assertions.
tests/​configs/​isolation_session_one_shot_stray_config_rejected.jsonRenames stray-config rejection fixture.
tests/​configs/​isolation_session_configid_rejected.jsonRenames configuration-ID rejection fixture.
src/​testing/​wxc_e2e_tests/​tests/​e2e_state_aware.rsTests exact containment rejection.
src/​testing/​wxc_e2e_tests/​tests/​e2e_isolation_session_policy.rsUpdates UI rejection expectations.
src/​core/​wxc/​src/​main.rsUses exact parsing for probes and tests.
src/​core/​wxc_common/​src/​splice.rsVersions command-splicing test input.
src/​core/​wxc_common/​src/​lib.rsRemoves obsolete dead-code allowance.
src/​core/​wxc_common/​src/​config_parser.rsEnables authoritative exact dispatch.
src/​core/​wxc_common/​src/​config_deserialize.rsRestricts rolling helpers to tests.
src/​core/​wxc_common/​src/​config_contract_adapters/​mod.rsEnables production development adapters.
src/​core/​mxc_engine/​src/​policy/​network.rsRestricts rolling wire helpers to tests.
src/​core/​mxc_engine/​src/​policy.rsRoutes policy builders through exact contracts.
src/​core/​mxc_engine/​src/​configs/​process_container.rsTest-gates legacy wire mapping.
src/​core/​mxc_engine/​Cargo.tomlPromotes contract crate to runtime dependency.
src/​core/​mxc_darwin/​src/​main.rsUses exact one-shot loading.
src/​core/​lxc/​src/​main.rsUses exact one-shot loading.
src/​backends/​lxc/​common/​src/​network_iptables_ga_egress_spec.rsCorrects registered test version.
docs/​version-specific-parser-migration-inventory.mdRecords Phase 9 completion and validation.
Suppressed comments (1)

src/core/wxc_common/src/config_parser.rs:327

  • The exact switch now accepts only these four registered spellings, but the public TypeScript builder still treats any semver between the minimum and maximum as valid (for example 0.8.1-alpha), and its state-aware tests explicitly preserve such an override. Those SDK calls therefore build requests that the native layer now guarantees to reject as malformed. Align the SDK version validators/options and tests with the exact registry (state-aware currently only has 0.9.0-alpha).
fn parse_exact_mxc_request_json(json: &str, logger: &mut Logger) -> Result<MxcRequest, ParseError> {
match probe_version(json).map_err(exact_version_error)? {
ContractVersion::V0_6_0Alpha => parse_exact_published_one_shot(
json,
logger,
crate::config_contract_adapters::v0_6::into_wire,
),
ContractVersion::V0_7_0Alpha => parse_exact_published_one_shot(
json,
logger,
crate::config_contract_adapters::v0_7::into_wire,
),
ContractVersion::V0_8_0Alpha => parse_exact_published_one_shot(
json,
logger,
crate::config_contract_adapters::v0_8::into_wire,
),
ContractVersion::V0_9_0Alpha => parse_exact_development(json, logger),

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

Comment threadsrc/core/wxc_common/src/config_parser.rs Outdated
Comment threaddocs/version-specific-parser-migration-inventory.md
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from fde5518 to 493f2c1CompareSeptember 4, 2026 20:11
CopilotAI review requested due to automatic review settings September 4, 2026 21:05
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 493f2c1 to c01d0fbCompareSeptember 4, 2026 21:05

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

Node SDK and configuration validation still accept rolling-contract inputs that authoritative exact loading rejects.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 3 Medium severity · 2 Low severity

New issues introduced by this change (3)
SeverityFinding
Medium severitydocs/​version-specific-parser-migration-inventory.md — The reported config gate is still validating every document against schema-version.json's…
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Exact dispatch makes the selected contract authoritative, but the public Node policy builder still…
Low severitysrc/​core/​mxc_engine/​src/​policy.rs — This promotes the exact builders to production, but the architecture guidance still describes the…
Pre-existing issues (2)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Making this exact path authoritative sends every 0.9 contract error through… View comment
Low severitydocs/​version-specific-parser-migration-inventory.md — The inventory now says exact dispatch is authoritative, but the primary documentation still states… View comment

Comment threaddocs/version-specific-parser-migration-inventory.md
Comment threadsrc/core/wxc_common/src/config_parser.rs Outdated
Comment threadsrc/core/mxc_engine/src/policy.rs
CopilotAI review requested due to automatic review settings September 4, 2026 21:47
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from c01d0fb to b88f2adCompareSeptember 4, 2026 21:47

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

CLI command preprocessing can bypass exact version dispatch, and primary contributor documentation still describes the retired rolling-production architecture.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 4 Medium severity · 2 Low severity

New issues introduced by this change (1)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — The CLI-command path can bypass this exact dispatch. apply_cli_command probes phase before…
Pre-existing issues (5)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Exact dispatch makes the selected contract authoritative, but the public Node policy builder still… View comment
Medium severitydocs/​version-specific-parser-migration-inventory.md — The reported config gate is still validating every document against schema-version.json's… View comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Making this exact path authoritative sends every 0.9 contract error through… View comment
Low severitysrc/​core/​mxc_engine/​src/​policy.rs — This promotes the exact builders to production, but the architecture guidance still describes the… View comment
Low severitydocs/​version-specific-parser-migration-inventory.md — The inventory now says exact dispatch is authoritative, but the primary documentation still states… View comment
Suppressed comments (1)

docs/version-specific-parser-migration-inventory.md:26

  • This records exact dispatch as authoritative, but the repository’s primary versioning guidance still states the opposite: docs/versioning.md:87-110 calls the rolling parser authoritative and the exact builders test-only; docs/schema-codegen.md:8-12,75-78 says production still uses rolling; docs/authoring-a-new-feature.md:127-131 retains the pre-cutover workflow; and .github/copilot-instructions.md:282 describes policy builders as rolling. These instructions now direct contributors to modify or reason about the wrong production contract. Update them as part of the Phase 9 cutover.
Version migration removed 118 of the 125 recorded divergences. The remaining
seven now characterize only the test-scoped rolling parser; authoritative
public loading rejects every document through its exact contract:

Comment threadsrc/core/wxc_common/src/config_parser.rs Outdated
CopilotAI review requested due to automatic review settings September 5, 2026 00:03
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from b88f2ad to 623aae2CompareSeptember 5, 2026 00:03
@microsoft-github-policy-servicemicrosoft-github-policy-serviceBot added the Copilot-Instructions PR modifies Copilot instruction files (.github/copilot-instructions.md or .github/instructions/) label Sep 5, 2026

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

The SDK version registry lacks synchronization enforcement, and remaining documentation still describes the retired rolling production path.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 5 Medium severity · 3 Low severity

New issues introduced by this change (2)
SeverityFinding
Medium severitysdk/​node/​src/​types.ts — This new public registry is another handwritten source of truth, but…
Low severitydocs/​versioning.md — The authoritative-parser documentation remains contradictory elsewhere. sdk/node/README.md:67
Pre-existing issues (6)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — The CLI-command path can bypass this exact dispatch. apply_cli_command probes phase before… View comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Exact dispatch makes the selected contract authoritative, but the public Node policy builder still… View comment
Medium severitydocs/​version-specific-parser-migration-inventory.md — The reported config gate is still validating every document against schema-version.json's… View comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Making this exact path authoritative sends every 0.9 contract error through… View comment
Low severitysrc/​core/​mxc_engine/​src/​policy.rs — This promotes the exact builders to production, but the architecture guidance still describes the… View comment
Low severitydocs/​version-specific-parser-migration-inventory.md — The inventory now says exact dispatch is authoritative, but the primary documentation still states… View comment

Comment threadsdk/node/src/types.ts Outdated
Comment threaddocs/versioning.md
CopilotAI review requested due to automatic review settings September 5, 2026 04:05
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 623aae2 to 2523814CompareSeptember 5, 2026 04:05

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

Public version typing and several compatibility documents still contradict exact registered-version enforcement.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 1 Medium severity · 3 Low severity

New issues introduced by this change (4)
SeverityFinding
Medium severitysdk/​node/​src/​types.ts — The one-shot public type still accepts any string even though validatePolicyVersion now accepts…
Low severity.github/​copilot-instructions.md — The exact-schema guidance here conflicts with the unchanged Policy versioning section at line 356,…
Low severitydocs/​playground-limitations.md — This sentence still documents range acceptance, but the new exact dispatcher rejects every spelling…
Low severitysdk/​node/​README.md — The troubleshooting table later in this file (line 444) still documents only “older/newer than…
Issues resolved since last review (8)
SeverityFinding
Low severitydocs/​versioning.md — The authoritative-parser documentation remains contradictory elsewhere. sdk/node/README.md:67View resolved comment
Medium severitysdk/​node/​src/​types.ts — This new public registry is another handwritten source of truth, but… View resolved comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — The CLI-command path can bypass this exact dispatch. apply_cli_command probes phase before… View resolved comment
Low severitysrc/​core/​mxc_engine/​src/​policy.rs — This promotes the exact builders to production, but the architecture guidance still describes the… View resolved comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Exact dispatch makes the selected contract authoritative, but the public Node policy builder still… View resolved comment
Medium severitydocs/​version-specific-parser-migration-inventory.md — The reported config gate is still validating every document against schema-version.json's… View resolved comment
Low severitydocs/​version-specific-parser-migration-inventory.md — The inventory now says exact dispatch is authoritative, but the primary documentation still states… View resolved comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — Making this exact path authoritative sends every 0.9 contract error through… View resolved comment
Suppressed comments (1)

docs/versioning.md:109

  • The rest of this section still describes the removed rolling behavior: lines 58-63 and 395-400 say versions are optional and major/minor range-matched, and line 478 promises old/new range diagnostics. Exact dispatch instead requires one of four complete registered spellings and emits Unsupported contract version; update these sections (and the compatibility table in docs/schema.md) so users are not told that versionless or 0.6.1-alpha requests are accepted.
The runtime parser and Rust SDK policy builders dispatch through the exact
contract registered for the declared version. The rolling parser and builder
remain only to characterize intentional migration differences and detect
unplanned drift. Corpus validation likewise selects the exact registered schema

Comment threadsdk/node/src/types.ts Outdated
Comment thread.github/copilot-instructions.md
Comment threaddocs/playground-limitations.md Outdated
Comment threadsdk/node/README.md
CopilotAI review requested due to automatic review settings September 5, 2026 05:02
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 2523814 to 7e8ee67CompareSeptember 5, 2026 05:02

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

A public raw-JSON loader still uses rolling parsing, and version documentation still describes obsolete range-based acceptance.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 1 High severity · 1 Medium severity · 3 Low severity

New issues introduced by this change (1)
SeverityFinding
High severitysrc/​core/​wxc_common/​src/​config_parser.rs — Only the file/base64 loader is made test-only here. pub fn load_request_from_json (lines 171–216)…
Pre-existing issues (4)
SeverityFinding
Medium severitysdk/​node/​src/​types.ts — The one-shot public type still accepts any string even though validatePolicyVersion now accepts… View comment
Low severitysdk/​node/​README.md — The troubleshooting table later in this file (line 444) still documents only “older/newer than… View comment
Low severitydocs/​playground-limitations.md — This sentence still documents range acceptance, but the new exact dispatcher rejects every spelling… View comment
Low severity.github/​copilot-instructions.md — The exact-schema guidance here conflicts with the unchanged Policy versioning section at line 356,… View comment
Suppressed comments (2)

docs/playground-limitations.md:149

  • This still describes range-based acceptance, but both the exact Rust registry and the new SDK check accept only four exact strings; for example, 0.6.1-alpha is within this stated range and is now rejected. Document the registered versions explicitly so the compatibility guidance matches runtime behavior.
The SDK and Rust parser accept `>=0.6, <=0.9`. The schema version does not select the Windows backend — BaseContainer vs AppContainer is resolved at runtime by host capability.

docs/versioning.md:110

  • The exact-dispatch description conflicts with this document's remaining version-negotiation text: lines 58–63 and 395–397 still say any 0.6.x0.9.x version is accepted and patch/prerelease labels are ignored. probe_version now performs an exact registry lookup, so values such as 0.6.1-alpha or 0.8.0-dev are rejected. Update those sections and the Stage 1 diagram to describe exact registered-version selection.
The runtime parser and Rust SDK policy builders dispatch through the exact
contract registered for the declared version. The rolling parser and builder
remain only to characterize intentional migration differences and detect
unplanned drift. Corpus validation likewise selects the exact registered schema
from each document's `version`.

Comment threadsrc/core/wxc_common/src/config_parser.rs
CopilotAI review requested due to automatic review settings September 5, 2026 05:46
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 7e8ee67 to e66ae2fCompareSeptember 5, 2026 05:46

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

Unsupported registered-version failures are incorrectly audited as malformed JSON instead of schema violations.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 1 Medium severity

New issues introduced by this change (1)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — This branch is still wrapped as ParseError::Decode, so wxc records every unsupported-but-valid…
Issues resolved since last review (5)
SeverityFinding
High severitysrc/​core/​wxc_common/​src/​config_parser.rs — Only the file/base64 loader is made test-only here. pub fn load_request_from_json (lines 171–216)… View resolved comment
Low severitysdk/​node/​README.md — The troubleshooting table later in this file (line 444) still documents only “older/newer than… View resolved comment
Low severitydocs/​playground-limitations.md — This sentence still documents range acceptance, but the new exact dispatcher rejects every spelling… View resolved comment
Low severity.github/​copilot-instructions.md — The exact-schema guidance here conflicts with the unchanged Policy versioning section at line 356,… View resolved comment
Medium severitysdk/​node/​src/​types.ts — The one-shot public type still accepts any string even though validatePolicyVersion now accepts… View resolved comment

Comment threadsrc/core/wxc_common/src/config_parser.rs
CopilotAI review requested due to automatic review settings September 5, 2026 19:39
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from e66ae2f to 0b68367CompareSeptember 5, 2026 19:39

CopilotAI 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.

Copilot review overview

🟡 Changes recommended

A lifecycle parsing error can bypass the required JSON envelope, and versioning documentation remains contradictory.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Balanced
Findings: 2 Medium severity · 2 Low severity

New issues introduced by this change (3)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — This pre-deserialization can change the public error route for an otherwise identifiable lifecycle…
Low severitydocs/​schema-codegen.md — This exact-schema statement conflicts with this file's unchanged CI-gates section at lines 114–116,…
Low severitydocs/​versioning.md — The primary schema reference still documents the retired behavior: docs/schema.md:424-446 says…
Pre-existing issues (1)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — This branch is still wrapped as ParseError::Decode, so wxc records every unsupported-but-valid… View comment

Comment threadsrc/core/wxc_common/src/config_parser.rs Outdated
Comment threaddocs/schema-codegen.md
Comment threaddocs/versioning.md
CopilotAI review requested due to automatic review settings September 5, 2026 21:36
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 0b68367 to 1f56c09CompareSeptember 5, 2026 21:36

CopilotAI 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.

Copilot review overview

🔵 Needs a closer look

The cross-platform trust-boundary and SDK cutover warrants final human validation despite comprehensive coverage.

Review tier: Balanced
Findings: 2 Medium severity

Pre-existing issues (2)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — This pre-deserialization can change the public error route for an otherwise identifiable lifecycle… View comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — This branch is still wrapped as ParseError::Decode, so wxc records every unsupported-but-valid… View comment
Issues resolved since last review (2)
SeverityFinding
Low severitydocs/​versioning.md — The primary schema reference still documents the retired behavior: docs/schema.md:424-446 says… View resolved comment
Low severitydocs/​schema-codegen.md — This exact-schema statement conflicts with this file's unchanged CI-gates section at lines 114–116,… View resolved comment

This PR makes registered version-specific contracts authoritative for production requests and preserves structured rejection diagnostics and output routing.
Details
* Make exact contract dispatch authoritative for executor loading, probes, state-aware requests, and Rust SDK policy builders; retain rolling helpers only as test oracles.
* Preserve pre-parse CLI command splicing, source-aware diagnostics, and shared normalization without changing published contract shapes.
* Classify schema-version declaration failures separately from JSON decoding for rejection audits, while keeping pre-discrimination stderr routing.
* Preserve state-aware JSON error envelopes when development preflight deserialization rejects duplicate experimental fields.
* Align SDK validation, corpus gates, and documentation with exact registered versions while retaining string-typed public one-shot versions.
Tests
* cargo fmt --all -- --check; cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings.
* cargo test -p wxc_common -p mxc_engine -p wxc --lib --bins: 1,187 common, 112 engine, and 62 CLI tests passed.
* cargo test -p wxc_common --doc config_parser::load_mxc_request_from_json.
* cargo check -p mxc_engine -p lxc --target x86_64-unknown-linux-gnu and cargo check -p mxc_engine -p mxc_darwin --target aarch64-apple-darwin.
* Direct built-CLI checks confirmed schema-violation versus malformed-JSON audits, lifecycle duplicate-field JSON envelopes, and one-shot stderr diagnostics. Both new CLI regressions failed before the fixes and pass afterward.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0f04437d-4a05-487a-b402-4ed4c774e8e0
CopilotAI review requested due to automatic review settings September 5, 2026 22:23
@MGudgin
Gudge (MGudgin)force-pushed the user/gudge/version_specific_config_parsers_phase9a branch from 1f56c09 to bcc2ac7CompareSeptember 5, 2026 22:23

CopilotAI 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.

Copilot review overview

🟢 Approval recommended

Exact dispatch is consistently applied across production entry points, SDK builders, validation gates, tests, and documentation, with no unresolved correctness issues found.

Review tier: Balanced
Findings: None

Issues resolved since last review (2)
SeverityFinding
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — This pre-deserialization can change the public error route for an otherwise identifiable lifecycle… View resolved comment
Medium severitysrc/​core/​wxc_common/​src/​config_parser.rs — This branch is still wrapped as ParseError::Decode, so wxc records every unsupported-but-valid… View resolved comment

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

Labels

Copilot-InstructionsPR modifies Copilot instruction files (.github/copilot-instructions.md or .github/instructions/)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MGudgin