All blank/whitespace lines produce the same hash character via normalizeLine() trimming. In large files, insert_after on any blank line hits ambiguous match and throws mismatch error. Agent re-reads but gets same anchor, loops forever. Fix: seed xxHash32 with line number so every line anchor is unique within the file.