sunshowers
sunshowers on Hacker News
> Its also faster than Redis for KV
No. Wrong. False. All performance numbers are plainly invalid. As my coworker says, performance numbers don't count if the code is broken.
I would highly recommend leaving the industry. You are not at the caliber required for this kind of work, and you are not aware that you are not at the caliber required for this kind of work. You bring shame to our profession.
> jj is in practice a wrapper around Git
No, git-branchless is a wrapper around Git. jj is an independent source control system with git compatibility. jj can, and does, function entirely without git.
> I'm not sure where you're getting two production backends from. I guess you're referring to the Google internal one that nobody can use?
Lots of people within Google use it!
It is more powerful and easier to use, for both humans and agents.
No, jj is not a wrapper around git. It is a source control system of its own that has git as one of at least two production backends. This distinction matters because git wrappers don't tend to have fundamental concepts of their own like the operation and evolution logs.
(I left Meta in September 2022, so I haven't worked there in four years. My current coworkers can attest to the fact that I'm not proud of working at Meta, but I am proud of the world-class nature of what our teams built. In any case, I don't believe my personal feelings about Meta have any bearing on the matter.)
This is very similar to the way SCMQuery existed before Mononoke and eventually became served by it. The source control team at Meta was, and is, quite familiar with hybrid deployments of the kind you describe, though of course at longer timescales.
I'm not aware of anything published, but the code is open source, and if you're so inclined you can probably point a clanker at it. The second one is called "redaction" in Mononoke, I believe (obliteration is a different term for it, as is censorship).
You are correct that integer sequence numbers and redaction are both reasonable things to want -- we just believed (for a variety of reasons) that the core should be Merkle and that these things should be built on top.
These were both solved as part of the data model via globalrevs and obliteration respectively. But that is besides the point here? The next time you're designing a source control system you're welcome to pick your favorite points in the design space.
Thanks for the comment. To the best of my knowledge, Piper is not Merkle DAG based, and instead uses a (completely linear?) sequence number similar to Subversion. I believe they ended up faking those hashes for Fig. I'm not actually sure what they do for Jujutsu compatibility, maybe they've added a Merkle layer since.
We were compelled to model things as a DAG to be able to handle the occasional merge commit (this makes the algorithms a lot harder), and we wanted the Merkleness for its desirable properties such as being easily cacheable and straightforward to do integrity checks on. We wrote a bidirectional conversion layer between the Mercurial and Bonsai data models, with great attention paid to complete reversibility. (That's how I got into property-based testing, by the way! My coworker also used Alloy to formally verify the data model.)
The closest equivalent is probably Monotone, actually, though it only had one tree/manifest format which was baked into the changeset, while Mononoke got rid of that and _only_ relied on the changes, flipped the pointer directions, and generalized that to arbitrary kinds of derived data. (This was at the cost of having to maintain mapping layers in a database.)
Thanks for the response, Durham. I hope you're doing well. I've always appreciated your magnanimity, but I want to note that this belief is not unanimous among the current source control team at Meta.
Posted by
sunshowers on Thursday October 15, 2026 @01:05PM
from the sunshowers.io dept.
https://sunshowers.io/posts/anthropic-mononoke-2/
Redesigning source control at Anthropic - https://news.ycombinator.com/item?id=50073633 (996 comments)Anthropic's Scion is heavily inspired by Mononoke - https://news.ycombinator.com/item?id=50094694 (149 comments)
Thanks. Indeed, the Scion design is quite good because Claude was pointed directly to Mononoke and asked to analyze the code base and copy it. I am very proud of what our team built by making contrarian bets at exactly the right spots.
Except the resemblances extend to the entire server, not just the idea of derived data. The idea of derived data becomes apparent only once you have bought into the core Mononoke insight about Bonsai changesets, later copied wholesale and presented as the core Scion insight about Scion changesets.
As I suspected at the time of writing the post (but could not verify) and as was later confirmed in private correspondence to me, Anthropic did not come up with this from first principles. Claude was pointed directly at Mononoke and asked to re-engineer it.
Yes, I am aware that that credit is not required by law, nor in this case do I wish for credit to be required by law. I am appealing to norms, to basic decency.
No? Did you read my post? The problem is the lack of attribution.
Okay, well, in this case (even accepting your argument) I've been told there is direct overlap in contributors so there is no feasible way they couldn't have known.
Yes, and I would like it to explicitly say that their data model is very similar to Mononoke's, and avoid even the appearance of the idea that Claude came up with it de novo.
Okay, well, I actually do think it is part of the basic duty of an engineer to do that.
From my post:
> And, to be clear, I do not have a problem with Anthropic copying Mononoke’s design. (This is part of why we put out open source — to benefit humanity through the spread of good ideas.)
> But as LLMs continue to assist in designing new systems, they are likely to index heavily on existing designs. Mononoke is open source and in every LLM’s training set. If you ask Opus 5.5 or GPT-6 Astra (thanks Matthew Fowle) about prior art, they both immediately point out the similarities to Mononoke.
> Giving credit to those that came before us is now easier — and more important — than ever. There is no longer an excuse.
Help me understand. When you write a post about designing a system, do you not do some basic diligence about what existing systems you resemble?
Open source is not IP maximalist by any means. I am merely asking that the appropriate credit be provided.
Thanks! Yeah, I think overall several more organizations are going to reach the scale that Meta reached a while ago. I'm not sure if they'll go in the monorepo or polyrepo direction, though; I can see arguments both ways.
Did you read my post?
> And, to be clear, I do not have a problem with Anthropic copying Mononoke’s design. (This is part of why we put out open source — to benefit humanity through the spread of good ideas.)
Followed by:
> But as LLMs continue to assist in designing new systems, they are likely to index heavily on existing designs. Mononoke is open source and in every LLM’s training set. If you ask Opus 5.5 or GPT-6 Astra (thanks Matthew Fowle) about prior art, they both immediately point out the similarities to Mononoke.
I think it is the duty of any responsible engineer to look for and cite prior art and related work, if only to compare notes.
It's a bit complicated:
1. Sapling can refer to either the system as a whole, or just the client people use (`sl`, forked from `hg`).
2. EdenFS is the virtualized FUSE filesystem (closely modeled after SrcFS at Google).
3. Mononoke is the distributed system that implements the backend server storage + the API they describe for checkout-less writes.
All three come together to form the core of the Meta source control experience. From what I can tell, Anthropic built its own version of 1 and copied 2 and 3, plus also built out a code review tool separately.
Scion is far more similar to Mononoke than Git is to BitKeeper.
The level of inspiration goes well beyond "hard-won lessons". Something like Lore (slop design document aside) can claim that level of inspiration. Here the data model is a direct copy, down to the terminology.
To be uncharitable, this is marketing for Anthropic's impending IPO.
I do not think Linus has ever claimed that Git wasn't following in the footsteps of those systems.
To be clear, Mononoke is the server-side part of the Sapling system as deployed at Meta. Scion appears to be very closely inspired by Mononoke.