I've been using the beta of Delta for a couple weeks and using it for review is a huge improvement over reviewing directly on the PR. Being able to jump into a team mates thread and see the context of how something got created and be able to ask questions about it very nice. There's some rough edges in the product, but the direction they are going is pretty interesting.

But what if your PR was created as half chat, then an agent, then some more chat planning, possibly in a new chat to clear the context? I think my teammates would find my inner monologue rather confusing at times.

The sequence of commits I present a purely optimized for reviewing, and not an actual record of what happened. I’m not going to read another person’s 100 turn slop factory, because they couldn’t express their change in one paragraph.

Yeah, my solution to this problem has been to get Claude to use jj to create a clean commit history. Each commit serves a single purpose and includes what drove the decisions we made. You lose the noise and still have the meaning.

So I'm a little unclear as to benefit of this. It sounds...wasteful?

What does jj specifically enable for that workflow?

It drastically simplifies the process.

Redescribe, reorder, split, squash, abandon commits is trivial.

Auto-rebasing is fantastic, fix a conflict once and not have to keep correcting.

You can rebase individual commits, ranges of commits, etc. You can also rebase trees I.e. forking branches with a common ancestor, with a single command.

The operation log also makes it feel super safe. You can always undo a jj operation or restore to a past state

[flagged]

I've been curious about using it but the fact it needs to upload everything makes it something I can't do with work and then don't see the immediate value of on projects by myself.