2dedab1ad3
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