PR #156 round 4: TextIn's pdf/docmark branch copies the file through the root to a temp file, and pointing the extractor back at the raw/ path by name stayed green (race tests used only r.md); a stub docmark then got the outside file's bytes 34k times in 4s. TestDocmarkExtractionLeaksNothingUnderASymlinkSwapRace races a symlink into raw/r.docx through ReadIngestFile while a fake docmark counts the sentinel in every document it receives. Flipped: the by-name revert is red. Refs #153 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>