Yes, weave detects renames via structural_hash (AST-normalized hash that ignores identifier names). If both sides rename the same function, it matches by structure and merges cleanly.

This will not work for refactors. In fact, any other change will break the hash. I know because I used this approach for quite some time.

Thanks a lot, I will test it out as you said, in the mean time, could you also open up an issue on the repo, so that it helps me and others to track the issue.

I will ask Claude to open it, thanks!

Thanks, lemme know how it goes, I will review and we can discuss over the issue.