{"slug": "weave", "name": "Weave", "category": "git", "category_name": "Git and code hosting", "description": "", "recommenders": 5, "commenters": 13, "warners": 4, "score": 1.711, "rising": -1.64, "first": "2026-03-03", "latest": "2026-07-13", "why": "I find the organization level view and pivots useful and aligned with intuitive expectations.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 2, "compare": 2, "warn": 4}, "spark": [0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I find the organization level view and pivots useful and aligned with intuitive expectations.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/ataraxy-labs/weave", "official_url": "https://github.com/Ataraxy-Labs/weave", "pricing": "", "aliases": ["Weave", "weave"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 782418608, "item_id": 48901163, "url": "https://news.ycombinator.com/item?id=48901163", "by": "dnackoul", "date": "2026-07-13", "stance": "recommend", "quote": "I find the organization level view and pivots useful and aligned with intuitive expectations.", "excerpt": "We use a tool called Weave (I believe YC 25?) that analyzes PRs for \"expert units of work\" and shows lift from AI tools. My understanding is they have their own proprietary model that assesses the difficulty of each PR. I find the organization level view and pivots useful and aligned with intuitive expectations.", "context": "team using it at work", "use_case": "measuring AI lift on PRs", "switched_from": "", "story": "A Study of Microsoft's Early 2026 Rollout of Claude Code and GitHub Copilot CLI"}, {"id": 767315600, "item_id": 47957225, "url": "https://news.ycombinator.com/item?id=47957225", "by": "gavmor", "date": "2026-04-29", "stance": "recommend", "quote": "Check out Ataraxy-Labs/weave for AST-aware git merges.", "excerpt": "Check out Ataraxy-Labs/weave for AST-aware git merges. But, I wonder, do AST-aware tools cleave to the LLM training manifold the way coding-tutorial slop does?", "context": "", "use_case": "", "switched_from": "", "story": "Vera: a programming language designed for machines to write"}, {"id": 755937968, "item_id": 47246123, "url": "https://news.ycombinator.com/item?id=47246123", "by": "rohitpaulk", "date": "2026-03-04", "stance": "recommend", "quote": "imo the website does a better job of explaining what it does", "excerpt": "Saw this on Twitter a few weeks ago, interesting approach. The post links to the GitHub repo, but imo the website does a better job of explaining what it does: https://ataraxy-labs.github.io/weave/", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755897504, "item_id": 47243594, "url": "https://news.ycombinator.com/item?id=47243594", "by": "Palanikannan", "date": "2026-03-03", "stance": "recommend", "quote": "i've been actively using weave for a gui I've been building for blazingly fast diffs", "excerpt": "https://github.com/Ataraxy-Labs/weave/pull/11 Dude did you just call me AI generated haha, i've been actively using weave for a gui I've been building for blazingly fast diffs https://x.com/Palanikannan_M/status/2022190215021126004 So whenever I run into bugs I patched locally in my clone, I try to let the clanker raise a pr upstream, insane how easy things are now.", "context": "", "use_case": "Language-aware merge", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755872464, "item_id": 47242029, "url": "https://news.ycombinator.com/item?id=47242029", "by": "sea-gold", "date": "2026-03-03", "stance": "recommend", "quote": "this sounds like it would be really valuable to me.", "excerpt": "Website: https://ataraxy-labs.github.io/weave/ I haven't tried it but this sounds like it would be really valuable to me.", "context": "", "use_case": "Language-aware merging", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 776399872, "item_id": 48524992, "url": "https://news.ycombinator.com/item?id=48524992", "by": "igravious", "date": "2026-06-14", "stance": "warn", "quote": "This tool does not work.", "excerpt": "This tool does not work. I wanted it to work. I wanted to automate merges with AI supervision. No dice. Silent corruption that wouldn't go away no matter how many issues I filed. Unacceptable. Had to disable it. https://github.com/Ataraxy-Labs/weave/issues?q=is%3Aissue%20silent Be warned.", "context": "", "use_case": "automating merges with AI supervision", "switched_from": "", "story": "Weave: Merging based on language structure and not lines"}, {"id": 776395969, "item_id": 48524748, "url": "https://news.ycombinator.com/item?id=48524748", "by": "csomar", "date": "2026-06-13", "stance": "warn", "quote": "I haven't found any cases where it actually outperforms mergiraf", "excerpt": "I'm working on an online diff tool (https://codeinput.com/products/merge-conflicts) and recently added a mergiraf integration. Basically, the tool loads your git merge but uses mergiraf as the resolution driver. Then add these auto-resolved files to the editor instead of auto-resolving directly. I also tried out weave, but apart from TypeScript, I haven't found any cases where it actually outperforms mergiraf (I run ", "context": "", "use_case": "", "switched_from": "", "story": "Weave: Merging based on language structure and not lines"}, {"id": 759217809, "item_id": 47451113, "url": "https://news.ycombinator.com/item?id=47451113", "by": "22c", "date": "2026-03-19", "stance": "warn", "quote": "I have noticed some rather concerning merge \"resolutions\".", "excerpt": "Looks similar to sem/weave https://github.com/ataraxy-labs/sem https://github.com/ataraxy-labs/weave Though, despite the claims, I am not sure if these are ready for prime-time yet. I have noticed some rather concerning merge \"resolutions\".", "context": "", "use_case": "", "switched_from": "", "story": "Kin: Semantic version control that tracks code as entities, not files"}, {"id": 755895856, "item_id": 47243491, "url": "https://news.ycombinator.com/item?id=47243491", "by": "gritzko", "date": "2026-03-03", "stance": "warn", "quote": "This will not work for refactors.", "excerpt": "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.", "context": "", "use_case": "Language-aware merging", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}]}], "who": [{"by": "dnackoul", "context": "team using it at work", "url": "https://news.ycombinator.com/item?id=48901163", "date": "2026-07-13"}], "tags": [], "use_cases": ["language-aware merging", "measuring ai lift on prs", "automating merges with ai supervision", "language-aware merge"], "compared": [{"slug": "sem", "name": "sem", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "mergiraf", "name": "Mergiraf", "co": 4, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 776402320, "item_id": 48525145, "url": "https://news.ycombinator.com/item?id=48525145", "by": "rohanat", "date": "2026-06-14", "stance": "recommend", "quote": "I love to receive any feedback that you think can improve it and make it a more generalized solution.", "excerpt": "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.", "context": "", "use_case": "semantic merging", "switched_from": "", "story": "Weave: Merging based on language structure and not lines"}, {"id": 767323249, "item_id": 47957703, "url": "https://news.ycombinator.com/item?id=47957703", "by": "rs545837", "date": "2026-04-29", "stance": "recommend", "quote": "weave (same org) takes it further and does git merges at entity level.", "excerpt": "I agree 100% with this thinking approach, I've been working in this domain for quite a few months now. The right granularity for agents isn't files or lines, it's entities: functions, classes, methods. That's how both humans and agents actually think about code. We built sem(Ataraxy-Labs/sem) which extracts entities from 30+ languages via tree-sitter and builds a cross-file dependency graph, so building semantic vers", "context": "", "use_case": "entity-level git merges", "switched_from": "", "story": "Vera: a programming language designed for machines to write"}, {"id": 756891329, "item_id": 47305708, "url": "https://news.ycombinator.com/item?id=47305708", "by": "rs545837", "date": "2026-03-09", "stance": "recommend", "quote": "that level of understanding is enough to resolve 100% of false conflicts on our benchmarks", "excerpt": "You're right that \"semantic\" is doing some heavy lifting in the name. We use it to mean \"understands code structure\" rather than \"understands code meaning.\" sem knows that something like \"validateToken\" is a function and tracks it as an entity across versions, but it doesn't know what validation means. For the merge use case (weave - https://ataraxy-labs.github.io/weave/), that level of understanding is enough to res", "context": "", "use_case": "merge conflict resolution", "switched_from": "", "story": "Sem \u2013 Semantic version control. Entity-level diffs on top of Git"}, {"id": 755917648, "item_id": 47244853, "url": "https://news.ycombinator.com/item?id=47244853", "by": "rs545837", "date": "2026-03-04", "stance": "recommend", "quote": "C# is supported!", "excerpt": "C# is supported! It goes through sem-core's(the underlying library for parsing we use in Weave) tree-sitter-c-sharp plugin. Classes, methods, interfaces, enums, structs are all extracted with it. Let me know if you hit anything.", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755908272, "item_id": 47244267, "url": "https://news.ycombinator.com/item?id=47244267", "by": "rs545837", "date": "2026-03-03", "stance": "neutral", "quote": "I actually added that on the website", "excerpt": "what kind of compariosn table are you looking for? I actually added that on the website https://ataraxy-labs.github.io/weave/", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755888992, "item_id": 47243062, "url": "https://news.ycombinator.com/item?id=47243062", "by": "rs545837", "date": "2026-03-03", "stance": "recommend", "quote": "Weave plugs in through git's merge driver interface", "excerpt": "We got asked this on the X thread too, when we went viral here https://x.com/rs545837/status/2021020365376671820. Your git doesn't change at all. Weave plugs in through git's merge driver interface (.gitattributes), so git still handles everything, it just calls weave for the content merge step instead of its default line-level algorithm. All your git commands, workflow, and history stay exactly the same. For diffing", "context": "", "use_case": "entity-level git merge driver", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}], "threads": [{"url": "https://news.ycombinator.com/item?id=47241976", "title": "Weave \u2013 A language aware merge algorithm based on entities", "mentions": 11}, {"url": "https://news.ycombinator.com/item?id=48523705", "title": "Weave: Merging based on language structure and not lines", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=47955118", "title": "Vera: a programming language designed for machines to write", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48899321", "title": "A Study of Microsoft's Early 2026 Rollout of Claude Code and GitHub Copilot CLI", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47450514", "title": "Kin: Semantic version control that tracks code as entities, not files", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47294924", "title": "Sem \u2013 Semantic version control. Entity-level diffs on top of Git", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {"recommend": 3, "compare": 1, "neutral": 2, "warn": 2}, "2026-04": {"recommend": 1}, "2026-05": {}, "2026-06": {"compare": 1, "warn": 2}, "2026-07": {"recommend": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 782418608, "item_id": 48901163, "url": "https://news.ycombinator.com/item?id=48901163", "by": "dnackoul", "date": "2026-07-13", "stance": "recommend", "quote": "I find the organization level view and pivots useful and aligned with intuitive expectations.", "excerpt": "We use a tool called Weave (I believe YC 25?) that analyzes PRs for \"expert units of work\" and shows lift from AI tools. My understanding is they have their own proprietary model that assesses the difficulty of each PR. I find the organization level view and pivots useful and aligned with intuitive expectations.", "context": "team using it at work", "use_case": "measuring AI lift on PRs", "switched_from": "", "story": "A Study of Microsoft's Early 2026 Rollout of Claude Code and GitHub Copilot CLI"}, {"id": 776399872, "item_id": 48524992, "url": "https://news.ycombinator.com/item?id=48524992", "by": "igravious", "date": "2026-06-14", "stance": "warn", "quote": "This tool does not work.", "excerpt": "This tool does not work. I wanted it to work. I wanted to automate merges with AI supervision. No dice. Silent corruption that wouldn't go away no matter how many issues I filed. Unacceptable. Had to disable it. https://github.com/Ataraxy-Labs/weave/issues?q=is%3Aissue%20silent Be warned.", "context": "", "use_case": "automating merges with AI supervision", "switched_from": "", "story": "Weave: Merging based on language structure and not lines"}, {"id": 776395969, "item_id": 48524748, "url": "https://news.ycombinator.com/item?id=48524748", "by": "csomar", "date": "2026-06-13", "stance": "warn", "quote": "I haven't found any cases where it actually outperforms mergiraf", "excerpt": "I'm working on an online diff tool (https://codeinput.com/products/merge-conflicts) and recently added a mergiraf integration. Basically, the tool loads your git merge but uses mergiraf as the resolution driver. Then add these auto-resolved files to the editor instead of auto-resolving directly. I also tried out weave, but apart from TypeScript, I haven't found any cases where it actually outperforms mergiraf (I run ", "context": "", "use_case": "", "switched_from": "", "story": "Weave: Merging based on language structure and not lines"}, {"id": 776392800, "item_id": 48524550, "url": "https://news.ycombinator.com/item?id=48524550", "by": "rapnie", "date": "2026-06-13", "stance": "compare", "quote": "There's a benchmark on the site that compares with mergiraf.", "excerpt": "There's a benchmark on the site that compares with mergiraf. https://ataraxy-labs.github.io/weave/benchmarks.html", "context": "", "use_case": "", "switched_from": "", "story": "Weave: Merging based on language structure and not lines"}, {"id": 767315600, "item_id": 47957225, "url": "https://news.ycombinator.com/item?id=47957225", "by": "gavmor", "date": "2026-04-29", "stance": "recommend", "quote": "Check out Ataraxy-Labs/weave for AST-aware git merges.", "excerpt": "Check out Ataraxy-Labs/weave for AST-aware git merges. But, I wonder, do AST-aware tools cleave to the LLM training manifold the way coding-tutorial slop does?", "context": "", "use_case": "", "switched_from": "", "story": "Vera: a programming language designed for machines to write"}, {"id": 759217809, "item_id": 47451113, "url": "https://news.ycombinator.com/item?id=47451113", "by": "22c", "date": "2026-03-19", "stance": "warn", "quote": "I have noticed some rather concerning merge \"resolutions\".", "excerpt": "Looks similar to sem/weave https://github.com/ataraxy-labs/sem https://github.com/ataraxy-labs/weave Though, despite the claims, I am not sure if these are ready for prime-time yet. I have noticed some rather concerning merge \"resolutions\".", "context": "", "use_case": "", "switched_from": "", "story": "Kin: Semantic version control that tracks code as entities, not files"}, {"id": 756003377, "item_id": 47250211, "url": "https://news.ycombinator.com/item?id=47250211", "by": "bigcojosh", "date": "2026-03-04", "stance": "neutral", "quote": "it looks like it's planned for weave too", "excerpt": "that's pretty cool, thank you worth mentioning that mergiraf is already supported for windows. from https://github.com/Ataraxy-Labs/weave/issues/7 it looks like it's planned for weave too at some point?", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755937968, "item_id": 47246123, "url": "https://news.ycombinator.com/item?id=47246123", "by": "rohitpaulk", "date": "2026-03-04", "stance": "recommend", "quote": "imo the website does a better job of explaining what it does", "excerpt": "Saw this on Twitter a few weeks ago, interesting approach. The post links to the GitHub repo, but imo the website does a better job of explaining what it does: https://ataraxy-labs.github.io/weave/", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755897504, "item_id": 47243594, "url": "https://news.ycombinator.com/item?id=47243594", "by": "Palanikannan", "date": "2026-03-03", "stance": "recommend", "quote": "i've been actively using weave for a gui I've been building for blazingly fast diffs", "excerpt": "https://github.com/Ataraxy-Labs/weave/pull/11 Dude did you just call me AI generated haha, i've been actively using weave for a gui I've been building for blazingly fast diffs https://x.com/Palanikannan_M/status/2022190215021126004 So whenever I run into bugs I patched locally in my clone, I try to let the clanker raise a pr upstream, insane how easy things are now.", "context": "", "use_case": "Language-aware merge", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755895856, "item_id": 47243491, "url": "https://news.ycombinator.com/item?id=47243491", "by": "gritzko", "date": "2026-03-03", "stance": "warn", "quote": "This will not work for refactors.", "excerpt": "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.", "context": "", "use_case": "Language-aware merging", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755888432, "item_id": 47243027, "url": "https://news.ycombinator.com/item?id=47243027", "by": "WalterGR", "date": "2026-03-03", "stance": "neutral", "quote": "Can I use it to diff arbitrary files?", "excerpt": "It\u2019s described as a \u201cmerge driver for Git\u201d. Is it usable independently of git? Can I use it to diff arbitrary files?", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755886625, "item_id": 47242914, "url": "https://news.ycombinator.com/item?id=47242914", "by": "rs545837", "date": "2026-03-03", "stance": "neutral", "quote": "the pragmatic reason weave works at the git layer", "excerpt": "This is the right question. Storing ASTs directly would make all of this native instead of layered on top. The pragmatic reason weave works at the git layer: adoption. Getting people to switch merge drivers is hard enough, getting them to switch VCS is nearly impossible. So weave parses the three file versions on the fly during merge, extracts entities, resolves per-entity, and writes back a normal file that git stor", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755881792, "item_id": 47242612, "url": "https://news.ycombinator.com/item?id=47242612", "by": "keysersoze33", "date": "2026-03-03", "stance": "compare", "quote": "Interesting that Weave tries to solve Mergiref's shortcomings", "excerpt": "Interesting that Weave tries to solve Mergiref's shortcomings (also Tree-sitter based): > git merges lines. mergiraf merges tree nodes. weave merges entities. [1] I've been using mergiraf for ~6 months and tried to use it to resolve a conflict from multiple Claude instances editing a large bash script. Sadly neither support bash out of the box, which makes me suspect that classic merge is better in this/some cases...", "context": "", "use_case": "", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}, {"id": 755872464, "item_id": 47242029, "url": "https://news.ycombinator.com/item?id=47242029", "by": "sea-gold", "date": "2026-03-03", "stance": "recommend", "quote": "this sounds like it would be really valuable to me.", "excerpt": "Website: https://ataraxy-labs.github.io/weave/ I haven't tried it but this sounds like it would be really valuable to me.", "context": "", "use_case": "Language-aware merging", "switched_from": "", "story": "Weave \u2013 A language aware merge algorithm based on entities"}]}