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

Reply via email to