feat(#130): add VCS routing in cmd/review-bot via --vcs-type flag
CI / test (pull_request) Successful in 18s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (pull_request) Successful in 41s
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (pull_request) Successful in 1m20s
CI / review (gpt-5, security, ., rodin/security-patterns, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (pull_request) Successful in 1m52s

- Add vcs_client.go with vcsClient interface, giteaClientVCSAdapter, githubClientVCSAdapter
- Add giteaExtendedClient interface for Gitea-specific operations (supersede, resolve, etc.)
- Add --vcs-type flag (gitea|github, default: gitea) with VCS_TYPE env var support
- Replace direct giteaClient usage with vcsClient interface in main.go
- Add verdictToVCSEvent() to map LLM verdict to vcs.ReviewEvent
- Gitea adapter translates vcs.ReviewEvent back to Gitea API format (APPROVE->APPROVED)
- Guard Gitea-specific ops (RequestReviewer, supersede, resolve) with type assertion
- Guard fetchPatterns GetAllFilesInPath with Gitea-only type assertion
- Replace reviewClientAdapter (giteaClientAdapter) for review.GiteaClient interface
- Update main_test.go to use reviewInfo/commitStatusInfo instead of gitea types
This commit is contained in:
claw
2026-05-14 13:53:56 -07:00
parent 5704d167a5
commit 2dedab1ad3
5 changed files with 556 additions and 95 deletions
+6
View File
@@ -48,6 +48,12 @@ type ReviewRequest struct {
// Event is the review verdict.
Event ReviewEvent
// CommitID is the commit SHA that this review targets.
// When non-empty, the review is anchored to this commit.
// For GitHub, this is passed as commit_id in the review request.
// For Gitea, this is passed as the commitID parameter to PostReview.
CommitID string
// Comments are optional inline file-level comments.
Comments []ReviewComment
}