replace `dive` with faster `finder-files`, simplified analyze()