import: close the review gaps in repo-scoped discovery
Commit

- The Cursor collision walk now fails closed when it cannot list a candidate directory or stat a candidate entry, instead of reporting a complete scan. Gone entries, dangling links and symlink loops stay conclusive. The refusal names what could not be checked and how to import anyway with --path.
- repoMatches no longer rejects descendants whose name starts with "..", such as <repo>/..cache.
- normalizePath resolves the longest existing ancestor of a missing path, so a session recorded in a since-deleted subdirectory through a symlinked spelling of the repo still matches.
- The repo filter (which opens the transcript) now runs after the session-ID and lookback filters, for Claude, Pi, Factory and Copilot.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Entire-Checkpoint: 01M47EKQ43CDMQX7CFQP592FX7
Checkpoints
Checkpoint 1