9f3f32174b
CI / test (push) Successful in 17s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (push) Has been skipped
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (push) Has been skipped
CI / review (gpt-5, security, ., rodin/security-patterns, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (push) Has been skipped
5.2 KiB
5.2 KiB
Dev Loop: review-bot — 2026-05-15 (Next cycle scheduled)
Latest: ✅ ISSUE #130 MERGED — GitHub API Methods Complete
- PR #131: feat: implement GitHub API methods and VCS routing (issue #130) — MERGED
- Branch: squashed to commit
c53a07b - Reviews: All passed (Sonnet ✅, GPT ✅, Security ✅)
- Tests: All passing; vet clean
- Worktrees: Cleaned up
What Was Delivered: Issue #130
Phase 1: GitHub API Methods ✅
All 10+ methods implemented in github/client.go:
GetPullRequest— Fetch PR metadataGetPullRequestDiff— Fetch unified diff with correct Accept headerGetPullRequestFiles— Fetch changed files listGetCommitStatuses— Fetch commit statuses + check-runsGetFileContent/GetFileContentRef— Fetch file content (with base64 decoding)ListContents— List directory or get single fileGetAllFilesInPath— Recursive file collectionPostReview— Post PR review with commentsListReviews— List all reviews on a PR (paginated)DeleteReview— Delete draft reviews (with graceful handling for submitted)GetAuthenticatedUser— Get current auth userRequestReviewer— Request reviewer
Phase 2: VCS Routing ✅
New cmd/review-bot/vcs.go provides:
vcsClientinterface — common operations for Gitea + GitHubgiteaExtClientinterface — Gitea-specific ops (timeline, comment resolution)giteaVCSAdapter— Adapter from gitea.Client to vcsClientgithubVCSAdapter— Adapter from github.Client to vcsClient- VCS type auto-detection from URL (github.com → GitHub, else Gitea)
--vcs-typeflag andVCS_TYPEenv var for explicit override
Main.go Routing ✅
- Detects GitHub vs Gitea via
VCS_TYPEenv or URL heuristic - Routes to correct client:
github.NewClient()orgitea.NewClient() - Wraps in appropriate adapter for vcsClient interface
- All downstream code uses vcsClient (VCS-agnostic)
Quality ✅
- 474 lines of GitHub client tests (table-driven, httptest-based)
- 82 lines of routing tests in main_test.go
- 361 lines of VCS adapter/interface code
- Security review: APPROVED (with MINOR note about URL heuristic)
- All test suites pass
- go vet: clean
Known Limitations Documented ✅
- GitHub review deletion: GitHub API only allows deleting PENDING (draft) reviews, not submitted ones. Handled gracefully with no-op.
- GitHub pagination: Uses per-page=100 and checks Link header for continuation.
- Check-runs: Currently uses statuses API; check-runs can be added in future enhancement.
- GitHub URL derivation: GitHub Enterprise uses /api/v3 suffix; code derives from server URL. Operator must ensure correct VCS_TYPE or URL to avoid credential leakage.
Repository Status Post-Merge
Main Branch ✅
- Commit:
c53a07b - All tests passing
- vet clean
- No TODO comments left in code
- No open blockers
Merged PRs (Recent)
- #131 (issue-130): GitHub API methods & VCS routing
- #129 (issue-123): IP-level SSRF defense
- #128 (issue-125): VCS_URL deprecation & renaming
- #127 (issue-124): Multi-arch binary support
- #126 (issue-120): GitHub Actions composite action
Closed Issues ✅
- #130: Implement GitHub API Methods for PR Review
- #123: IP-level SSRF defense
- #125: VCS_URL rename + deprecation
- #124: Multi-arch binary support
- #120: GitHub Actions support
Open Issues
- None blocking (backlog items in project board)
Worktrees
- All cleaned up; no stale branches
Next: Project Status & Next Phase
Feature Completeness Summary
✅ Core functionality:
- Multi-provider LLM support (OpenAI, Anthropic, SAP AI Core)
- Gitea PR review (mature, proven)
- NEW: GitHub PR review (fully implemented)
- VCS abstraction (Gitea/GitHub transparent routing)
- SSRF defense with IP-level validation
- Multi-architecture binary deployment
- GitHub Actions composite action
✅ Review Quality:
- Structured reviews with code snippets
- LLM-driven analysis
- Persona-based customization
- Context awareness
✅ Security:
- RFC6598 CGN detection
- HTTPS enforcement
- Redirect safety
- Credential handling (no logs, no reflection leaks)
- URL validation for VCS API access
Potential Next Work
- PR Submission — Create PRs instead of just posting reviews
- GitHub Enterprise Support — Explicit testing + URL routing
- Performance Tuning — Load testing, concurrency optimization
- Enhanced Context — Semantic code understanding, project-specific rules
- Audit Logging — Track reviews, enable compliance workflows
- Dashboard — View past reviews, metrics, team analytics
Dev Loop Notes
- Cron job runs every 4 hours
- Next check at ~2:05 AM UTC (May 15)
- Repo health: ✅ OPTIMAL
Dev-Loop Metadata
- Repo: /home/ubuntu/review-bot
- Main branch SHA:
c53a07b - Last update: 2026-05-15 02:05 UTC (automated dev-loop)
- Status: All systems healthy; next major work ready for planning
Summary: Issue #130 delivered GitHub API methods and VCS routing. review-bot now supports both Gitea and GitHub PR reviews transparently. All tests pass, security approved, code clean. Next cycle can focus on PR submission, performance optimization, or other backlog items.