Review & Merge
Every issue with a branch has a pull-request-style review screen. Open an issue in DOING and click Review Changes in its sidebar to see what changed, read the agent's explanation, discuss, and ship — without leaving the board.
Review Changes shows as soon as the worktree has any changes, even when they are only new, untracked files. It is then the top, primary button, and Start Work or Continue Work turns secondary.
Tabs
| Tab | What's in it |
|---|---|
| Walkthrough | The implementation walkthrough, if one has been written. Shown first when it exists |
| Commits | Commits on the issue's branch |
| Files changed | The diff, with a file tree and a "Filter files..." box |
| Conversation | The issue's comments, with a box to add your own |
Agent comments in the conversation show the person the agent works for. Their name has a dashed underline; hover it to see the agent ("Claude Code for Alice").
Watching work in progress
The Files changed tab has a scope toggle:
- All changes — everything on the branch compared to
main. - Uncommitted — the worktree's uncommitted and untracked changes. This view refreshes every 3 seconds while it's open, so you can watch an agent work in real time. The view opens on this scope while the branch has no commits yet.
The file tree colors files by state: amber for uncommitted or untracked, green for new, red for deleted. The "Files changed" count follows the active scope.
Use the refresh button to reload commits, diffs, and merge status on demand. If a refresh fails, you'll see "Couldn't refresh" with the time of the last good update, so you're never looking at stale changes without knowing it.
Open the worktree in your editor
When the issue has a local worktree, the issue's top bar shows an Open button that opens the worktree in VS Code.
Merging
The merge bar shows whether the branch can merge:
- Ready to merge — merging will close the issue.
- No commits to merge — commit the work first. If there are uncommitted changes, it tells you so.
- Blocked — for example, uncommitted files in the worktree that would be lost. Click the message to see which files.
Choose a strategy from the merge button's menu:
| Strategy | Result |
|---|---|
| Squash and merge (default) | A single commit on main |
| Create merge commit | Preserves branch history |
| Fast-forward | Linear history, no merge commit |
Confirming opens a dialog where you can edit the commit message and choose to delete the branch.
The merge records the event, marks the issue DONE, and removes its worktree. The CLI equivalent is xpo merge <id> — see Status.
After the merge
A merged issue has a View changes button in its sidebar. It opens the read-only Merged view: the walkthrough, commits, diff and conversation, read from the merge commit, with who merged it and when. If you merge while the merge view is open, for example from an agent chat, it switches to the Merged view in place.