feat(github): add centralized Get-BotAuthors function#491
Conversation
Add Get-BotAuthors function to GitHubHelpers module as single source of
truth for bot author identification:
- Categories: reviewer, automation, repository, all (default)
- Reviewer bots: coderabbitai[bot], github-copilot[bot], etc.
- Automation bots: github-actions[bot], dependabot[bot]
- Repository bots: rjmurillo-bot, copilot-swe-agent[bot]
This enables scripts to use:
$bots = Get-BotAuthors
if ($comment.user.login -in $bots) { ... }
Instead of duplicating bot lists across 59 files.
Closes #282
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Warning Rate limit exceeded@rjmurillo-bot has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 4 minutes and 2 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
PR Validation ReportTip ✅ Status: PASS Description Validation
QA Validation
Powered by PR Validation - View Workflow |
Spec-to-Implementation ValidationTip ✅ Final Verdict: PASS What is Spec Validation?This validation ensures your implementation matches the specifications:
Validation Summary
Spec References
Requirements Traceability DetailsRequirements Coverage Matrix
Summary
Gaps
VERDICT: PARTIAL Implementation Completeness DetailsNow I have full context. Let me analyze the acceptance criteria from Issue #282 against the implementation. Acceptance Criteria Checklist
Additional Implementation Quality
Missing FunctionalityNone identified. All acceptance criteria satisfied. Edge Cases Not Covered
Implementation Quality
VERDICT: PASS MESSAGE: All 6 acceptance criteria from Issue #282 are satisfied. The Run Details
Powered by AI Spec Validator - View Workflow |
AI Quality Gate ReviewCaution ❌ Final Verdict: CRITICAL_FAIL WalkthroughThis PR was reviewed by six AI agents in parallel, analyzing different aspects of the changes:
Review Summary
💡 Quick Access: Click on individual agent jobs (e.g., "🔒 security Review", "🧪 qa Review") in the workflow run to see detailed findings and step summaries. DevOps Review DetailsDevOps Review: PR #282 - Get-BotAuthors FunctionPR Scope Detection
This is a CODE-only PR adding a PowerShell function to a module. No workflows, actions, or infrastructure changes. Pipeline Impact Assessment
CI/CD Quality Checks
Findings
Shell Script Quality ReviewThe
Template Assessment
Automation Opportunities
Recommendations
VerdictQA Review DetailsNow I have the full context. Let me verify if there are any tests for Based on my analysis: QA Review ReportEVIDENCE
Test Coverage AssessmentThe
Quality Concerns
Required TestsThe following tests must be added to Context "Get-BotAuthors" {
It "Exports Get-BotAuthors function" {
Get-Command -Module GitHubHelpers -Name Get-BotAuthors | Should -Not -BeNullOrEmpty
}
It "Returns all bots when no category specified" {
$result = Get-BotAuthors
$result | Should -Contain 'coderabbitai[bot]'
$result | Should -Contain 'github-actions[bot]'
$result | Should -Contain 'rjmurillo-bot'
}
It "Returns only reviewer bots for reviewer category" {
$result = Get-BotAuthors -Category 'reviewer'
$result | Should -Contain 'coderabbitai[bot]'
$result | Should -Not -Contain 'github-actions[bot]'
}
It "Returns only automation bots for automation category" {
$result = Get-BotAuthors -Category 'automation'
$result | Should -Contain 'github-actions[bot]'
$result | Should -Not -Contain 'coderabbitai[bot]'
}
It "Returns only repository bots for repository category" {
$result = Get-BotAuthors -Category 'repository'
$result | Should -Contain 'rjmurillo-bot'
$result | Should -Not -Contain 'github-actions[bot]'
}
It "Returns unique sorted values for all category" {
$result = Get-BotAuthors -Category 'all'
$sorted = $result | Sort-Object
$result | Should -Be $sorted
}
}Regression Risk Assessment
Blocking Issues
Recommendation: Add tests for Roadmap Review DetailsStrategic Alignment Assessment
Feature Completeness
Impact Analysis
RICE Score
KANO ClassificationMust-Be (becoming baseline) - Bot filtering is expected to work consistently. Inconsistent bot lists cause silent failures in automation. Users will not notice this improvement, but would notice failures without it. Concerns
Recommendations
VerdictArchitect Review DetailsNow I have sufficient context to perform the architectural review. Design Quality Assessment
Overall Design Score: 4.8/5 Architectural Concerns
Breaking Change Assessment
Technical Debt Analysis
ADR Assessment
Recommendations
VerdictAnalyst Review DetailsPR Analysis: feat(github): add centralized Get-BotAuthors functionCode Quality Score
Overall: 5/5 Impact Assessment
Findings
Recommendations
VerdictSecurity Review DetailsSecurity Review: PR #282 - Get-BotAuthors FunctionPR Type Classification
Security Scrutiny Level: Full OWASP review required. Findings
Analysis Summary
RecommendationsNone required. The implementation follows secure coding practices:
Run Details
Powered by AI Quality Gate - View Workflow |
There was a problem hiding this comment.
Code Review
This pull request introduces a new centralized function, Get-BotAuthors, to manage the list of bot authors, which is a great improvement for maintainability. The implementation is clean and follows the project's PowerShell standards. I've found a minor inconsistency in the comment-based documentation for the new function that could lead to confusion, and I've provided suggestions to align it with the implementation.
| Used by workflows, scripts, and agents to distinguish bot vs. human activity. | ||
|
|
||
| Bot categories: | ||
| - AI Code Reviewers: coderabbitai[bot], github-copilot[bot], gemini-code-assist[bot] |
There was a problem hiding this comment.
The documentation for AI Code Reviewers is incomplete. To align with the implementation and the PR description, cursor[bot] should be included in this category.
- AI Code Reviewers: coderabbitai[bot], github-copilot[bot], gemini-code-assist[bot], cursor[bot]
References
- The style guide emphasizes maintainability, which includes accurate documentation. Inconsistent documentation can lead to confusion and bugs. (link)
| - AI Code Reviewers: coderabbitai[bot], github-copilot[bot], gemini-code-assist[bot] | ||
| - Automation: github-actions[bot], dependabot[bot] | ||
| - Repository Bots: rjmurillo-bot, copilot-swe-agent[bot] | ||
| - Other: cursor[bot] |
There was a problem hiding this comment.
The Other category for cursor[bot] contradicts the implementation where it is classified as a reviewer. To avoid confusion and ensure documentation accuracy, this line should be removed. Commenting it out is a good way to preserve the history of this change while deactivating it.
# - Other: cursor[bot]
References
- The style guide emphasizes maintainability, which includes accurate documentation. Inconsistent documentation can lead to confusion and bugs. (link)
Pull Request
Summary
Add
Get-BotAuthorsfunction to GitHubHelpers module as the single source of truth for bot author identification across the repository.Specification References
Changes
Get-BotAuthorsfunction to.claude/skills/github/modules/GitHubHelpers.psm1reviewer,automation,repository,allBot Categories
Usage
Type of Change
Testing
Agent Review
Security Review
.agents/security/)Other Agent Reviews
Checklist
Related Issues
Note
This PR establishes the centralized function. Callers (59 files) can be updated incrementally in follow-up PRs to use
Get-BotAuthorsinstead of inline arrays.