fn discover_files(root: &Path, lang: Language) -> Result<Vec<PathBuf>, IcbError>
Walk a directory and collect every file whose extension matches the language filter.