Review is built into the desktop shell, not bolted on after the fact.
Polystro treats review as part of the same workstream loop as execution. Reviewer agents, hunk-level diff controls, and Merge Center all exist to keep context warm while the work is still in motion.
Reviewer Agents
A reviewer can be spawned as its own dedicated agent tab against an isolated workspace. This makes review a concurrent activity rather than a blocking step that has to replace the main session.
Diff Review
The review surface can show file-by-file and hunk-by-hunk changes, with explicit accept and reject controls. That gives you a practical middle ground between trusting the whole output blindly and dropping into raw Git plumbing for every change.
Per-hunk decisions
Accept or reject specific hunks rather than taking the entire patch as one block.
Per-file actions
Accept all or reject all for a file when the right granularity is the file itself.
Editor handoff
Jump into the external editor when a conflict or edge case is easier to resolve there.
Reviewer follow-up
Reviewer sessions can become a source of fixes rather than only passive commentary.
Merge Center
Merge Center is the higher-level surface for looking at isolated workspaces, overlapping changes, conflicts, and follow-on merge or PR actions. It is the product's answer to the problem of supervising several agent workspaces without losing track of what is ready.
A Common Review Loop
Spawn or switch to a reviewer
Open a reviewer agent when you want a second pass before touching the diff yourself.
Inspect the diff at the right granularity
Start at the file level, then drop to hunk-level acceptance when only part of the change is correct.
Open the editor only when needed
Use editor handoff for conflict resolution or manual inspection, not as the default path for every review step.
Return through Merge Center
Use Merge Center to keep the isolated workspace, review state, and next merge action visible together.
Why Review Stays Local
Review in Polystro stays attached to the workstream because the value is not only in the diff. The surrounding terminal state, preview, and browser context often matter just as much as the changed files themselves when deciding whether something is actually ready.