Hi Vladimir,
Thanks for bringing this up.
I personally would prefer to not see any mentions of AI tools in the commit
message, under any forms, but I believe it's very important to have it in
the PR description.
Why no AI mentions in commit messages: when the commit lands in main, I
assume it has all it needs (quality, clarity, respecting repo and community
conventions etc.), and it's less important how we got there, including if
AI was used, similarly to what IDE, linter, testing framework etc. were
used. So adding it there it's just unnecessary information and noise IMO,
and commit messages should have the highest SNR as possible.
Why I think it's important to add it to the PR description:
I look at AI-assisted PRs a little differently so I'd rather know it from
the beginning and don't change strategy after a while.
It's always been the case that some parts of a PR would be more
"mechanical" than others and I appreciate PR authors to be frank about that
so I can spend more time on those parts to fill the gap. With AI tools the
chance for these mechanical parts increased, it would be great to be
upfront on where attention is more needed. Possibly mentioning what model
was used here could make sense if one wants to run an automatic review
round with another model.
Looking forward to here what the community thinks of this interesting
topic.
Best regards,
Alessandro
On Mon, Aug 31, 2026, 07:45 Vladimir Sitnikov <[email protected]
wrote:
Hi,
I filed CALCITE-7752 and PR #5230 proposing a commit-message rule for
AI-assisted work. Julian pointed out that this is a policy decision for
the
list rather than something to settle in a JIRA, and he is right, so I am
bringing it here. I will use his framing of the decisions:
1. Whether there should be a line in commit messages recording AI tool
use at all.
2. If so, what that line should be.
3. Whether to write it into AGENTS.md.
Where Calcite is today
Six commits on main since June 2026 name a tool in a trailer, in four
different spellings:
Co-Authored-By: Claude Opus 4.8 <[email protected]> (3 commits)
Co-Authored-By: Claude Sonnet 5 <[email protected]> (1)
Co-authored-by: Cursor <[email protected]> (1)
Generated-by: Claude Opus 5 (1M context) (1)
Nobody chose that. Claude Code adds Co-Authored-By: unless
attribution.commit
says otherwise, and VS Code 1.118 shipped Copilot as a commit co-author
by
default before reversing it.
What the ASF says, and does not say
The generative tooling guidance [1] recommends naming the tool in the
commit
message and offers "Generated-by:" as an example. It is a recommendation,
it
mandates no particular token, and it predates agentic tooling.
There is an open thread on legal-discuss, "[DISCUSS] Making the
Generated-by
record mandatory for AI-assisted contributions" [2], started on 11 August
and
not concluded. The positions in it run from Greg Stein's "use whatever
annotations you wish" and Mark Thomas leaning towards no labelling at
all,
to
Justin Mclean, Calvin Kirs, Alin Jerpelea, Andrew Purtell and Mark
Struberg
preferring "Assisted-by:" over "Generated-by:". Justin also measured the
foundation: about 4,500 commits across 199 repositories carry an AI tag,
and
the "Generated-by" value has 481 distinct spellings.
Elsewhere
Projects with a written policy have converged on "Assisted-by:": the
Linux
kernel [3], Zephyr, Fedora, Rocky Linux, OpenInfra and Mesa. Mesa states
it
plainly: "Do not use the Co-authored-by tag as this one is reserved for
human
co-authors."
The opposing view is real and worth weighing. Kubernetes [4] forbids AI
trailers of every kind, "Assisted-by:" included, and asks for a sentence
in
the pull request description instead, on the grounds that an AI cannot
sign a
CLA. Inside the ASF, HBase and Phoenix currently recommend
"Co-Authored-By:".
What I proposed, for reference
One sentence in AGENTS.md:
Always end commit messages, including drafts, with
`Assisted-by: <tool> (<model-id>)`, never `Co-Authored-By:`. Keep
existing
trailers and add yours when amending someone else's commit.
The PR explains why that wording rather than another. Since AGENTS.md is
read
by agents, I tested candidate wordings against three of them rather than
picking one that reads well.
Disclosure: I use coding agents, so I am asking for a rule I will have to
follow myself.
I do not want to presume the answer to question 1, but I do not think it
has a
do-nothing branch. Coding agents add Co-Authored-By: on their own, and we
cannot rely on every contributor switching that off, so "Calcite records
nothing" is also a rule, and it also has to be written where agents read
it. If
that is the consensus, I will close CALCITE-7752 and PR #5230 and open an
issue
for the opposite sentence in AGENTS.md: that an agent must not add a
trailer
naming itself. Either answer suits me.
Vladimir