Walk root and return the canonical extension tag of the dominant
source language by file count (e.g. rs, py, ts, go). Returns
None when the project contains fewer than 3 source files in total,
or when no single language holds a clear plurality.
Root-relative variant of is_excluded: only the components belowroot are matched against EXCLUDED_DIRS, so a project legitimately
rooted under an excluded-name ancestor (~/.claude/worktrees/...,
~/Library/..., ~/dev/build/...) is not silently emptied to zero
files (#358). Walkers must pass the same root they hand to WalkDir
so the prefix strips textually without canonicalization cost.