Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
457 commits
Select commit Hold shift + click to select a range
a988ac9
test(sccm): resolve supersedes against catalog inventory
adamgell Jul 31, 2026
92a090b
fix(sccm): fail closed on malformed validator shapes
adamgell Jul 31, 2026
6a04e9f
test(sccm): expose cbsLog ConfigMgr sourceVersion gap
adamgell Jul 31, 2026
271069f
fix(sccm): bind cbsLog sourceVersion to null
adamgell Jul 31, 2026
f997505
test(sccm): expose keyless observation phase claim
adamgell Jul 31, 2026
ecf73d9
fix(sccm): null keyless observation phase claims
adamgell Jul 31, 2026
590608b
test(sccm): pin scalar counterpartReadyFacts rejection
adamgell Jul 31, 2026
857cee2
test(sccm): expose duplicate and overlapping citations
adamgell Jul 31, 2026
f179d31
fix(sccm): reject overlapping evidence citation ranges
adamgell Jul 31, 2026
5dcc1f5
refactor(sccm): return correlation checks as results
adamgell Jul 31, 2026
0ec6aba
test(sccm): expose stale metadata on noncapture artifacts
adamgell Jul 31, 2026
eb78c2c
fix(sccm): reject noncapture physical metadata
adamgell Jul 31, 2026
9669962
test(sccm): probe decoded projection privacy leaks
adamgell Jul 31, 2026
96898b6
fix(sccm): inspect decoded projection strings fail closed
adamgell Jul 31, 2026
6ccb367
fix(sccm): alias helper probe type for clippy
adamgell Jul 31, 2026
a1d34a1
fix(sccm): apply rustfmt to the updates contract test
adamgell Jul 31, 2026
0bd7a17
test(sccm): probe unbound fixture refs and ownership
adamgell Jul 31, 2026
56ebce4
fix(sccm): bind fixture refs to side and upstream state
adamgell Jul 31, 2026
a604401
test(sccm): probe neutralized guard input states
adamgell Jul 31, 2026
29872ee
fix(sccm): require every guard demonstrated by inputs
adamgell Jul 31, 2026
42f9f32
test(sccm): pin opposite-order reorder evidence
adamgell Jul 31, 2026
f155064
fix(sccm): encode ordered evidence in reorder fixtures
adamgell Jul 31, 2026
f995f20
Merge pull request #374 from adamgell/codex/sccm-329-distribution-poi…
adamgell Jul 31, 2026
affc63f
test(sccm): probe reorder manifest and ref divergence
adamgell Jul 31, 2026
886b062
Merge pull request #379 from adamgell/codex/sccm-331-hierarchy-replic…
adamgell Jul 31, 2026
516b4fa
Merge pull request #355 from adamgell/codex/sccm-325-inventory-compli…
adamgell Jul 31, 2026
38a7d1e
Merge pull request #377 from adamgell/codex/sccm-330-software-update-…
adamgell Jul 31, 2026
842965d
fix(sccm): enforce reorder manifests in the validator
adamgell Jul 31, 2026
fe28190
test(sccm): probe declarative required outputs
adamgell Jul 31, 2026
1679045
Merge pull request #396 from adamgell/codex/sccm-335-pure-intake
adamgell Jul 31, 2026
8c5aca3
fix(sccm): make required outputs executable checks
adamgell Jul 31, 2026
72c9798
docs(sccm): document bound refs and reorder evidence
adamgell Jul 31, 2026
5ec1f5d
style(sccm): drop redaction check subsumed by guards
adamgell Jul 31, 2026
f7028ff
Merge skeleton 16790457 into codex/sccm-333-review-fixes-cd9a-r2
adamgell Jul 31, 2026
7655826
Merge pull request #380 from adamgell/codex/sccm-332-provider-admin-s…
adamgell Jul 31, 2026
cc7d2b5
docs(sccm): sharpen the #329 pending distinction
adamgell Jul 31, 2026
af1214d
test(sccm): probe sentence-final dotted hostname leaks
adamgell Jul 31, 2026
a9fc487
fix(sccm): trim sentence-final periods before host test
adamgell Jul 31, 2026
e3623c5
test(sccm): probe SID-shaped public identifiers
adamgell Jul 31, 2026
325b29f
fix(sccm): reject SID-shaped public identifiers
adamgell Jul 31, 2026
59a6896
fix(sccm): validate citation ranges before uniqueness walk
adamgell Jul 31, 2026
7eb024b
Merge skeleton 7655826f into codex/sccm-328-reconcile-r4
adamgell Jul 31, 2026
ef0f431
test(sccm): bind MP analysis to flipped mpcontrol row
adamgell Jul 31, 2026
4a2d926
fix(sccm): treat mpcontrol as site-server subject evidence
adamgell Jul 31, 2026
dc87d77
test(sccm): probe network-identifier shaped tokens
adamgell Jul 31, 2026
8cd5501
fix(sccm): reject any multi-dot network-shaped token
adamgell Jul 31, 2026
e8b3a00
test(sccm): probe non-NT SID authority variants
adamgell Jul 31, 2026
89d538b
fix(sccm): reject generic SID-shaped runs on public surfaces
adamgell Jul 31, 2026
c7b1e8e
test(sccm): pin bracket prefixes and aliased observations
adamgell Jul 31, 2026
495a36a
fix(sccm): bound tokens by body edges, disjoint observations
adamgell Jul 31, 2026
2611602
Merge pull request #385 from adamgell/codex/sccm-333-correlation-cont…
adamgell Jul 31, 2026
5862eb5
test(sccm): request the rejected record's owning group
adamgell Jul 31, 2026
751eac9
test(sccm): probe two-subauthority SID free text
adamgell Aug 1, 2026
7fbab0c
test(sccm): pin rotated capture source provenance
adamgell Aug 1, 2026
b8da991
fix(sccm): screen SID runs per free-text token
adamgell Aug 1, 2026
7e6ed7b
fix(sccm): request the rejected record's owning group
adamgell Aug 1, 2026
ccda4df
fix(sccm): name the rotated file in capture provenance
adamgell Aug 1, 2026
6390797
Merge pull request #375 from adamgell/codex/sccm-326-review-fix
adamgell Aug 1, 2026
e56ad38
Merge pull request #381 from adamgell/codex/sccm-334-advanced-role-so…
adamgell Aug 1, 2026
d096450
Merge pull request #351 from adamgell/codex/sccm-323-software-updates…
adamgell Aug 1, 2026
531e8e8
test(sccm): pin evidence identity and body framing
adamgell Aug 1, 2026
f8ff742
Merge pull request #393 from adamgell/codex/sccm-328-mp-analysis
adamgell Aug 1, 2026
d1d163b
fix(sccm): compare evidence by identity, close bodies
adamgell Aug 1, 2026
0006afa
test(ccm): freeze the ambiguous time-tail table
adamgell Aug 1, 2026
c0486b3
test(sccm): pin outcome claims to record body tokens
adamgell Aug 1, 2026
eab83fa
fix(ccm): validate signless time-tail offsets
adamgell Aug 1, 2026
63e4ad4
fix(sccm): bind outcome claims to delimited body tokens
adamgell Aug 1, 2026
2dd2e4e
Merge pull request #352 from adamgell/codex/sccm-324-task-sequence-co…
adamgell Aug 1, 2026
065b8cb
Merge pull request #408 from adamgell/codex/ccm-ambiguous-time-tail
adamgell Aug 1, 2026
cc6bf79
ci: gate SCCM integration branch
adamgell Aug 1, 2026
56818ac
test(sccm): pin server identity provenance
adamgell Aug 1, 2026
2e0bd69
fix(sccm): scope server identities by provenance
adamgell Aug 1, 2026
b3ebb5b
fix(sccm): order server artifacts by provenance
adamgell Aug 1, 2026
27544ff
Merge pull request #429 from adamgell/codex/sccm-integration-ci-gate
adamgell Aug 1, 2026
4a33062
Merge remote-tracking branch 'origin/codex/parser-family-skeleton' in…
adamgell Aug 1, 2026
2d3c2b0
Merge pull request #430 from adamgell/codex/sccm-335-host-identity-re…
adamgell Aug 1, 2026
681a070
fix(sccm): map server intake artifact requests (#335)
adamgell Aug 1, 2026
d5beb5b
fix(sccm): reject overlapping evidence ranges in the spine (#418)
adamgell Aug 2, 2026
34c3aba
fix(sccm): bound opaque ids and harden finding deserialization (#404)
adamgell Aug 2, 2026
d1bb525
feat(sccm): assess pure client intake coverage (#394)
adamgell Aug 2, 2026
a48c824
fix(sccm): harden server intake coverage
adamgell Aug 2, 2026
e608717
fix(sccm): harden server intake contract
adamgell Aug 2, 2026
d07f461
fix(sccm): close server intake review gaps
adamgell Aug 2, 2026
813cfb2
test(sccm): close server intake oracle gaps
adamgell Aug 2, 2026
0f892a8
fix(sccm): retain safe forward intake provenance
adamgell Aug 2, 2026
82cc77c
fix(sccm): close opaque intake boundaries
adamgell Aug 2, 2026
ceb487e
fix(sccm): decouple future role coverage
adamgell Aug 2, 2026
b433d07
test(sccm): require early server intake bounds
adamgell Aug 2, 2026
ad93b11
fix(sccm): enforce server preflight bounds
adamgell Aug 2, 2026
07ee97c
fix(sccm): align server intake review contracts
adamgell Aug 2, 2026
8daad4e
fix(sccm): keep future source handles production-only
adamgell Aug 2, 2026
976ec2a
fix(sccm): honor declared server payload encoding
adamgell Aug 2, 2026
0b37e7a
Merge pull request #434 from adamgell/codex/sccm-335-safety-repair-root
adamgell Aug 2, 2026
c93ef45
test(sccm): drive site core from server intake
adamgell Aug 2, 2026
55ad437
fix(sccm): harden client intake and CCM ambiguity
adamgell Aug 2, 2026
b9c2653
feat(sccm): analyze site core from server intake
adamgell Aug 2, 2026
eb03235
docs(sccm): make client intake ceiling authoritative (#319)
adamgell Aug 2, 2026
2d40321
test(sccm): strengthen site core isolation assertions
adamgell Aug 2, 2026
074b412
fix(sccm): address client intake review findings
adamgell Aug 2, 2026
0771c2c
test(sccm): expose site core review blockers
adamgell Aug 2, 2026
3b461a2
feat(sccm): preserve client capture gap coverage (#319)
adamgell Aug 2, 2026
ce774fd
Merge pull request #435 from adamgell/codex/sccm-319-client-hardening…
adamgell Aug 2, 2026
8dce4f6
fix(sccm): validate client capture gap boundaries (#319)
adamgell Aug 2, 2026
fd52c4c
fix(sccm): validate client intake decoding (#319)
adamgell Aug 2, 2026
c3a7302
fix(sccm): close site core evidence contracts
adamgell Aug 2, 2026
bb43422
test(sccm): reject delimiter-adjacent profile labels
adamgell Aug 2, 2026
ded859a
fix(sccm): close delimiter-separated profile fields
adamgell Aug 2, 2026
26a9a5e
Merge pull request #436 from adamgell/codex/sccm-319-client-cap-gap-c…
adamgell Aug 2, 2026
8a0a603
test(sccm): pin native manifest reader contract (#319)
adamgell Aug 2, 2026
c9cfc3a
test(sccm): expose site core review gaps
adamgell Aug 2, 2026
daa7e0b
fix(sccm): reject unscoped site core evidence
adamgell Aug 2, 2026
be8f9f5
test(sccm): expose foreign source scope borrowing
adamgell Aug 2, 2026
142d3aa
fix(sccm): isolate site core request attribution
adamgell Aug 2, 2026
3a52973
test(sccm): expose undeclared status coverage gap
adamgell Aug 2, 2026
1ea4e23
fix(sccm): materialize missing status coverage
adamgell Aug 2, 2026
7fdc1c6
feat(sccm): read native client manifests (#319)
adamgell Aug 2, 2026
849df5a
test(sccm): expose undeclared component coverage
adamgell Aug 2, 2026
8999216
fix(sccm): materialize missing component coverage
adamgell Aug 2, 2026
8294729
test(sccm): expose native manifest physical cap gaps
adamgell Aug 2, 2026
eecdb30
test(sccm): expose malformed peer coverage loss
adamgell Aug 2, 2026
607c732
fix(sccm): bind native manifest evidence to verified roots
adamgell Aug 2, 2026
3a12cb8
fix(sccm): retain malformed peer coverage findings
adamgell Aug 2, 2026
8a92e4c
test(sccm): cover Windows handle-bound manifest reads
adamgell Aug 2, 2026
9a030da
feat(sccm): bind Windows manifest reads to handles
adamgell Aug 2, 2026
7027287
test(sccm): expose unconfirmed site-core phase
adamgell Aug 2, 2026
87e2c18
fix(sccm): mark unconfirmed site-core phase
adamgell Aug 2, 2026
c3f1c94
test(sccm): cover Windows native manifest error mapping
adamgell Aug 2, 2026
84079b8
fix(sccm): preserve native manifest open errors
adamgell Aug 2, 2026
94195dc
Merge pull request #439 from adamgell/codex/sccm-327-site-core-symmet…
adamgell Aug 2, 2026
310e7d3
test(sccm): expose native reader review gaps
adamgell Aug 2, 2026
daf3c8c
test(sccm): expose final descriptor flag leak
adamgell Aug 2, 2026
d14ba3d
fix(sccm): bound native manifest evidence admission
adamgell Aug 2, 2026
0eec38e
test(sccm): pin native manifest nofollow error
adamgell Aug 2, 2026
b69d5a1
fix(sccm): remove unused non-native test opener
adamgell Aug 2, 2026
c33bab7
test(sccm): prove manifest caps precede evidence reads
adamgell Aug 2, 2026
f6376cf
test(sccm): require reusable native projection
adamgell Aug 2, 2026
aad5e04
fix(sccm): reuse validated native projection
adamgell Aug 2, 2026
efed80b
test(sccm): count native intake projection passes
adamgell Aug 2, 2026
afb06ba
test(sccm): prove one native intake projection pass
adamgell Aug 2, 2026
1458575
fix(sccm): gate projection counter to Unix tests
adamgell Aug 2, 2026
c4e4c9b
fix(sccm/test): open fixture directory with READ_CONTROL|WRITE_DAC fo…
Copilot Aug 2, 2026
7d33618
test(sccm): prove source caps precede evidence reads
adamgell Aug 2, 2026
bcb4ac5
fix(sccm): import Windows fixture rights from storage
adamgell Aug 2, 2026
244448b
test(sccm): normalize Windows link fixture ACLs
adamgell Aug 2, 2026
53c4933
test(sccm): exercise physical byte overflow guard
adamgell Aug 2, 2026
4319097
Merge pull request #440 from adamgell/codex/native-manifest-ntstatus-…
adamgell Aug 2, 2026
76784c3
test(sccm): reject cyclic advanced-role supersession (#442)
adamgell Aug 2, 2026
4684eb4
fix(sccm): bind Management Point analysis to canonical intake (#443)
adamgell Aug 2, 2026
c622c9e
feat(sccm): add bounded client discovery normalization (#444)
adamgell Aug 2, 2026
1bba619
fix(sccm): preserve bounded discovery coverage correctness (#454)
adamgell Aug 3, 2026
09aafd4
fix(sccm): bind server coverage to canonical topology (#455)
adamgell Aug 3, 2026
1125089
test(sccm): require sealed client evidence admission
adamgell Aug 3, 2026
c863233
feat(sccm): seal canonical client evidence admission
adamgell Aug 3, 2026
345422e
test(sccm): expose client admission framing and cap gaps
adamgell Aug 3, 2026
4c660f8
fix(sccm): bound client evidence admission
adamgell Aug 3, 2026
30f8533
test(sccm): expose aggregate client record cap bypass
adamgell Aug 3, 2026
d7bb629
fix(sccm): enforce aggregate client record cap
adamgell Aug 3, 2026
dc07cf9
test(sccm): expose client evidence authority gaps
adamgell Aug 3, 2026
32ee8f6
fix(sccm): bind client evidence to intake authority
adamgell Aug 3, 2026
2b196e0
test(sccm): expose client admission authority gaps
adamgell Aug 3, 2026
2d18af8
fix(sccm): enforce client evidence source authority
adamgell Aug 3, 2026
aebe81c
test(sccm): expose UTF-32 BOM prefix confusion
adamgell Aug 3, 2026
d2bcd12
fix(sccm): reject unsupported Unicode BOMs
adamgell Aug 3, 2026
5e5b8ce
test(sccm): expose mixed setup coverage authority
adamgell Aug 3, 2026
3d8584c
fix(sccm): isolate raw CCM group readiness
adamgell Aug 3, 2026
ec38be9
test(sccm): expose forged policy extraction authority
adamgell Aug 3, 2026
8d8af0a
test(sccm): bind extraction to exact artifact evidence
adamgell Aug 3, 2026
37309e9
fix(sccm): seal client key extraction authority
adamgell Aug 3, 2026
a6bdeeb
test(sccm): pin unsealed native intake projection
adamgell Aug 3, 2026
bb4571c
fix(sccm): keep native intake projection unsealed
adamgell Aug 3, 2026
7da7d8d
test(sccm): pin independent admission seal cap
adamgell Aug 3, 2026
d705778
test(sccm): expose admitted authority review gaps
adamgell Aug 3, 2026
0ff8adf
fix(sccm): reserve family trust for admitted profiles
adamgell Aug 3, 2026
7d63f88
fix(sccm): enforce aggregate CCM record budget
adamgell Aug 3, 2026
f21ad29
refactor(sccm): confine family trust to sealed admission
adamgell Aug 3, 2026
b199a53
test(ccm): expose observer cleanup after panic
adamgell Aug 3, 2026
f6c458a
test(ccm): reset bounded scan observation on unwind
adamgell Aug 3, 2026
05f5d5e
fix(sccm): isolate missing encoding admission gaps
adamgell Aug 3, 2026
d514b06
feat(sccm): add client inventory compliance metering state machines
adamgell Aug 4, 2026
3ce89b6
feat(sccm): start sealed client updates analyzer
adamgell Aug 4, 2026
8f7bf6a
feat(sccm): reduce client update phases
adamgell Aug 4, 2026
5d3ca68
feat(sccm): complete client updates diagnosis
adamgell Aug 4, 2026
f5de9dc
fix(sccm): harden client updates evidence contract
adamgell Aug 4, 2026
f7d6054
feat(sccm): analyze client inventory compliance and metering
adamgell Aug 4, 2026
810c322
fix(sccm): close client extended analyzer review gaps
adamgell Aug 4, 2026
b81eff2
test(sccm): freeze full client analyzer outputs
adamgell Aug 4, 2026
0479384
test(sccm): pin declared deployment transaction outcomes
adamgell Aug 1, 2026
0715afc
feat(sccm): reduce client deployment transactions
adamgell Aug 1, 2026
37b17a5
test(sccm): pin deployment coverage, observations, findings
adamgell Aug 1, 2026
fe551e9
feat(sccm): emit deployment coverage, gaps, and findings
adamgell Aug 1, 2026
bdbf0cc
test(sccm): guard deployment identity, order, and keys
adamgell Aug 1, 2026
832bc03
test(sccm): pin the deployment public projection
adamgell Aug 1, 2026
72ccfdd
test(sccm): pin the observed deployment extraction profile
adamgell Aug 1, 2026
c093e04
feat(sccm): validate families only where records were read
adamgell Aug 1, 2026
a14ec72
test(sccm): reproduce four deployment review defects
adamgell Aug 1, 2026
8af1e77
test(sccm): reject electing one of several terminal records
adamgell Aug 1, 2026
2fcbe7e
fix(sccm): admit only complete records and cite every terminal
adamgell Aug 1, 2026
92a5a8d
test(sccm): pin the declared profile selection state
adamgell Aug 1, 2026
3c0adbb
feat(sccm): report the deployment profile selection state
adamgell Aug 1, 2026
8374585
test(sccm): pin the repeated content-request citation
adamgell Aug 1, 2026
11640bd
fix(sccm): cite the earliest orderable content request
adamgell Aug 1, 2026
51b7195
fix(sccm): elect chain records against the chain
adamgell Aug 1, 2026
8687417
feat(sccm): analyze client deployment evidence
adamgell Aug 4, 2026
eb1b8ba
fix(sccm): fail closed on deployment ambiguity
adamgell Aug 4, 2026
61a4256
fix(sccm): recover ordered deployment outcomes
adamgell Aug 4, 2026
58ceeb9
fix(sccm): bind update facts to physical sources
adamgell Aug 4, 2026
408f982
fix(sccm): canonicalize client update rotations
adamgell Aug 4, 2026
2022b02
feat(sccm): bind DP sources to sealed server intake (#458)
adamgell Aug 3, 2026
acf645d
feat(sccm): define optional WSUS supplemental intake contract (#459)
adamgell Aug 3, 2026
936daac
feat(sccm): analyze software update point workflow
adamgell Aug 4, 2026
ca9121c
fix(sccm): harden software update point analysis
adamgell Aug 4, 2026
b1c0905
fix(sccm): poison unusable SUP chronology
adamgell Aug 4, 2026
a2f6bb0
feat(sccm): analyze distribution point content lifecycle
adamgell Aug 4, 2026
adedf2d
fix(sccm): cite decisive DP contradiction evidence
adamgell Aug 4, 2026
346d658
feat(sccm): add client policy state analysis
adamgell Aug 4, 2026
a313e66
fix(sccm): prioritize policy chronology conflicts
adamgell Aug 4, 2026
dcc8e56
fix(sccm): confirm only ordered policy successes
adamgell Aug 4, 2026
a736ccb
test(sccm): reduce admitted unorderable deployments
adamgell Aug 4, 2026
8da65cb
feat(sccm): add production client health correlation
adamgell Aug 4, 2026
94ca828
fix(sccm): preserve client health chain authority
adamgell Aug 4, 2026
dfc0026
fix(sccm): resolve newest client health attempt
adamgell Aug 4, 2026
8c3a48a
fix(sccm): reject equal-time health key conflicts
adamgell Aug 4, 2026
320267e
fix(sccm): expose equal-time health tuple conflicts
adamgell Aug 4, 2026
d8a2589
feat(sccm): analyze sealed task sequence evidence
adamgell Aug 4, 2026
2c2db83
fix(sccm): harden task sequence evidence reduction
adamgell Aug 4, 2026
68e3baa
feat(sccm): analyze hierarchy replication workflows
adamgell Aug 4, 2026
5dca3db
fix(sccm): seal hierarchy replication authority
adamgell Aug 4, 2026
b8f247c
fix(sccm): request omitted hierarchy target evidence
adamgell Aug 4, 2026
0118a6b
fix(sccm): require each hierarchy target source
adamgell Aug 4, 2026
ed7aa25
fix(sccm): prioritize missing hierarchy targets
adamgell Aug 4, 2026
a110fed
fix(sccm): require usable hierarchy targets
adamgell Aug 4, 2026
de89679
fix(sccm): close provider admin service review gaps
adamgell Aug 4, 2026
7c95922
fix(sccm): harden provider admin review contracts
adamgell Aug 4, 2026
76deb04
feat(sccm): add production evidence correlation
adamgell Aug 4, 2026
0fb7106
test(sccm): reconcile integrated source contracts
adamgell Aug 4, 2026
cedda7f
style: apply workspace rustfmt
adamgell Aug 4, 2026
47068b0
test(sccm): canonicalize health oracle JSON
adamgell Aug 4, 2026
ce1d330
fix(sccm): use typed SUP rotation guard
adamgell Aug 4, 2026
112bc4b
test(sccm): canonicalize inventory oracle JSON
adamgell Aug 4, 2026
c7d7085
docs(sccm): plan main integration
adamgell Aug 4, 2026
b71a976
merge: integrate current main into SCCM diagnostics
adamgell Aug 4, 2026
5d20d4a
docs(sccm): record inherited fmt baseline
adamgell Aug 4, 2026
b11093f
fix(ci): satisfy Rust 1.97 hierarchy lint
adamgell Aug 4, 2026
27c28c0
docs(sccm): plan native product path rework
adamgell Aug 4, 2026
b2fe563
feat(sccm): add native diagnostics workspace
adamgell Aug 4, 2026
0c40a97
feat(sccm): add native discovery and bounded capture
adamgell Aug 4, 2026
e0591d2
fix(sccm): register native workspace menu
adamgell Aug 4, 2026
0f8e4d6
fix(sccm): block capture without detected roles
adamgell Aug 4, 2026
19da86e
fix(sccm): preserve native coverage semantics
adamgell Aug 4, 2026
6fbf1f0
fix(sccm): detect client from CcmExec service
adamgell Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@
# Real-world log fixtures are byte-sensitive (UTF-8 BOM + CRLF); never normalize them.
src-tauri/tests/fixtures/** -text

# SCCM parser fixtures are byte-sensitive evidence; never normalize them.
crates/cmtraceopen-parser/tests/fixtures/** -text
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,16 @@ All notable changes to this project will be documented in this file.

- **Intune Device Inventory log support (#354)**: CMTrace Open now discovers and parses the complete Microsoft Device Inventory Agent log family under `C:\Program Files\Microsoft Device Inventory Agent\Logs` instead of falling back to the generic timestamped or plain-text readers. Three wire formats are recognized by content: the **harvester** dialect (`IntuneInventoryHarvesterLog.log` and its timestamped rotations), where the producer's bracketed `[Information]`/`[Warning]`/`[Error]` level is authoritative and is no longer left in the message or overridden by keyword inference; the **Inventory Adaptor** dialect (`InventoryAdaptor.log` and the literal trailing-underscore `InventoryAdaptor.log_` rotation), which now keeps its timestamp and process ID and holds continuation JSON in the record that introduced it; and a **rotation-failure** dialect, where a .NET exception and its stack trace stay in one logical record. The Device Inventory Agent folder is available from the known-sources menu, folder aggregation includes `.log`, timestamped rotations, and `.log_`, and Windows file association covers the producer's literal `.log_` extension. Real-time tailing preserves logical records across appends.

### Fixed

- **SCCM server coverage topology (#335)**: Normalized server coverage rows now
retain optional opaque producer-host and workflow-subject handles, preventing
artifacts from distinct physical producers or workflow subjects from
collapsing into one row. Site-core analysis also rejects coverage whose
topology does not match its artifact membership and emits explicit coverage
gaps instead of shaping results from incongruent input. The additive fields
remain schema v1 and are omitted from JSON when absent.

## [1.5.0] - 2026-07-27

### Added
Expand Down
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions crates/cmtraceopen-parser/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,6 @@ encoding_rs = "0.8"
log = "0.4"
thiserror = "2"
base64 = "0.22"
sha2 = "0.11"

[dev-dependencies]
3 changes: 1 addition & 2 deletions crates/cmtraceopen-parser/src/esp/redaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1418,8 +1418,7 @@ fn redact_text_for_context(value: &str, context: TextRedactionContext) -> String
// the MAC matcher could pick up decimal sub-authority pairs inside it, and
// IPv4 runs before IPv6 so an IPv4-mapped IPv6 address cannot leak its dotted
// tail.
let redacted =
azure_storage_credential_pattern().replace_all(&redacted, "${prefix}[redacted]");
let redacted = azure_storage_credential_pattern().replace_all(&redacted, "${prefix}[redacted]");
let redacted = ipv4_address_pattern().replace_all(&redacted, REDACTED);
let redacted = mac_address_pattern().replace_all(&redacted, REDACTED);
let redacted = redact_ipv6_addresses(&redacted);
Expand Down
5 changes: 4 additions & 1 deletion crates/cmtraceopen-parser/src/esp/reducer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3137,7 +3137,10 @@ fn sidecar_app_state_observation(
ordinal: usize,
observation: &EspRegistryObservation,
) -> Option<SidecarAppStateObservation> {
let field = if observation.value_name.eq_ignore_ascii_case("InstallationState") {
let field = if observation
.value_name
.eq_ignore_ascii_case("InstallationState")
{
SidecarAppField::InstallationState
} else if observation.value_name.eq_ignore_ascii_case("ErrorHresult") {
SidecarAppField::ErrorHresult
Expand Down
5 changes: 4 additions & 1 deletion crates/cmtraceopen-parser/src/esp/timeline.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,10 @@ mod tests {
// "...05.250Z" before "...05Z" because '.' (0x2E) < 'Z' (0x5A), which
// inverts chronology; the parsed-instant key must keep 05 before 05.250.
let entries = vec![
(0usize, timeline_entry("timeline|a|b|0", "2026-07-15T12:00:05Z")),
(
0usize,
timeline_entry("timeline|a|b|0", "2026-07-15T12:00:05Z"),
),
(
1usize,
timeline_entry("timeline|a|b|1", "2026-07-15T12:00:05.250Z"),
Expand Down
1 change: 1 addition & 0 deletions crates/cmtraceopen-parser/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ pub mod esp;
pub mod intune;
pub mod models;
pub mod parser;
pub mod sccm;
pub(crate) mod wire;
Loading
Loading