[
https://issues.apache.org/jira/browse/CALCITE-7752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18109584#comment-18109584
]
Vladimir Sitnikov commented on CALCITE-7752:
--------------------------------------------
If you think Calcite contributions should completely hide the trace of the AI
tools aiding the commit, then please say so.
Personally I would like the contributors to disclose the tools, and even
workflows/prompts.
Claude defaults to co-autored-by trailer, however the broad ecosystem converged
to:
1) ai cant hold copyright (my wording might be bad here), so “co-authored-by”
is bad for ai tools
2) linux, etc, converged to assisted-by.
3) even the thread you just linked mentions suggests mentioning the models in
the commits might help identifying the contaminated commits if a model later
would be known to produce gpl code.
So I went ahead and suggested we use assisted-by.
Please clarify which exact trailer I should use for my jspecify PR.
PS I do not believe there might be a mandatory ASF rule to disclose AI models,
so I am sure it will be project-by-project.
PPS Happy to accept whatever you agree. If you think the current status of
claude=co-authored-by, codex=no mention is fine (I use both tools), I can live
with that.
> AGENTS.md should require an "Assisted-by:" commit trailer for AI-assisted
> work, rather than "Co-Authored-By:"
> -------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-7752
> URL: https://issues.apache.org/jira/browse/CALCITE-7752
> Project: Calcite
> Issue Type: Improvement
> Reporter: Vladimir Sitnikov
> Priority: Major
> Labels: pull-request-available
>
> Calcite has no rule for disclosing AI tooling in a commit. Six commits on
> main since June 2026 name a tool in a trailer, in four different spellings:
> {noformat}
> 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)
> {noformat}
> Five of them use {{Co-authored-by:}}, which git and GitHub read as naming an
> author of the commit. A tool listed there makes a claim about authorship
> rather than a note about tooling, and nobody chose it: Claude Code adds the
> line unless {{attribution.commit}} says otherwise, and VS Code 1.118 shipped
> Copilot as a commit co-author by default before reversing it.
> The ASF generative tooling guidance [1] asks contributors to name the tooling
> in the commit message and offers {{Generated-by:}}. Projects that allow AI
> assistance under rules have since settled on {{Assisted-by:}} for the
> ordinary case: the Linux kernel [2], Zephyr, Fedora, Rocky Linux, OpenInfra
> and Mesa. Mesa states the rule directly: "Do not use the Co-authored-by tag
> as this one is reserved for human co-authors." The kernel's first RFC
> proposed {{Co-developed-by}} and changed to {{Assisted-by}} before merging;
> the Apache Impala dev@ thread [3] opened on {{Generated-by}} and settled on
> {{Assisted-by}}, on the grounds that a tool assists and does not author.
> h2. Proposed change
> Add a "Commit messages" section to AGENTS.md carrying one rule:
> {noformat}
> 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.
> {noformat}
> The human contributor remains the author of the change and remains
> responsible for it under the ICLA. That is why the rule forbids
> {{Co-Authored-By:}} for a tool rather than merely preferring {{Assisted-by:}}.
> h2. Notes on scope
> The section is one sentence on purpose. AGENTS.md is read by agents, and
> every sentence in it changes what they write: a draft that offered
> {{Generated-by:}} as a second tier moved agents onto {{Generated-by:}} for a
> one-word typo fix, which makes the narrow label the default one and defeats
> the distinction it exists to draw. A second tier is worth having, but it
> needs a trigger an agent does not read as covering routine work.
> The wording is imperative rather than descriptive because a descriptive line
> loses to the instruction an agent already carries from its own harness. It
> was chosen by running Claude Sonnet 5, Claude Opus 5 and Codex gpt-5.6-terra
> against live git repositories across six commit scenarios, including a
> dictated commit message, a drafted message, and amending a commit that
> already carries another tool's trailer. The matrix and a reproduction prompt
> for adding a model or a scenario are in the pull request.
> Editor autocomplete, and tooling used only to read, search or triage code,
> are not covered by this issue.
> [1] https://www.apache.org/legal/generative-tooling.html
> [2] https://docs.kernel.org/process/coding-assistants.html
> [3] https://lists.apache.org/thread/dn8dgq213mr9znx6zogw1n85rsf00f1w
--
This message was sent by Atlassian Jira
(v8.20.10#820010)