Remove the binding request FFI exports - #1352
Open
Gudge (MGudgin) wants to merge 1 commit into
Open
Gudge (MGudgin) wants to merge 1 commit into
Gudge (MGudgin) wants to merge 1 commit into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
from
September 30, 2026 17:18
fdcddc6 to
bc408e4
Compare
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
2 times, most recently
from
September 30, 2026 17:32
ad9d090 to
83eb247
Compare
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
from
September 30, 2026 20:29
83eb247 to
854923f
Compare
Gudge (MGudgin)
changed the base branch from
user/gudge/rust_ffi_json_ingress
to
user/gudge/dotnet-json-ffi
September 30, 2026 20:29
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
from
September 30, 2026 20:31
854923f to
3adb269
Compare
Gudge (MGudgin)
added this pull request to stack #1356
September 30, 2026 21:26
Gudge (MGudgin)
marked this pull request as ready for review
September 30, 2026 21:27
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
from
September 30, 2026 21:30
3adb269 to
c23d5aa
Compare
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Retargeted host tests now share the default container identity, risking cross-test policy and cleanup interference.
Review effort: Balanced
Findings: 2
Open (3)
What changed in this PR
Removes the deprecated private binding-request FFI after SDK migration to exact-version JSON ingress.
Changes:
- Removes legacy request exports, parser, fixtures, and tests.
- Retargets FFI tests and documentation to exact JSON APIs.
- Updates C# binding checks for retained JSON entry points.
| File | Description |
|---|---|
tests/policy/request-wslc.json |
Removes legacy WSLC fixture. |
tests/policy/request-process-container.json |
Removes legacy ProcessContainer fixture. |
tests/policy/request-directional-network.json |
Removes legacy networking fixture. |
tests/policy/README.md |
Documents retained fixture families. |
src/ffi/mxc_ffi/tests/ffi.rs |
Retargets FFI tests to exact JSON. |
src/ffi/mxc_ffi/src/streaming.rs |
Removes legacy spawn export and updates tests/docs. |
src/ffi/mxc_ffi/src/state_aware.rs |
Updates retained handle references. |
src/ffi/mxc_ffi/src/request.rs |
Deletes private request parser. |
src/ffi/mxc_ffi/src/lib.rs |
Removes legacy run export and parser wiring. |
scripts/check-dotnet-bindings-codegen.js |
Drops removed signatures from checks. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| serde_json::json!({ | ||
| "policy": {}, | ||
| "command": command | ||
| "version": "1.0.0", |
| "filesystem":{"readwritePaths":["C:\\Windows\\Temp"]} | ||
| }, | ||
| "command":"cmd /c echo hello-ffi" | ||
| "version":"1.0.0", |
| /// | ||
| /// # Safety | ||
| /// `handle` must be null or a live handle from [`mxc_spawn_request`]. | ||
| /// `handle` must be null or a live handle from [`mxc_spawn_json`]. |
This PR removes the deprecated private binding-request FFI surface now that Node and .NET call the exact JSON exports directly. The mxc_ffi crate keeps the shared run result, output conversion, streaming handle, and lifecycle surfaces, while deleting the old request parser, binding fixtures, stale docs, and codegen inventory entries. Details * Removed mxc_run_request, mxc_spawn_request, their helpers, and request.rs. * Retargeted retained FFI tests and ignored real-host smoke tests to mxc_run_json and mxc_spawn_json with exact 1.0.0 documents. * Deleted the binding-request goldens and updated tests/policy documentation to describe only SDK v1 goldens and state-aware exact fixtures. * Updated native C# binding codegen checks to require only JSON entry points. Tests * cargo fmt --all -- --check; cargo check --workspace --all-targets --all-features; cargo clippy --workspace --all-targets --all-features -- -D warnings. * cargo test -p mxc_ffi --all-features: 80 passed, 4 ignored, doc 0. * cargo test -p mxc_engine --all-features: 139 passed. * cargo test -p mxc-sdk --all-features: 55 passed, 5 ignored. * RUSTDOCFLAGS=-D warnings cargo doc -p mxc_ffi -p mxc-sdk --no-deps --all-features. * npm run build; npm test: 350 passed, 20 skipped; npm run typecheck. * dotnet test --solution Microsoft.Mxc.Sdk.slnx: 260 succeeded, 27 skipped. * node scripts/check-dotnet-bindings-codegen.js: 37 entry points. * node scripts/check-dotnet-api-parity.js: 7 one-shot backends, 8 discovery backends, 5 capabilities. * node scripts/check-dotnet-errorcode-parity.js: 17 codes. * node scripts/versioning/check-contract-codegen.js: 3 artifact sets. * node scripts/versioning/validate-configs.js: 414 configs, 15 exempt. * node scripts/versioning/check-tests-present.js: 7 test files. * git diff --check. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 33217f7b-dc7d-4da0-af5f-018fef64013c Generated-with: gpt-5.5
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
from
September 30, 2026 21:40
c23d5aa to
1ee00e4
Compare
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.


This PR removes the deprecated private binding-request FFI surface now that
Node and .NET call the exact JSON exports directly. The mxc_ffi crate keeps the
shared run result, output conversion, streaming handle, and lifecycle surfaces,
while deleting the old request parser, binding fixtures, stale docs, and codegen
inventory entries.
Details
mxc_run_json and mxc_spawn_json with exact 1.0.0 documents.
describe only SDK v1 goldens and state-aware exact fixtures.
Tests
--all-features; cargo clippy --workspace --all-targets --all-features --
-D warnings.
--all-features.
backends, 5 capabilities.
Microsoft Reviewers: Open in CodeFlow