docs(sccm): prepare deterministic client intake corpus (#319) - #339
Conversation
|
@coderabbitai full review Please review the complete #319 preparation range against deterministic intake, physical identity/group membership, exact byte/encoding/limit, collision, rotation, coverage-only, sanitization, and no-native-acceptance constraints. |
|
Warning Review limit reached
Next review available in: 4 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (16)
📒 Files selected for processing (17)
Comment |
|
✅ Action performedFull review finished. Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 46 minutes. |
There was a problem hiding this comment.
🟡 Not ready to approve
The capped evidence fixture currently contains a “[cut]” placeholder and does not match the stated exact 128-byte truncation/bytesCopied contract, undermining the determinism claims of the corpus.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Pull request overview
This PR adds preparation documentation and a synthetic, deterministic SCCM client “intake corpus” intended to support issue #319’s upcoming implementation and tests, without introducing production code or finalizing the #318 public contract.
Changes:
- Add a design/boundary document describing the bounded client source catalog, determinism rules, and proposed (proposal-only) manifest adapter shape for #319.
- Add synthetic client intake fixture directories for key scenarios (complete, missing-root, access-denied, capped, rotations, collision) with proposed
manifest.json,expected.json, and minimal evidence files. - Add fixture README documenting privacy/sanitization rules and intended assertions for replay once #318 contracts are published.
File summaries
| File | Description |
|---|---|
| docs/sccm/preparation/issue-319-client-intake.md | Defines #319 intake catalog, determinism/rotation rules, and fixture/test design boundaries. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/README.md | Documents synthetic fixture intent, privacy constraints, and scenario assertions. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/rotations/manifest.json | Proposed manifest input for rotation grouping determinism scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/rotations/expected.json | Proposed expected output/coverage assertions for rotations scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/rotations/evidence/client-app-enforce/numbered-2/AppEnforce.log.2 | Synthetic CCM-style evidence fragment for numbered rotation. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/rotations/evidence/client-app-enforce/lo/AppEnforce.log.lo_ | Synthetic CCM-style evidence fragment for .lo_ rotation. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/rotations/evidence/client-app-enforce/current/AppEnforce.log | Synthetic CCM-style evidence fragment for current log. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/missing-root/manifest.json | Proposed manifest input for “no roots discovered” coverage scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/missing-root/expected.json | Proposed expected output/requests for missing-root scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/manifest.json | Proposed manifest input representing baseline “complete” capture set. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/expected.json | Proposed expected coverage and physical-artifact assertions for complete scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-windows-update-supplemental/current/ReportingEvents.log | Synthetic supplemental evidence file for complete scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-updates/current/ScanAgent.log | Synthetic CCM-style evidence fragment for updates group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-policy-state/current/CIAgent.log | Synthetic CCM-style evidence fragment for policy-state group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-policy-agent/current/PolicyAgent.log | Synthetic CCM-style evidence fragment for policy-agent group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-location-services-shared/current/LocationServices.log | Synthetic CCM-style evidence fragment for shared location-services artifact. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-identity/current/ClientIDManagerStartup.log | Synthetic CCM-style evidence fragment for identity group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-evaluation/current/CcmEval.log | Synthetic CCM-style evidence fragment for evaluation group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-content/current/CAS.log | Synthetic CCM-style evidence fragment for content group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-ccmsetup/current/ccmsetup.log | Synthetic CCM-style evidence fragment for ccmsetup group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-app-intent/current/AppIntentEval.log | Synthetic CCM-style evidence fragment for app-intent group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/complete/evidence/client-app-enforce/current/AppEnforce.log | Synthetic CCM-style evidence fragment for app-enforce group. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/collision/manifest.json | Proposed manifest input for same-basename / two-root collision scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/collision/expected.json | Proposed expected output/coverage assertions for collision scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/collision/evidence/client-app-enforce/root-b/current/AppEnforce.log | Synthetic CCM-style evidence fragment for collision root-b artifact. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/collision/evidence/client-app-enforce/root-a/current/AppEnforce.log | Synthetic CCM-style evidence fragment for collision root-a artifact. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/capped/manifest.json | Proposed manifest input for capped/truncated fragment scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/capped/expected.json | Proposed expected output/requests and “no diagnosis” constraints for capped scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/capped/evidence/client-content/current/DataTransferService.log | Intended truncated evidence fragment for capped scenario (currently inconsistent). |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/access-denied/manifest.json | Proposed manifest input for access-denied coverage scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/access-denied/expected.json | Proposed expected output/requests and “no diagnosis” constraints for access-denied scenario. |
| crates/cmtraceopen-parser/tests/fixtures/sccm/client/intake/access-denied/evidence/client-policy-state/current/CIAgent.log | Synthetic CCM-style evidence fragment for the captured policy-state artifact in access-denied scenario. |
Review details
- Files reviewed: 16/32 changed files
- Comments generated: 1
- Review effort level: Low
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
|
@coderabbitai full review Please re-review current head |
|
✅ Action performedFull review finished. Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 4 minutes. |
Scope
Issue-scoped preparation for #319 client intake:
LocationServices.logcapture with sorted content/location membershipsThis PR contains preparation docs/fixtures only. It adds no speculative production API and does not reinterpret generic collection-manifest semantics.
Dependency state
Production pure/native #319 intake remains downstream of reviewed #318 wire/evidence contracts. Native Windows configured-root, canonicalization, ACL/reparse, and rotation acceptance remains pending and is not claimed.
Verification
cargo test --locked -p cmtraceopen-parser— 571 passednpx tsc --noEmit— passCodeRabbit and independent semantic review are requested. No issue closure or native acceptance claim.
Refs #319
Refs #317