You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Merge run tracer bullet: thirdshift merge <Issue URL> merges a clean PR #91
The tracer bullet for the Merge run. thirdshift merge <Issue URL> (alias thirdshift --merge <Issue URL>) runs everything a Run does. Once the pull request is open, ready for review, mergeable and green, it does the Self-merge: thirdshift merges the pull request into the Base branch with a merge commit, merging only the head commit whose CI it watched (gh pr merge --merge --match-head-commit <sha>, never --auto or --delete-branch; see ADR-0004).
On success the Run exits 0, prints only the pull request URL on stdout, and its last stderr line is PR <url> is merged. For now, a merge that fails is an ordinary Failed run; later tickets refine that. thirdshift <Issue URL> is unchanged. The agent's prompts are identical in both modes.
Acceptance criteria
thirdshift merge <Issue URL> and thirdshift --merge <Issue URL> start a Merge run.
thirdshift <Issue URL> --merge, or anything after the URL, is rejected with exit 2 and the help text on stderr.
thirdshift help lists merge as its own line.
A clean Merge run merges with a merge commit on exactly the head CI was watched on, exits 0, prints the PR URL on stdout, and ends stderr with PR <url> is merged.
A Merge run's implement prompt is identical to a normal Run's.
A normal Run's behaviour and output are unchanged.
The fake gh supports pr merge: it makes a real merge commit of the head into the base on the test origin, marks the PR merged, closes the linked issue only when the base is the default branch, and refuses when --match-head-commit doesn't match the head.
The README documents the merge form and the Self-merge step.
Activity