Recent submissions

Comment · 1 month ago
its definitely bad to see
Comment · 4 months ago
have you considered a deterministic tier before the embedding pass? I feel that approach can be more efficient.
Comment · 4 months ago
Comment · 4 months ago
This is great, and sorry we never landed a time after Reddit, that one's on me. Let's actually fix it, could you email me on [email protected].

For context on where the gap might be: weave matches at the entity level (functions/classes/methods by name + type + scope) and uses structural hashing for rename/reorder detection, so it should shine on reorders, renames, and large same-file edits, and may be at parity elsewhere. If your stream tags conflicts by language and type, comparing where each driver wins would be useful to both of us.

Comment · 4 months ago
Different layer. SemanticDiff is a language-aware diff viewer, it helps you read a change. weave is a merge driver, it resolves the three-way merge so you get fewer conflicts in the first place. The closer analog to SemanticDiff in our stack is sem diff.
Comment · 4 months ago
I am sorry about your experience igra, but to be fair, yeah there are some failure cases but I love to receive any feedback that you think can improve it and make it a more generalized solution.
Comment · 4 months ago
Thanks a lot for the feedback, appreicate it!
Comment · 4 months ago
Yeah you can find the readme on the github repository.
Comment · 4 months ago
Thanks a lot for this feedback, you are right, but I actually had a page about the merge algorithm more in depth, maybe you will love it.
Comment · 4 months ago
Totally fair. The merge logic doesn't care whether a human or an agent wrote the commit, "two commits touch different functions in the same file, clean merge" is exactly how a human should read it too. We lead with agents because that's where merge volume is about to explode and the pain is worst, not because it's agent-only. Point taken on the copy, I'll make it less exclusionary.
Comment · 4 months ago
Good question. Weave is a standard git merge driver, so it slots into the existing flow rather than replacing it. You wire it up in .gitattributes, and it only changes the 3-way conflict-resolution step that git already runs. The output is a normal merged tree, so everything an org layers on top still runs unchanged: branch protection, required status checks, code scanning, CI. It isn't bypassing any of that. It just resolves conflicts by entity structure (functions, classes, methods) instead of line hunks, then hands a regular file back to git.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton