Skip to main content

Module findings

Module findings 

Source
Expand description

Structured, prioritized findings over a ProfileReport (#375).

A report carries every metric, and says nothing about which of them deserves attention. Answering that by hand means inventing thresholds at every call site. FindingPolicy::evaluate (or ProfileReport::findings with the default thresholds) turns the metrics a report already holds into a short, deterministic list of Findings.

Findings are interpretation, not data cleaning: each one names what was observed and the evidence behind it, and none carries a raw cell value.

§Computed, not stored

Findings are derived from the report on demand and are not part of the serialized report. A report read back from its document yields the same findings as the report that wrote it, and changing a threshold does not require re-profiling or rewriting stored reports.

§Absence is not a clean result

A rule whose input the report does not carry, such as patterns that were never detected or a quality assessment that was not requested, produces no finding, and is listed in FindingsResult::not_evaluated with the reason. An empty findings list means “looked, found nothing” only for the rules that are not listed there.

§Scope

Findings describe the rows the report read. When the scan stopped early or sampled, a FindingCode::PartialScan finding says so; the other findings are not withheld, because what was observed is still true of those rows. Use a QualityPolicy for pass/fail decisions about the whole source.

Structs§

Finding
Something in the report that deserves attention.
FindingPolicy
The thresholds findings apply.
FindingsResult
What FindingPolicy::evaluate found.
UnevaluatedRule
A rule that could not be evaluated, and why.

Enums§

EvidenceValue
One value a finding read from the report, or a threshold it applied.
FindingCode
Stable identifier for the rule a finding came from.
FindingPolicyError
A finding threshold that cannot be applied as written.
NotEvaluatedReason
Why a rule produced no finding without having looked.
Severity
How much attention a finding asks for.

Constants§

DEFAULT_MIXED_TYPES_PERCENTAGE
Default for FindingPolicy::mixed_types_percentage. Matches the mixed types flag in the Python binding’s to_llm_context().
DEFAULT_NULL_HEAVY_PERCENTAGE
Default for FindingPolicy::null_heavy_percentage. Matches the null-heavy flag in the Python binding’s to_llm_context().