Add capture ETL retention option - #774
Open
Richie Gomez (richiemsft) wants to merge 1 commit into
Open
Conversation
Add captureDenials.retainEtl with default cleanup, retained ETL metadata, failure-path preservation, generated contracts, SDK metadata, documentation, and tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 52e48fee-23e1-4b05-803c-522812fcdda2
Richie Gomez (richiemsft)
requested review from
a team
and
a balanced review from Copilot
August 7, 2026 18:10
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds optional retention of sensitive ETL traces produced by ProcessContainer denial capture.
Changes:
- Adds
retainEtlacross wire, domain, schema, and Rust SDK policy models. - Preserves retained traces and reports
etlPaththrough CLI, Rust/FFI, and C# metadata. - Improves teardown error propagation and adds retention/default-cleanup tests and documentation.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
src/core/wxc/src/main.rs |
Updates audit validation test data. |
src/core/wxc_common/src/wire.rs |
Adds the wire-format retention option. |
src/core/wxc_common/src/sandbox_process.rs |
Preserves teardown details in timeout errors. |
src/core/wxc_common/src/models.rs |
Adds domain configuration and ETL metadata. |
src/core/wxc_common/src/config_parser.rs |
Parses retainEtl with a false default. |
src/core/mxc-sdk/src/sandbox.rs |
Updates SDK metadata tests. |
src/core/mxc-sdk/README.md |
Documents Rust SDK retention usage. |
src/core/mxc_engine/src/policy.rs |
Exposes and emits the Rust policy option. |
src/backends/appcontainer/common/src/base_container_runner.rs |
Implements ETL retention, cleanup, and error reporting. |
sdk/node/src/generated/wire.ts |
Regenerates the TypeScript wire contract. |
sdk/dotnet/README.md |
Documents retained ETL metadata. |
sdk/dotnet/Microsoft.Mxc.Sdk/SandboxOutputMetadata.cs |
Exposes EtlPath in C#. |
sdk/dotnet/Microsoft.Mxc.Sdk.Tests/MxcSandboxTests.cs |
Tests C# metadata deserialization. |
schemas/dev/mxc-config.schema.0.8.0-dev.json |
Adds retainEtl to the dev schema. |
docs/schema.md |
Documents the configuration field. |
docs/learning-mode/capabilities.md |
Documents retention behavior and security responsibilities. |
Contributor
Author
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
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.
📖 Description
Add
processContainer.captureDenials.retainEtlso callers can preserve the sealed ETL trace after canonical denial analysis.false, preserving the existing delete-after-analysis behavior.etlPathcapture metadata and in the CLI pointer.🔗 References
Closes #772
🔍 Validation
wxc_common,mxc_engine,appcontainer_common,mxc-sdk,wxc, andmxc_ffiusing the pinned Rust 1.93 toolchain.✅ Checklist
Cargo.lock, thedependency-feed-checkcheck passes (see docs/pull-requests.md)📋 Issue Type
Microsoft Reviewers: Open in CodeFlow