Skip to content

Commit 6b645d5

Browse files
committed
Clarify decoder diagnostic boundaries
Document lm_analyze as a developer-only tool and explain why the sealed, policy-oriented learning-mode decoder does not directly reuse the diagnostic console's real-time display consumer. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dfea4d42-e8a5-42ef-978a-6434e8bf89ec
1 parent 928298c commit 6b645d5

3 files changed

Lines changed: 19 additions & 0 deletions

File tree

src/backends/learning_mode/windows/examples/lm_analyze.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
//! Decode a sealed learning-mode `.etl` into the captureDenials RFC 7464
55
//! JSON text sequence, or dump its raw ETW events for schema discovery.
66
//!
7+
//! This is a developer diagnostic for inspecting captured traces manually.
8+
//! End users and SDK agents do not invoke it: the BaseContainer runner seals
9+
//! and consumes the trace automatically during normal `captureDenials` use.
10+
//!
711
//! Usage:
812
//!
913
//! ```text

src/backends/learning_mode/windows/src/etl_decode.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@
1414
//! [`EtlDenialAnalyzer`] implements the cross-platform
1515
//! [`learning_mode_core::DenialAnalyzer`] trait so the runner and tests can
1616
//! depend on the abstraction rather than this Windows-specific decoder.
17+
//!
18+
//! The diagnostic console has a separate real-time, display-oriented ETW
19+
//! consumer in `tools/mxc_diagnostic_console`. It is a binary-private module
20+
//! that owns trace sessions and channels arbitrary provider events to a UI.
21+
//! This backend instead reads sealed files synchronously, filters a fixed
22+
//! provider/event vocabulary, bounds results, and propagates target decode
23+
//! failures. Depending on the tool would invert the workspace dependency
24+
//! direction; shared generic TDH primitives can be extracted later if another
25+
//! runtime consumer needs them.
1726
1827
use std::collections::HashSet;
1928
use std::os::windows::ffi::OsStrExt;

src/backends/learning_mode/windows/src/extractors.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010
//! de-duplicates them into the public
1111
//! [`learning_mode_core::DeniedResource`].
1212
//!
13+
//! These policy-oriented extractors intentionally do not reuse the diagnostic
14+
//! console's display mapping. The console accepts broad real-time provider
15+
//! traffic and formats it for humans; this module accepts only the
16+
//! learning-mode providers and produces the stable cross-platform denial
17+
//! model used for policy generation.
18+
//!
1319
//! ## Event vocabulary
1420
//!
1521
//! The learning-mode ETL carries a set of event IDs that map onto the

0 commit comments

Comments
 (0)