Skip to content

Auto-pilot: honour the base-branch marker when opening the pull request - #95

Merged
iamkayleb merged 1 commit into
mainfrom
fix/auto-pilot-honours-base-marker
Sep 11, 2026
Merged

iamkayleb merged 1 commit into
mainfrom
fix/auto-pilot-honours-base-marker

Conversation

@iamkayleb

Copy link
Copy Markdown
Owner

The issue bridge and the belt dispatcher both resolve a pull request base from the issue's <!-- base-branch: X --> marker. Auto-pilot did not: it took repoInfo.default_branch at both of its PR sites and never read the marker at all.

Auto-pilot is the component that actually calls pulls.create, so the marker was honoured when the branch was cut and then ignored when the PR was opened. An issue marked eval/cursor produced branch cursor/issue-285 and a pull request into main — the per-lane separation collapsed silently, and merging any such PR would put one lane's work on the shared branch.

Both sites now resolve marker over default, verify the branch exists before using it, fall back with a warning when it does not, and log the chosen base and its source. This is the third and last place that computed a PR base: the bridge, the belt dispatcher and auto-pilot are now consistent, and no const baseBranch = repoInfo.default_branch remains in any of them.

Claude-Session: https://claude.ai/code/session_01FC8XoyssN5v6hQCTtcjoB5

Workflow Source

Started from:

  • GitHub issue: #
  • Direct PR / remote GitHub work
  • Local Codex/user request
  • Automation run
  • Review follow-up from PR #
  • Sync / maintenance campaign
  • Dependabot or dependency update
  • Do not automate

Automation intent:

  • Verifier should review this
  • Keepalive may manage this PR
  • Human-only unless checks fail

Notes:

Summary

Testing

The issue bridge and the belt dispatcher both resolve a pull request base
from the issue's `<!-- base-branch: X -->` marker. Auto-pilot did not: it
took `repoInfo.default_branch` at both of its PR sites and never read the
marker at all.

Auto-pilot is the component that actually calls pulls.create, so the marker
was honoured when the branch was cut and then ignored when the PR was
opened. An issue marked `eval/cursor` produced branch `cursor/issue-285`
and a pull request into `main` — the per-lane separation collapsed
silently, and merging any such PR would put one lane's work on the shared
branch.

Both sites now resolve marker over default, verify the branch exists before
using it, fall back with a warning when it does not, and log the chosen base
and its source. This is the third and last place that computed a PR base:
the bridge, the belt dispatcher and auto-pilot are now consistent, and no
`const baseBranch = repoInfo.default_branch` remains in any of them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FC8XoyssN5v6hQCTtcjoB5
@iamkayleb
iamkayleb merged commit 97d6242 into main Sep 11, 2026
18 of 21 checks passed
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