1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Port: render analysis output.
//!
//! Reporters receive the finalised analysis result and write it — to
//! stdout, a file, a SARIF envelope, an HTML dashboard. Each output
//! format is an Adapter implementing this port.
/// A reporter emits analysis results in its format-specific way.
///
/// The concrete payload type is intentionally opaque at this phase —
/// the Application layer hasn't yet produced a consolidated `Finding`
/// aggregate, and designing a large payload struct now would be
/// speculative. The full payload type lands when Phase 5 moves the
/// report dispatcher into the Application layer.
/// Placeholder for the finished analysis payload.
///
/// In Phase 5, this becomes a concrete Domain type aggregating Finding,
/// QualityScore and diagnostic metadata. For now it carries a sentinel
/// string so the port compiles and can be mocked by tests.
/// Errors that a reporter may report.