chore(automatic-review): retire gemini, ground pr-agent standard - #1014
Conversation
…abled_bots clause
…nd match a bot comment as completion
…d pin the new provider signals
The --push-time help string on the re-review subparser still read "both bots now post an explicit trigger comment", which asserted a two-reviewer world. Three bots are registered (coderabbit, sourcery, pr-agent), so the claim was already stale and D5's criterion forbids a describe-side surface that still asserts the old contract. Surfaced by pre-submission-self-review, which correctly declined to record it as a formal finding (the line predates this diff and no candidate surfaced it). Fixed here under the Boy Scout Rule because github_re_review.py is a file this plan already modifies. Co-Authored-By: Claude <noreply@anthropic.com>
The plan's new three-way cmd_post_responses disposition introduced _comment_id_from_detail, a one-line regex-extraction wrapper near-identical to the pre-existing _thread_id_from_detail, and duplicating logic already inline in _existing_pr_comment_keys. Collapsed both wrappers into one generic _detail_field(detail, pattern), routed _existing_pr_comment_keys through it to drop the duplicate inline match, and updated the two cmd_post_responses call sites plus a stale docstring reference. Behaviour-preserving. Co-Authored-By: Claude <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 46 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository: cuioss/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (35)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Sorry @cuioss-oliver, your pull request is larger than the review limit of 150000 diff characters
Triage dispositionsIn reply to comment_id:
|
Summary
Retires the Gemini bot-registry machinery (non-operative by default since the 2026-07-17 sunset)
and replaces the placeholder
standards/pr-agent.mdwith a standard grounded in an actual observedPR-Agent review, in five deliverables:
geminireference across the matched-file corpus into operativemachinery / documentation-prose / test-fixture-placeholder / false-positive, and settled the
unknown-bot contract question.
standards/gemini.mdand every class-(a) operative reference (bot-list docs,author-login constants, re-review wiring, the
SKILL.mdGemini clause).ext-triage-*/standards/pr-comment-disposition.mdfiles; re-pointed class-(c) test fixtures at a neutral placeholder bot name (coverage preserved,
not deleted); ran the repo-wide case-insensitive verification sweep below.
standards/pr-agent.md's registry fields (author_login,trigger_comment,completion_check_name,honors_skip_label,ignore_patterns,severity_map) and triageguidance to match an actual observed PR-Agent review, citing the source comment.
unregistered-bot path coverage, asserting the D1 unknown-bot contract; fixed two structural
PR-Agent gaps the grounding work surfaced.
Verified residual gemini set (checked claim)
The plan carries an explicit acceptance obligation that any residual
geminireferences be statedas a checked claim, not an assertion. A repo-wide case-insensitive
geminisweep after this PR'schanges returns 28 files / 35 hits, zero of them live-registry references, composed of:
_QC_BOT_REarchived-corpus classifier in.claude/skills/audit-archived-plan-retrospectives/scripts/audit.py, its quality-chain.md docrow,
test_audit_checks.py, plus 8 true review-provenance attributions in unrelated test files.Deliberately retained: the classifier scans ARCHIVED plans where gemini-authored comments are
permanent history, so removing it would silently break shift-left detection.
.github/workflows/pr-agent.yml(2 hits) — "Google Gemini" names the LLM model running onVertex AI, a different referent from the
gemini-code-assistreview bot being retired here..git(1 hit) — the worktree pointer file, matching only because the plan id contains thetoken
gemini..pyprojectx/(14 files, 19 hits) — git-ignored build venv, not part of the tracked sourceset.
D4 grounding evidence
D4's registry fields were grounded in a real observed review — cuioss/API-Sheriff PR #103, comment
IC_kwDOPatrT88AAAABLvbeow, authored bycuioss-review-bot, posted2026-07-26T09:27:15Z. Every adapted field inmarketplace/bundles/plan-marshall/skills/automatic-review/standards/pr-agent.mdcites this source— no field was authored from assumption.
Unknown-bot contract (D1 verdict)
An unregistered bot's comment is FILED with an empty
bot_kind, never silently dropped (proof site:_findings_core.py:247). Deletingstandards/gemini.mdand its registry entries is therefore not afail-open change — comments from a retired/unregistered bot still surface as findings.
Structural gaps fixed (D5)
Grounding the PR-Agent registry against the real review in PR #103 surfaced two pre-existing
structural gaps, fixed here:
post_responsescould never transmit a disposition for a thread-less comment. It now returns athree-way disposition (
transmitted/untransmitted[]/status: partial) instead of silentlydropping the untransmittable case.
await_fresh_reviewcould only ever returnmatched: falseforpr-agent. It now carries asecond, comment-based matcher so a PR-Agent completion can actually be observed.
Test Plan
plan-marshall:build-pyproject:pyproject_build run --command-args "verify")