Path.resolve() raises RuntimeError on circular symlinks. Catch RuntimeError and OSError, fall back to Path.absolute(). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>