Skip to content

chore: CodeRabbit approves or requests changes - #33

Merged
romchornyi merged 1 commit into
masterfrom
chore/coderabbit-request-changes
Oct 26, 2026
Merged

romchornyi merged 1 commit into
masterfrom
chore/coderabbit-request-changes

Conversation

@romchornyi

Copy link
Copy Markdown
Collaborator

Issue being fixed or feature implemented

CodeRabbit finishes every review as a plain comment, so its verdict is not visible next to the other reviewers'. Roman wants it to approve or request changes, like a human reviewer.

What was done?

Set reviews.request_changes_workflow: true in .coderabbit.yaml, with a comment explaining it:

  • while CodeRabbit has actionable comments, its review requests changes;
  • once those comments are resolved and no pre-merge check is in an error state, it approves.

CodeRabbit is a GitHub App without write access to the repo, so its approval does not count toward the master ruleset's required approval, and its request for changes does not block a merge. It only shows its verdict.

How Has This Been Tested?

  • The YAML parses, and reviews.request_changes_workflow reads as true.
  • The key is from CodeRabbit's configuration schema (https://coderabbit.ai/integrations/schema.v2.json, linked at the top of the file).
  • The real check is CodeRabbit's own review of this PR and of the next ones: their state should read "approved" or "changes requested" instead of "commented".

Breaking Changes

None.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation

🤖 Generated with Claude Code

Turn on CodeRabbit's request_changes_workflow, so each review ends with a
verdict instead of a plain comment: request changes while it has actionable
comments, approve once they are resolved and no pre-merge check is in an error
state.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@romchornyi-pitcrew

romchornyi-pitcrew commented Oct 26, 2026 •

Copy link
Copy Markdown

✅ Review posted for commit d5a1f26 · triage: trivial · approve · took 3 min

@romchornyi-pitcrew romchornyi-pitcrew left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ no blockers · no majors · 5 non-blocking recommendations — reviewed at d5a1f26e1a

Level Verdict
1 · Idea ✅ valid Shows CodeRabbit's verdict as approve / request changes rather than a plain comment
2 · Architecture ✅ right layer Repo-level CodeRabbit config
3 · Completeness ✅ complete One setting, no other consumers: no workflow listens for review events
4 · Code ✅ clean The key works today, but it is a deprecated alias (recommendation 1)
5 non-blocking recommendations
  1. Use the supported key —
    request_changes_workflow: true
    — in the linked schema (schema.v2.json), reviews.request_changes_workflow is "deprecated": true, "x-undocumented": true, described as a "Legacy alias for reviews.auto_approvals.enabled". reviews.auto_approvals.enabled: true sets the same thing through the current API. When the alias goes, this setting would be ignored with no sign of why. (verified against the schema)
  2. The comment describes the approval rule too broadly —
    # Finish each review with a verdict instead of a plain comment: request changes while
    # CodeRabbit has actionable comments, approve once they are resolved and no pre-merge
    # check is in an error state.
    — the schema says CodeRabbit requests changes for blocking findings, not for every actionable comment. It approves only when required threads are resolved, the latest commit is reviewed, pre-merge checks pass and any configured risk limits hold. Someone reading the comment would expect an approval as soon as threads are resolved. (verified against the schema)
  3. Auto-review does not run on this repo — the CodeRabbit check on this PR reads "Review skipped: manual review required for this OSS repository", and CodeRabbit has not reviewed #33. The verdict will appear only on reviews someone triggers by hand, and the test plan ("CodeRabbit's own review of this PR") cannot run until then. Worth noting in the description. (verified from the check)
  4. Author self-approval — auto_approvals.allow_author_approval defaults to true, so an author can post @coderabbitai resolve and then @coderabbitai approve on their own PR and get the "approved" badge without addressing the findings. If the badge is meant to sit next to the human reviewers' verdicts, allow_author_approval: false keeps it honest. It gates nothing: coderabbitai[bot] has no write permission, so the approval does not count toward the ruleset.
  5. Icon-import PRs —
    path_filters:
    # Asset catalogs are generated: imageset Contents.json is written by Xcode or by the
    # Figma export tooling, never edited by hand, so there is nothing to review in them.
    # Their volume alone also pushes icon-import PRs past CodeRabbit's file limit, which
    # skips the review of the Swift changes that actually matter.
    - "!**/*.xcassets/**"
    path_instructions:
    # Generated from the asset catalog on disk — the raw values cannot be meaningfully
    # checked line by line, but the shape of the API can.
    - path: "Sources/DashUIKit/Foundation/Icon_DashUI.swift"
    instructions: >-
    This file is generated from the asset catalog. Review the API shape — protocol
    conformances, availability annotations, naming scheme — but do not comment on
    individual enum cases or their raw values.
    — *.xcassets is filtered out and Icon_DashUI.swift is told not to comment on individual cases. Icon imports will therefore usually get "approved" on content CodeRabbit barely saw. An auto_approvals.overrides entry with enabled: false for those paths would avoid a misleading badge. (not verified)
Review details

Tier: trivial (one config key). Levels 1–3 one line each. Level 4 used the general lane (/code-review high), which checked the repo ruleset and CodeRabbit's collaborator permission. The verifier checked the schema entry for both keys and the CodeRabbit check status. Dropped:

  • what would happen if CodeRabbit were ever given write access;
  • approval of PRs into feat/* branches.

Both depend on settings outside this PR and are speculative today. Also dropped a stale-approval point that the ruleset's dismiss_stale_reviews_on_push: false makes true of every reviewer, not only CodeRabbit.

🤖 Reviewed with Claude Code

@romchornyi
romchornyi merged commit 6cb9bd7 into master Oct 26, 2026
6 checks passed
@romchornyi
romchornyi deleted the chore/coderabbit-request-changes branch October 26, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants