Problem
filepath.WalkDir follows symlinks. A circular symlink tree would cause infinite recursion during chat transcript discovery.
Proposed Fix
Track visited inodes (dev+ino pair) during walk. Skip directories already visited.
On Windows, use file ID from os.SameFile().
Priority
P3 — unlikely in practice for typical home directories, but a robustness improvement.
Refs: pkg/chatarchive/discover.go DiscoverTranscriptFiles()
Problem
filepath.WalkDirfollows symlinks. A circular symlink tree would cause infinite recursion during chat transcript discovery.Proposed Fix
Track visited inodes (dev+ino pair) during walk. Skip directories already visited.
On Windows, use file ID from
os.SameFile().Priority
P3 — unlikely in practice for typical home directories, but a robustness improvement.
Refs: pkg/chatarchive/discover.go
DiscoverTranscriptFiles()