Pull requests
Sursakit is designed so you don't have to leave the workbench to open and review pull requests. The PR surface works against GitHub, GitLab, and Bitbucket — connected via OAuth at the service level.
Opening a PR
- Make changes inside a session and commit them through the version control panel.
- Push the session's branch to your connected remote.
- Click Open pull request. Pick the target branch, give the PR a title and description, and confirm.
The PR is created on the remote provider and tracked in Sursakit. You can keep iterating in the same session — every commit you push lands on the same PR.
Reviewing a PR
Open the PR in the workbench:
- Side-by-side diff for every changed file.
- Inline comments on specific lines.
- Review status — request changes, approve, or comment.
- Pull into your session — checkout the PR's branch locally to test it against your running services.
Resolving conflicts
When a PR has merge conflicts with the target branch, Sursakit opens them in a three-way conflict editor:
- Theirs (incoming)
- Yours (target)
- Base (common ancestor)
Resolve by picking sides, editing the merged result, or splitting hunks. Save the resolved file and the PR refreshes; the conflict marker on the PR clears once every conflict is resolved.
Merging
When a PR is approved and clear of conflicts, click Merge. Sursakit calls the upstream provider's merge API; the PR closes upstream and the underlying branches behave according to your provider's settings (squash, rebase, or merge commit).
Codex pull requests
When the Codex agent finishes a task, its work appears as a normal pull request in this same surface. Treat it like any other PR — read the diff, run the services, request changes, merge when ready.
Refreshing PR state
Sursakit fetches PR state on open and on push events. If the upstream state has drifted, click Refresh to re-fetch reviews, comments, and CI status.