fix: address remote persona review findings #63
Closed
rodin
wants to merge 2 commits from
issue-60-remote-personas into main
pull from: issue-60-remote-personas
merge into: :main
:main
:ci/cleanup
:ci-selfreview-gate
:issue-150
:issue-157
:issue-141
:issue-154
:review-bot-dev-loop
:issue-143
:issue-146
:pr-153
:review-bot-issue-130-work
:issue-148
:issue-139
:issue-137
:review-bot-fixes
:review-bot-issue-133
:review-bot-issue-130
:issue-130
:github-support
:issue-123-work
:issue-123
:review-bot-issue-120
:fix/125-readme-cli-example
:issue-125
:issue-124
:issue-120
:feature/github-support
:review-bot-issue-116
:review-bot-issue-115
:review-bot-issue-114
:review-bot-issue-96
:review-bot-issue-107
:review-bot-issue-82
:review-bot-issue-95
:review-bot-issue-92
:review-bot-issue-94
:review-bot-issue-81
:review-bot-issue-91
:review-bot-issue-97
:issue-80-c-file-reader
:issue-80-b-pr-reader
:issue-80-a-client
:review-bot-issue-80
:review-bot-issue-87
:review-bot-issue-79
:review-bot-issue-84
:review-bot-issue-78
:issue-73
:issue-70
:issue-68
:issue-66
:issue-64
:issue-60-remote-personas
:issue-60
:issue-57
:allow-deps
:feat/aicore-provider-v2
:issue-51
:ci/pr-ready-gate
:fix/stale-commit-check
:feat/aicore-provider
:fix/response-body-truncation
:fix/json-repair
:fix/sonnet-reviewer
:fix/consistent-path-escape
:feat/inline-review-comments
:feat/6-update-existing-review
:fix/19-context-overflow
:feat/18-anthropic-api
:fix/url-escaping-and-shadow
:fix/quick-wins
:fix/context-and-encapsulation
:docs/code-review-report
:ci/release-workflow
2
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5fac8bc505 |
fix: address PR #62 review findings
CI / test (pull_request) Successful in 16s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (pull_request) Successful in 27s
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (pull_request) Successful in 1m5s
CI / review (gpt-5, security, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (pull_request) Successful in 1m40s
- Remove duplicate flag.Parse() call - Fix nil map panic in LoadRemotePersonas error path by assigning empty map when LoadRemotePersonas returns an error - Tighten isNotFoundError to only check HTTP 404 (remove broad 'not found' substring check to avoid false positives) - Clean up personaErr variable scope using narrower-scoped err variables - Add proper doc comment to LoadRemotePersonasFromPath (Go convention) - Add file count cap (50 files) in LoadRemotePersonasFromPath to prevent resource exhaustion from repos with thousands of small files - Update test expectation for tightened isNotFoundError |
||
|
|
2f8d047ef2 |
feat: load personas from target repo .review-bot/personas/
CI / review (gpt-5, security, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (pull_request) Successful in 8m12s
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (pull_request) Successful in 8m15s
CI / test (pull_request) Successful in 15s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (pull_request) Failing after 42s
Adds support for repository-specific personas. When --persona is specified, review-bot now: 1. Checks the target repo's .review-bot/personas/<name>.yaml directory 2. Falls back to built-in persona if not found in repo This allows repos to define domain-specific personas (trading, regulatory, etc.) or override built-in personas with project-specific rules, without requiring changes to CI configuration. Implementation: - New review.PersonaFetcher interface for abstracting Gitea API access - review.LoadRemotePersonas() with graceful fallback on 404 - review.MergePersonas() for combining remote and built-in personas - giteaFetcher adapter in main.go to bridge gitea.Client The feature follows a partial-success model: invalid YAML files or network errors for individual persona files are logged and skipped, allowing other valid personas to load. Closes #60 |