> A git repository is already a history of versions each carrying a provenance marker — every revision of the file, in order, with the author of the change that made it.

Maybe I'm missing how people use AI these days but when I have an agent working locally, all git commits have my authorship attached.

I take care of that in two ways, 1) is via claude hooks, I make sure these are tagged as claude, 2) my sandboxed agents have git env vars set, with the same effect.

Does Claude run git commit on every change it makes? Doesn't that pollute your git history?

Although that would be an option (I've considered commit on every edit at one point), what I actually ended up doing is that I hook into all Bash tool calls, look if there's a git commit in there, and if so, I prepend it with the right git env variables.

Claude's system prompt tells it to sign git commits with "co-authored by Claude [model]".

(Codex doesn't do that.)

GitHub renders this as two authors for those commits.

It should really say “authored by Claude” and “committed by X”.

A /precommit tool can be very powerful -- not only can it run the tests, do light code review on its own, spin up sub-agents to review performance/architecture/etc impacts, but it can also write hilariously-verbose commit messages once everything passes, detailing not only what changed but why it changed.. tagged with Claude as a co-author.

> write hilariously-verbose commit messages […] detailing not only what changed but why it changed

this can come in super-handy from time to time