ScanOptions::min_file_size is documented as // skip tiny files for dedup purposes, but it's applied inside the walk:
let size = meta.len();
if size < opts.min_file_size {
continue;
}
So filtered files never reach the rules engine, the risk model, the report, or files_scanned — not just dedup. With the default of 1 that quietly drops every zero-byte file. Anyone raising it to speed dedup up (say 1 MB) would also hide every small cache file from classification, which isn't what the field says it does.
Either move the check into dedup::find_duplicates where it was meant to live, or rename the field to reflect that it filters the whole scan.
crates/diskern-core/src/scanner.rs:105
ScanOptions::min_file_sizeis documented as// skip tiny files for dedup purposes, but it's applied inside the walk:So filtered files never reach the rules engine, the risk model, the report, or
files_scanned— not just dedup. With the default of 1 that quietly drops every zero-byte file. Anyone raising it to speed dedup up (say 1 MB) would also hide every small cache file from classification, which isn't what the field says it does.Either move the check into
dedup::find_duplicateswhere it was meant to live, or rename the field to reflect that it filters the whole scan.crates/diskern-core/src/scanner.rs:105