Posts / ai
Rewriting History, One Commit at a Time
Spent a bit of time on r/LocalLLaMA last night, which is usually where I go when I want to feel simultaneously excited and slightly nauseous about where AI is heading. Yesterday’s top post was a good one: someone noticed that a project called Strata had quietly rewritten its entire Git history. Every commit that used to say “Co-Authored by Claude” had been scrubbed. Not deleted, not hidden, actually rewritten at the source so the trail disappeared. The person who found it put it simply: they couldn’t think of a reason to do that other than wanting to be dishonest about where the code came from.
I sat with that one for a while, because my first reaction was “yeah, that’s a bit grubby,” and my second reaction was “hang on, is it, though?”
Git history is meant to be the one place where provenance can’t be fudged. Every commit has a hash, a timestamp, a chain back to the one before it. It’s the ledger. When you rewrite it to remove something true, you’re not editing a typo, you’re falsifying the record. That’s the bit that got under my skin. If you don’t want AI attribution in your commits going forward, fine, turn it off. But going back and sanding away evidence that it happened at all is a different thing entirely. It reads like a company that wants investors or users to believe the whole thing was handcrafted by human genius, when in fact a chunk of it was Claude doing the heavy lifting.
The comments on the thread split in a way I found genuinely interesting, and not in the usual “pile on” way Reddit comment sections tend to go. One side was annoyed about something adjacent but different: the “Co-Authored by Claude” tag itself, not as a lie but as free advertising Anthropic sticks into your repo whether you want it there or not. Someone compared it to “sent from my iPhone” showing up on every email, and honestly, fair point. I don’t love when a tool inserts its own branding into my output without asking. There’s a difference between disclosure and a logo stamped on the side of your work.
The other side made an argument that stuck with me more: a model can’t be a co-author, because authorship isn’t just a credit line, it’s an acceptance of responsibility. A person who signs their name to code is on the hook if it breaks prod at 3am. Claude isn’t getting paged. So calling it “co-authored by Claude” is a category error either way; it’s not accurate attribution, it’s marketing dressed up as a credit. I don’t know where I land on that distinction yet, and I don’t think I need to pretend I do. Both things can be true: the branding is annoying, and erasing it afterwards to hide that you used it at all is a worse kind of annoying.
This isn’t really a new problem, it’s an old one wearing a new jacket. I’ve been in software for a long time now, long enough to remember “written in Visual Basic” being something people were a bit embarrassed to put on a CV. Every generation of tooling has had its stigma, and every generation of developers has had some version of this argument: is using the tool cheating, or is refusing to disclose the tool the actual sin? Stack Overflow copy-paste jobs had the same energy a decade ago, minus the moral panic about sentience.
What makes this one sharper is the stakes. If a junior dev at my workplace quietly let an LLM write half a pull request and didn’t mention it, that’s a conversation about honesty, not really about AI. Code review exists precisely so someone else can ask “why did you do it this way” and get a real answer. If the honest answer is “I don’t know, the model suggested it,” that matters, and papering over the history to avoid ever having that conversation feels like avoiding the actual job, which is understanding what you ship.
I use Claude and Copilot regularly for work, mostly for scaffolding and the boring bits I’d rather not type out by hand. I’ve never felt the urge to hide that. If anything I’ll happily tell a colleague “yeah, had the AI draft the first pass of that function, then fixed the bits it got wrong,” because that’s just what the job looks like now. Pretending otherwise feels like more effort than it’s worth, and also a bit like lying to yourself about how the sausage gets made.
None of this gets resolved cleanly, and I don’t think it’s supposed to. We’re going to keep arguing about what counts as authorship, what counts as disclosure, and what counts as advertising for the next few years at least, probably longer. The one thing I keep coming back to is that rewriting the historical record to make your work look purer than it was is a worse look than just admitting a chatbot helped you write a function. Nobody’s going to mistake Strata for a team of hand-coding monks either way. Might as well be straight about it.