In-memory cache: maps each AB1 file path to the seq_id_hits computed by the last background
scan. item_from_entry() reads from this cache instead of running alignment on the UI thread.
Walk scan_path recursively, analyse every .ab1 file, and return a
SampleSusceptibilityRecord per file sorted reverse-alphabetically by
sample_id (highest first).
Write records that flag a rare resistance mutation (is_susceptible_rare == Some(false) for
rrl or rrs) to out_path. Same columns as write_ab1_csv plus rrl_susceptible_rare and
rrs_susceptible_rare.