Skip to main content

Moving through the diff

Symbols

Reviewing well means looking things up, so Assert resolves symbols inside the review. Navigation keeps a history, so O and I walk back and forth the way they do in vim. Right-click a symbol for the actions available on it. Symbol resolution covers TypeScript and JavaScript today, and more languages are on the way. Tell us which ones you want next at support@assert.dev.

Move detection

Refactors produce diffs that are mostly noise: a block deleted here, added there, which a line diff reports as two unrelated changes. Assert links moved code back to where it came from, including across files. Check the move was faithful and skip the rest. Matching is similarity-based, so a block that moved and picked up small edits still counts as a move. Blocks under 10 lines are ignored, and whitespace differences do not count against a match. Very large diffs skip move detection to keep the review fast. Agent-authored code refactors freely, and very little of the resulting diff is new behavior. This is where move detection earns its keep.