Skip to content

chore(rulesets): allow only rebase merges - #255

Merged
jdwillmsen merged 1 commit into
mainfrom
fix/ruleset-rebase-only
Oct 2, 2026
Merged

jdwillmsen merged 1 commit into
mainfrom
fix/ruleset-rebase-only

Conversation

@jdwlabs-agent-bot

@jdwlabs-agent-bot jdwlabs-agent-bot Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Why

The repo is configured rebase-only (squash and merge commits disabled), but the ruleset files still allow merge, squash and rebase. This sets allowed_merge_methods to ["rebase"] in baseline.json, matching the org baseline change in jdwlabs/.github#55.

Needs attention

The live rulesets set require_extra_approval_for_unattributed_changes: true and the files did not, so applying would have silently dropped it. Added it to the files, as jdwlabs/.github#55 did.

Risk

Low. The repo setting already blocks squash and merge commits, so the live effect is nil. Applying rewrites the listed rulesets in place by id. Not applied yet; run after merge:

bash .github/rulesets/apply.sh

Verified

  • Each file diffed against the live ruleset (gh api repos/jdwlabs/apps/rulesets/<id>, read-only fields stripped). After this change the only differences are the narrowed merge methods.
  • apply.sh --dry-run: 3 PUTs (Baseline, Branch Naming Convention, Release Tag Protection), no POSTs.
  • All ruleset JSON parses with jq. There is no ruleset test suite in this repo.

Summary by CodeRabbit

  • Chores
    • Updated pull request requirements: unattributed changes need an additional approval, and rebase is now the only permitted merge method.

The repo is configured rebase-only, but the ruleset files still allowed
merge and squash. Narrow allowed_merge_methods to rebase, matching the org
baseline, and carry any live-only pull_request setting into the files so
applying them does not silently drop it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assisted-by: Claude Code:claude-opus-5-5
@jdwlabs-review-bot

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Merge Method Restriction

The change correctly restricts allowed merge methods to only "rebase", aligning with the repository's rebase-only configuration. This ensures consistency between the repository settings and the ruleset policies.

"allowed_merge_methods": ["rebase"]

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: jdwlabs/apps/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: eb019212-a54d-45a8-8dc9-c7b278a25d04

📥 Commits

Reviewing files that changed from the base of the PR and between dc89d40 and c018fe9.

📒 Files selected for processing (1)
  • .github/rulesets/baseline.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

The baseline pull-request rules now require extra approval for unattributed changes and permit only rebase merges.

Changes

Pull-request rules

Layer / File(s) Summary
Update baseline pull-request rules
.github/rulesets/baseline.json
The ruleset requires extra approval for unattributed changes. It allows rebase merges and disallows merge and squash methods.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to c018f

The change matches the stated rebase-only policy, and the live ruleset currently contains the extra-approval setting. The change has not yet been applied, but no concrete merge-blocking failure is established.

Architecture Summary

Architecture risk: 🔵 Low · up to c018f

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .github/rulesets/baseline.json: The pull-request rule enables extra approval for unattributed changes and restricts allowed merge methods from merge, squash, or rebase to rebase only.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: restricting the ruleset to rebase merges.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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

@jdwlabs-review-bot

Copy link
Copy Markdown

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Restricts allowed merge methods to rebase only

The rule now enforces only rebase merges, which improves commit history consistency
and avoids unnecessary merge commits.

.github/rulesets/baseline.json [28-29]

+        "require_extra_approval_for_unattributed_changes": true,
+        "allowed_merge_methods": ["rebase"]
 
-
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies that the change restricts merge methods to rebase only, which helps maintain a cleaner commit history. However, it doesn't add significant value beyond what's already stated in the diff, so it's rated as moderate impact.

Medium

@jdwillmsen jdwillmsen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reviewed: merge methods narrowed to rebase-only (already enforced by repo settings); live-only settings recorded so apply.sh drops nothing. Checks green, threads resolved.

@jdwillmsen
jdwillmsen merged commit 3d504c9 into main Oct 2, 2026
23 checks passed
@jdwillmsen
jdwillmsen deleted the fix/ruleset-rebase-only branch October 2, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant