> 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.
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.
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.
Cool, we do the same thing, but we also denote when a line is "AI generated but was modified by a human" (aka human made anything upwards of a 1 character change).
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.