Skip to content

[WSLC] Proxy Pt. 3: Add runtimeConfig to WSLC provision contract - #1717

Open
Elliot (theelliotm) wants to merge 1 commit into
user/emichlin/wslc-proxy-2-host-loopbackfrom
user/emichlin/wslc-proxy-3-provision-proxy
Open

Elliot (theelliotm) wants to merge 1 commit into
user/emichlin/wslc-proxy-2-host-loopbackfrom
user/emichlin/wslc-proxy-3-provision-proxy

Conversation

@theelliotm

@theelliotm Elliot (theelliotm) commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

📖 Description

Third PR in the WSLC built-in proxy stack (#1625). Adds runtimeConfig to the WSLC provision request in the development contract (1.1.0-alpha), so a later PR can let the daemon store a proxy URL at provision and apply it to every exec. Contract only: the WSLC backend still rejects runtimeConfig.networkProxy at provision with the existing "set it on the exec phase" error.

  • WslcProvisionRequest gains runtimeConfig, placed as in the MicroVM provision request, and the adapter passes it into the common request.
  • Regenerated the development schema and the Node v1_1_0_alpha TypeScript types.
  • The wslc_provision/runtime_proxy.json fixture moves from invalid to valid for 1.1.0-alpha. Published 0.9.0-alpha and 1.0.0 still reject the field.
  • Not exposed in the SDKs until the field is published.

🔗 References

Refs #1462
Spec: #1625
Stacked on #1714

🔍 Validation

On ARM64:

  • cargo fmt --all -- --check: passed
  • cargo clippy -p mxc-sdk --features wslc --all-targets -- -D warnings: passed
  • cargo test -p mxc-sdk --features wslc --lib -- config_contract_adapters wslc::common::policy: passed (199)
  • cargo test -p mxc-sdk --test mxc_contract_v1_1_0_alpha --test mxc_contract_version_boundaries: passed (382, 21)
  • node scripts/versioning/check-contract-codegen.js: passed

New tests cover accepted and rejected runtimeConfig shapes, the value reaching the common request, and WSLC still rejecting a 1.1.0-alpha provision with a proxy.

Not run: x64 and runtime suites (no runtime behavior change).

✅ Checklist

  • Signed the Contributor License Agreement
  • Linked to an issue
  • For features or changes requiring a spec: linked the issue with maintainer-applied feature-accepted
  • For implementation: linked the required approved and merged design/API spec, or explained why no spec is required
  • Feature issue remains open unless this PR completes all agreed implementation, validation, and documentation
  • Updated documentation (if applicable)
  • Updated Copilot instructions (if build, architecture, or conventions changed)
  • If this PR changes Cargo.lock, the dependency-feed-check check passes (see pull request builds)

📋 Issue Type

  • Bug fix
  • Feature
  • Task

@azure-pipelines

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

@theelliotm Elliot (theelliotm) changed the title [WSLC] add runtimeConfig to dev provision contract [WSLC] Proxy Pt. 3: Add runtimeConfig to WSLC provision contract Nov 10, 2026
@theelliotm
Elliot (theelliotm) requested a balanced review from Copilot November 10, 2026 02:09

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.

🟢 Approval recommended

No active review issues block the development-contract runtimeConfig change.

No open issues 🎉

What changed in this PR

Prepares the development 1.1.0-alpha contract for the WSLC built-in proxy stack by adding provision-time runtimeConfig. This is contract-only: WSLC still rejects a provision-time proxy, and published contracts and SDK APIs remain unchanged.

Changes:

  • Adds runtimeConfig to the WSLC provision request and passes it through the adapter.
  • Regenerates the development schema and TypeScript types.
  • Adds parsing, adapter, and backend-rejection coverage, and documents the current limitation.
File Description
src/​mxc-sdk/​tests/​mxc_contract/​v1_1_0_alpha/​state_aware/​provision/​wslc.rs Tests accepted and rejected runtime settings.
src/​mxc-sdk/​tests/​mxc_contract/​v1_1_0_alpha/​fixtures/​wslc_provision/​valid/​runtime_proxy.json Adds a valid development-contract proxy fixture.
src/​mxc-sdk/​src/​core/​mxc_contract/​dev/​state_aware/​provision/​wslc.rs Adds optional provision-time runtime settings.
src/​mxc-sdk/​src/​core/​mxc_common/​config_contract_adapters/​dev/​state_aware.rs Passes runtime settings into the common request.
src/​mxc-sdk/​src/​core/​mxc_common/​config_contract_adapters/​dev/​state_aware_tests/​provision.rs Verifies field presence and proxy-value preservation.
src/​mxc-sdk/​src/​backends/​wslc/​common/​policy.rs Tests continued rejection of provision-time proxies.
sdk/​node/​src/​generated/​v1_1_0_alpha/​wire.ts Updates generated development-contract types.
schemas/​dev/​mxc-config.schema.1.1.0-alpha.json Updates the development schema.
docs/​backends/​wslc/​wslc-state-aware.md Clarifies contract acceptance versus backend rejection.

Review effort: Balanced

@theelliotm
Elliot (theelliotm) force-pushed the user/emichlin/wslc-proxy-3-provision-proxy branch from cedaf7e to acf8251 Compare November 10, 2026 22:17
Copilot AI balanced review requested due to automatic review settings November 10, 2026 22:17

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.

🟢 Approval recommended

No active review issues were identified for the development-contract runtimeConfig plumbing.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 11, 2026 20:14
@theelliotm
Elliot (theelliotm) force-pushed the user/emichlin/wslc-proxy-3-provision-proxy branch from acf8251 to 306537b Compare November 11, 2026 20:14

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.

🟢 Approval recommended

No active review issues remain for the development-contract runtime configuration change.

No open issues 🎉

Review effort: Balanced

Accept runtimeConfig on the 1.1.0-alpha WSLC provision request and pass it
through the adapter. The WSLc backend still rejects networkProxy at provision.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c3f64c2c-9005-43eb-a803-a91fb7265c5b
@theelliotm
Elliot (theelliotm) force-pushed the user/emichlin/wslc-proxy-3-provision-proxy branch from 306537b to acb4a3e Compare November 11, 2026 22:11
Copilot AI balanced review requested due to automatic review settings November 11, 2026 22:12

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.

🟢 Approval recommended

No active review issues are reported for the development-contract runtime configuration addition.

No open issues 🎉

Review effort: Balanced

@theelliotm
Elliot (theelliotm) marked this pull request as ready for review November 11, 2026 22:16
@theelliotm
Elliot (theelliotm) requested a review from a team November 11, 2026 22:16
@theelliotm
Elliot (theelliotm) requested a review from a team as a code owner November 11, 2026 22:16

This branch has not been deployed

No deployments
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.

2 participants