fix(needs-response): exempt bots from Needs: Response, add safe label triage#13119
Open
openlibrary-bot wants to merge 2 commits into
Open
fix(needs-response): exempt bots from Needs: Response, add safe label triage#13119openlibrary-bot wants to merge 2 commits into
openlibrary-bot wants to merge 2 commits into
Conversation
… triage Two related fixes: 1. issue_comment_bot.py's filter_issues() only excluded configured leads from triggering 'Needs: Response' -- any bot's comment, including openlibrary-bot's own Richy enrichment comments, would be treated as 'a human left a comment, needs a reply' and get labeled accordingly. Verified openlibrary-bot reports as user.type 'User' (it's a PAT-authenticated account, not a registered GitHub App), so a bare user.type == 'Bot' check alone would not catch it -- added an explicit EXEMPT_COMMENTER_LOGINS set alongside the type check to cover both registered bot apps and PAT-based bot accounts. 2. New needs_response_triage.yml/.md: a narrow, label-only agentic pass that runs whenever an issue is labeled 'Needs: Response'. This is a safe subset of Fonzie's (pm/.claude/commands/ol-needs-response.md) taxonomy -- specifically the two classes that are purely mechanical label swaps with no drafted text (assignment_request, needs_triage), plus a backstop for any bot-comment false positive #1 didn't anticipate. It never posts a comment, closes an issue, or assigns anyone -- Fonzie's actual judgment calls (technical questions, design decisions, blocked contributors) remain an interactive session with Mek's review, unchanged. Note: generate-pot pre-commit hook skipped -- it requires Docker/infogami (not available locally) and this change contains no translatable strings.
for more information, see https://pre-commit.ci
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two related fixes to
Needs: Responsehandling.1.
issue_comment_bot.py: bots were triggeringNeeds: Responsefilter_issues()only excluded configured leads from counting as "someone who already responded" — any bot's comment, includingopenlibrary-bot's own Richy enrichment comments, would be treated as "a human left a comment, needs a reply" and getNeeds: Responseapplied on the next daily digest run.Verified
openlibrary-botreportsuser.type: "User"(it's a PAT-authenticated account, not a registered GitHub App), so a bareuser.type == 'Bot'check alone would not catch it. Added an explicitEXEMPT_COMMENTER_LOGINSset alongside the type check, covering both registered bot apps (github-actions[bot], etc.) and PAT-based bot accounts.2. New
needs_response_triage.yml/.md: safe, label-only agentic passRuns whenever an issue is labeled
Needs: Response. This is a deliberately narrow subset of Fonzie's (pm/.claude/commands/ol-needs-response.md) taxonomy — specifically the two classes that are purely mechanical label swaps with no drafted text:Needs: Assignment ReviewNeeds: TriageIt never posts a comment, closes an issue, or assigns anyone. Fonzie's actual judgment calls (technical questions, design decisions, blocked contributors) remain an interactive session with Mek's review — unchanged.
All label names used (
Needs: Assignment Review,Needs: Triage) verified against the real label list.Testing
Pre-commit passed on all local-runnable hooks (ruff, mypy).
generate-potskipped — requires Docker/infogami, and this change contains no translatable strings.Related