Skip to content

Surveyor's release-bot exemption classifier rejects goreleaser/* cask PRs, re-gating exempt release PRsΒ #2272

Description

@devantler

πŸ€– Generated by the Daily AI Engineer

Evidence

Survey run 2026-07-19 (~10:10Z) reported both open Homebrew-tap cask PRs as needing the normal review and pre-merge gates:

⚠️ Release-bot exemption classifier exits 1 on BOTH β†’ normal review/pre-merge gates apply; these are not exempt.

The two PRs were homebrew-tap #1225 (goreleaser/ksail, chore(cask): update ksail to v7.176.0) and #1226 (goreleaser/ksail-desktop, chore(cask): update ksail-desktop to v7.176.1).

Both are exactly the class AGENTS.md exempts under Carve-out β€” trusted programmed release-bot PRs need NO review: a goreleaser/* head branch on the tap, machine-generated cask content. The contract is explicit that the identifying mark is the programmed path, never the commit identity β€” these are authored by the tap token as devantler and are still programmed-path PRs.

Impact

The misclassification pushes a run toward spending a CodeRabbit/Codex review lane on PRs the contract says need none, and toward reading their expected green_review=none / premerge=not-posted as hygiene gaps. Review lanes are rate-limited and one-tool-at-a-time, so a wasted request has a real cost to whatever PR actually needed it. It also invites a run to leave a merge-ready release PR parked while it waits for a review that will never be required.

Both PRs were in fact merged this tick on the carve-out's own gate (required checks green, zero threads, no conflict): #1226 at 5398eb39, #1225 at 3b72731d.

Expected behaviour

The classifier recognises a tap cask PR on a goreleaser/* head branch as a programmed release-bot PR and exempts it from the review and pre-merge surfaces, while still counting its checks / threads / conflicts hygiene.

Acceptance criteria

  • The classifier returns "exempt" for a tap PR whose head branch matches goreleaser/*, regardless of author login.
  • It stays non-exempt for a tap PR that has left its programmed path (e.g. one carrying an agent adaptation commit), per the contract's "your commit makes it review-bearing again".
  • A regression test covers both directions using the two PRs above as fixtures.
  • The surveyor digest reports such PRs without a review/pre-merge gap.

Size: S

Related surveyor defects: #2242, #2244, #2264.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

No fields configured for Bug.

Projects

Status
βœ… Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions