[ 
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)

Reply via email to