That's really odd, maybe the tree is somehow messed up? I've never had this problem. What's conflicting?

Can you try it on a fresh clone and see if it still happens?

Maybe it’s based on whether the GitHub merge is a squash, rebase, or plain merge? Or do folks usually manually perform the merge with jj?

It shouldn't matter, under the hood the tree is the same for both. I don't know why jj would complain but git wouldn't, hm.

I wonder if they've got files tracked by git-lfs. `jj` doesn't handle those yet.

for me, squash merges are enforced on github, and usually results in some weird / empty commits if i rebase a local stack after pulling in changes with part of the stack merged.