pr_overlap.py links each conflicting range to main at the commit it ran
on, so every push to main changes every non-empty report. The workflow
keeps a hash of each report to read the comments of changed reports
only, but with the commit in the hash every report counts as changed:
each run reads the comments of every pull request with an overlap and
rewrites its comment although only the commit differs. In one hour on
2026-10-13 it rewrote 107 existing overlap comments, against the 1000
requests per hour GITHUB_TOKEN has for the repository.
The hash and the comparison with the posted comment now replace the
commit in blob links with a fixed ref, so a report whose ranges, exports
and files are unchanged makes no request. Posted comments keep their
links pinned to the commit they were written at.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A -U0 hunk for an insertion before line 1 starts at line 0, so two PRs
inserting at the top of one file produced a link to the nonexistent
line L0. hunks now clamps the start to line 1 and derives the end from
the clamped start. A test covers the clash range and the rendered link.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW