`Path.write_text(newline=...)` and `zip(strict=True)` were added in
Python 3.10. macOS ships 3.9.6 as /usr/bin/python3, the interpreter CMake
finds when no newer one is installed, so `prepare_release_notes` raised
TypeError when the release workflow wrote its notes and the
`pr_overlap_tools`, `release_package` and `linux_fixed_base` tests failed
on a stock macOS host. Writing the encoded text keeps the newline
translation off on every host, and the dynamic tag counts are compared
before the pairs are walked.
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