fix: recursive re-check bug
cleaner reverse-search
possibly faster regex for path matching