Skip to content

Commit a3503b0

Browse files
anandgupta42claude
andauthored
fix: make anti-slop advisory instead of auto-closing legitimate PRs (#741)
The `anti-slop` workflow was closing legitimate team-member PRs within two minutes of opening. Root cause is a self-inflicted honeypot: the repo's `pull_request_template.md` embeds an HTML comment instructing any LLM/AI model to prepend the word "PINEAPPLE" to the PR description, and `anti-slop.yml` lists that same word in `blocked-terms`. Any AI-assisted PR from a team member follows the template instruction verbatim and then trips the blocked-terms check — a guaranteed close. PR #739 (an 8-file, 496-line BQ finops fix with a passing consensus code review and all other CI green) was auto-closed this way. There is no `TEAM_MEMBERS` carve-out in `anti-slop.yml` the way `pr-standards.yml` has one, so even listed members are subject to the auto-close. The action's `authorAssociation` check only recognizes GitHub's built-in OWNER/MEMBER/COLLABORATOR, not the repo's local `.github/TEAM_MEMBERS` file. Change: flip `close-pr: true` -> `close-pr: false`. All other anti-slop behavior is preserved — failure labels still land (`needs-review:blocked`), the failure message still comments on the PR, and the action still runs on every open/edit/synchronize. Maintainers can close manually when the signal is real. This keeps the anti-spam signal without the false-positive close. Two follow-ups are noted in the in-file comment and issue #740 but left out of scope here: 1. Whether to keep `PINEAPPLE` in `blocked-terms` at all given that the template actively induces its inclusion. 2. Whether to add a `TEAM_MEMBERS` carve-out to anti-slop mirroring `pr-standards.yml`'s pattern. Closes #740 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 98f0f41 commit a3503b0

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

.github/workflows/anti-slop.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,13 @@ jobs:
7777
master
7878
7979
# --- Actions on failure ---
80-
close-pr: true
80+
# Advisory, not blocking. Too many legitimate team PRs were auto-closed
81+
# because the PR template instructs LLMs to prepend "PINEAPPLE"
82+
# (honeypot) — any AI-assisted PR from a team member then trips the
83+
# blocked-terms check and gets closed 2 minutes after opening. The
84+
# labels and failure message still fire, so maintainers retain the
85+
# signal and can close manually when warranted. See issue #740.
86+
close-pr: false
8187
lock-pr: false
8288
failure-add-pr-labels: "needs-review:blocked"
8389
failure-pr-message: |

0 commit comments

Comments
 (0)