Remove the binding request FFI exports - #1352
Merged
Merged
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.
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
from
September 30, 2026 21:40
c23d5aa to
1ee00e4
Compare
This was referenced Oct 2, 2026
This PR removes the deprecated private run, spawn, and request-probe FFI exports after Node and .NET move to exact JSON. It deletes the private parser and then removes SDK authoring serde that the parser required, leaving exact-contract parsing and shared engine dispatch in place. Details * Remove private request entry points, adapters, fixtures, and generated binding inventory entries; retain the exact-config request probe. * Remove SDK authoring serde only after deleting its last private parser consumer; keep exact-contract and test-only fixture serde intact. * Retarget native FFI tests to exact 1.0.0 documents and give real-host smoke and streaming tests distinct container IDs. * Clarify result ownership and both one-shot and state-aware handle provenance across the native stream/control safety contracts. Tests * cargo fmt --all -- --check; cargo check -p mxc_ffi --all-targets --all-features --quiet: passed. * cargo clippy -p mxc_ffi --all-targets --all-features --quiet -- -D warnings: passed. * cargo test -p mxc_ffi --all-features --quiet: 86 passed, 4 ignored. * RUSTDOCFLAGS=-D warnings cargo doc -p mxc_ffi --all-features --no-deps --quiet: passed. * cargo check -p mxc_ffi --tests --target x86_64-unknown-linux-gnu --quiet; cargo check -p mxc_ffi --tests --target x86_64-apple-darwin --quiet: passed. Native real-host tests remain ignored. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 30c4f940-9c8e-4d3e-89ff-b1776045bb1c Generated-with: gpt-6-sol
Gudge (MGudgin)
force-pushed
the
user/gudge/remove-binding-json-ffi
branch
from
October 2, 2026 23:48
1ee00e4 to
66db497
Compare
Branden Bonaby (bbonaby)
approved these changes
Oct 2, 2026
Gudge (MGudgin)
added a commit
that referenced
this pull request
Oct 3, 2026
This PR fixes the Linux x64 and arm64 dispatch gate after the exact-JSON FFI migration renamed its LXC routing test. The workflow still selected the removed test name, so the zero-test guard failed after #1353 merged. The rename originated in #1352. Details * Select the existing mxc_spawn_json LXC routing test in the Linux gate. * Document the pinned dispatch coverage and its zero-test failure behavior. Tests * Ubuntu 24.04 WSL: replayed the old selector and reproduced the zero-test guard failure; the corrected workflow step passed all four pinned checks (5 discovery, 1 dispatch, 1 FFI routing, and 10 SDK-helper tests). * cargo test --locked --release --target x86_64-unknown-linux-gnu -p mxc_ffi --test ffi: passed all 11 tests. * git diff --check: passed. Native ARM64 was not verified locally. Generated-with: gpt-6.1-sol Co-authored-by: Gudge <gudge@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c3a4f93-e784-41c7-9286-bdcefcb80465
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 run, spawn, and request-probe FFI
exports after Node and .NET move to exact JSON. It deletes the private
parser and then removes SDK authoring serde that the parser required,
leaving exact-contract parsing and shared engine dispatch in place.
Details
binding inventory entries; retain the exact-config request probe.
consumer; keep exact-contract and test-only fixture serde intact.
real-host smoke test an isolated container ID.
in the touched native, backend, and SDK documentation.
Tests
--all-targets --all-features and -D warnings: passed.
Microsoft Reviewers: Open in CodeFlow