[Question] how do you approach iterating on diff

Question to fellow developers, I would like to know how you are working with diffs, my usual workflow looks like this:

Plan new changes
Build
Ask questions and iterate

Certain implementation sometimes rise suspicion and i need to go in depth on why certain decisions were made. In cases of bigger diffs i wonder, do you for example go over everything and accept them while taking notes / addressing it in different chat. Or do you keep the diff not accepted and iterate?

What i’m worried about is context usage here so i don’t want to reuse the same chat but at the same time understanding what was changes per second request in a pretty big diff is overwhelming. For example there are 15 files touched, i wanna address some decisions and the model decides to change 3 of the files but because there is already diff in those files its hard to understand what was changed for that request.

Would be happy to hear how you are managing with this/what are your methods or workflows

Hey Gandhi!

The diff view shows everything accumulated from the start of the chat, not just what the last prompt changed. So when you’re on your third refinement pass and the agent touched 3 files that already had diffs pending you can’t tell what’s new.

On my side every change I make has to pass the smell test against that. I’ve seen a few patterns that actually solve this, and they all goes down to the same trick: give each round its own baseline since the stash pattern is the most common one I see from heavy users.

Round 1 goes in chat 1, you accept/stash/commit, round 2 goes in chat 2. Each chat sees a clean working tree, each diff is reviewable on its own. The context you preserve is in git, not in the conversation history.

Having a safety net (big gate) before checking or proceeding with code, has a highest success rate than just deploying.

My workflow would personally:

Chat A refactors the auth module (auth.ts, middleware.ts) + Chat B adds the API route (routes/user.ts) after that Accept Chat A fully before starting Chat B. The files don’t overlap, so the diffs stay clean.