chrismdp / rebase-conflicting-pull-requestsA pull request that conflicts with main is rebased onto itPublic · Version 3 of 4#4 · chrismdp · Yesterday 2:28pm · 0.8Latest#3 · chrismdp · 23 Oct 2026, 9:45am · 0.4Showing#2 · chrismdp · 22 Oct 2026, 5:21pm · 0.4#1 · chrismdp · 22 Oct 2026, 4:01pm · 0.3ForkWho may see each partWhere each part runsYAMLChecksNo mistakesGitHub ActionsGitHub: pull requests, branches, commentsActions job: find, with a read-only tokenActions job: rebase, with a read-only tokenActions job: check, push and commentClaude Code, claude-opus-5-5, on the maintainer's subscriptionthe pushopen pull requests and whethereach conflicts[for each that conflicts][the repository's own][all pass][pushed or refused][any fail][gave up]TriggerA commit lands on mainConnectionThe repository, through itsown Actions tokenConnectionThe repository, through itsown GitHub AppGitHub starts CI from the app's push, though not from one by the Actions token, so CI runs on the rebased branch and shows on the pull request. The app's key is a secret only the push step is givenCode · bring-inBring in the open pull requeststhat conflict with mainCode · sortSort by rule: is the branch inthis repository, opened by itsown people or the buildworkflow?A fork's pull request, or one opened by a stranger, is never touched, so every line Claude reads was written by the repository's own people. AWML can't mark this yet (awml #5)DataThe branch's commits, main,and AGENTS.mdAI · draftRebase the branch onto main,keeping both sides of eachconflictDataThe rebased branch, as abundleCode · checkCheck it sits on main, has noconflict markers or workflowchanges, and passes everycheckCode · doForce-push the rebasedbranch, only if it hasn't movedThe draft step's token can only read, so it can't push. The push names the commit the bring-in step saw, so GitHub refuses it if anyone pushed meanwhile (awml #26)Outside actionReplace the pull request'sbranchAllowAllow, because the old commit stays on GitHub and the comment names it, so the branch can be put back with one pushCode · doComment what was resolved,or why it couldn't beSurfaceThe pull request's threadFlow only+−Fit