Files
Tomasz SapetaandBrent Vatne bd06ab13a9 feat: pin a CI review to one head commit, and add --expect-head (#99)
* feat: pin a CI review to one head commit, and add --expect-head

* fix: keep doc comments next to the declarations they describe

* fix: check the head after break-glass, keep the routed aggregate, and reject malformed --expect-head

* fix: diff the PR's fixed base and head commits, so a push during the run cannot swap the diff

gh pr diff takes no commit, and reading the head again after it missed a push
followed by a force-push back to the same commit. getChangedFiles now fetches
the compare of the base and head OIDs the metadata read, the same commits the
trees are checked out at, and falls back to gh pr diff only when an OID is
unknown. That removes the second head read and HeadMovedError.

--expect-head's note now states what was seen: the PR's head and the commit the
review was requested for, or that the head is unknown.

* fix: reject a repeated --expect-head, and say that older releases ignore it

parseValueFlag keeps the first occurrence, so a second --expect-head was
ignored without a word. Releases from before the flag ignore it like any
unknown argument, so the README and LLP 0007 say to pin a release that has it.

---------

Co-authored-by: Brent Vatne <[email protected]>
2026-11-02 17:47:12 -07:00
..