Repository navigation
docs: add the v2.19.2 changes and the kernel's Assisted-by decision #58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -134,15 +134,18 @@ Docs: https://commit-check.com/rules/#cc013 | |
| Recognised signatures are co-author and sign-off lines naming Claude Code, | ||
| GitHub Copilot, Codex, Gemini, Cursor, Devin, Aider, Windsurf, Tabby, Amp, | ||
| OpenHands, Factory Droid and Jules, the disclosure trailers `Assisted-by:` and | ||
| `Generated-by:`, vendor marks such as `🤖 Generated with Claude Code` and | ||
| Amp's `Amp-Thread-ID:`, and generic AI model names. This is the | ||
| `Generated-by:`, vendor marks such as `🤖 Generated with Claude Code`, Amp's | ||
| `Amp-Thread-ID:` and the Copilot coding agent's `Agent-Logs-Url:`, and generic | ||
| AI model names. This is the | ||
| position [Kubernetes](https://www.kubernetes.dev/docs/guide/pull-requests/) | ||
| takes — no AI trailers in the history, disclosure in the pull request | ||
| instead. | ||
|
|
||
| These rules read only the message. Jules and OpenHands can commit under their | ||
| own bot identity instead of adding a co-author line, and such a commit passes | ||
| when its message contains no recognized AI signature. | ||
| when its message contains no recognized AI signature. The Copilot coding agent | ||
| also commits as its own account, but every commit it makes carries an | ||
| `Agent-Logs-Url:` trailer, so its commits are caught. | ||
|
|
||
| !!! warning "This checks disclosure, not authorship" | ||
|
|
||
|
|
@@ -157,12 +160,13 @@ when its message contains no recognized AI signature. | |
|
|
||
| ### Asking for disclosure instead | ||
|
|
||
| Most projects that allow AI assistance ask to be told about it. The | ||
| [Linux kernel](https://docs.kernel.org/process/coding-assistants.html), | ||
| Most projects that allow AI assistance ask to be told about it. | ||
| [Fedora](https://docs.fedoraproject.org/en-US/council/policy/ai-policy/) and | ||
| FluxCD want an `Assisted-by:` trailer; the | ||
| FluxCD want an `Assisted-by:` trailer, as the | ||
| [Linux kernel](https://docs.kernel.org/process/coding-assistants.html) did | ||
| until its maintainers decided in October 2026 to drop the tag; the | ||
| [Apache Software Foundation](https://www.apache.org/legal/generative-tooling.html) | ||
| recommends `Generated-by:`. The kernel also says an AI agent must | ||
| recommends `Generated-by:`. The kernel still says an AI agent must | ||
| never add a `Signed-off-by:` line, because only a person can certify the | ||
| [DCO](https://developercertificate.org/). | ||
|
|
||
|
|
@@ -202,7 +206,7 @@ as the project's disclosure trailer, keeping the name the tool gave itself. | |
| ``` | ||
|
|
||
| Once the tool is disclosed, CC015 asks only for the co-author line to go, and | ||
| a commit written the way the kernel asks passes all three: | ||
| a commit in the kernel's `Assisted-by:` format passes all three: | ||
|
|
||
| ```bash | ||
| printf 'feat: add caching layer\n\nAssisted-by: LLM coccinelle sparse\nSigned-off-by: Jane Dev <[email protected]>' | commit-check -m | ||
|
|
@@ -216,7 +220,7 @@ and the first one is what a correction is written with: | |
| ```toml title="cchk.toml" | ||
| [commit] | ||
| ai_attribution = "disclose" | ||
| ai_disclosure_trailers = ["Assisted-by"] # the kernel's, and nothing else | ||
| ai_disclosure_trailers = ["Assisted-by"] # Assisted-by, and nothing else | ||
| ``` | ||
|
|
||
| Listing `Co-authored-by` says the project accepts the tool as a co-author — | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -565,8 +565,11 @@ Rejects a commit whose message carries any AI attribution: a co-author or | |
| sign-off line naming Claude Code, Copilot, Codex, Gemini, Cursor, Devin, | ||
| Aider, Windsurf, Tabby, Amp, OpenHands, Factory Droid or Jules, a disclosure | ||
| trailer such as `Assisted-by:` or `Generated-by:`, a vendor's own mark such | ||
| as `🤖 Generated with Claude Code` or Amp's `Amp-Thread-ID:` trailer, and | ||
| generic AI model names. | ||
| as `🤖 Generated with Claude Code`, Amp's `Amp-Thread-ID:` trailer or the | ||
| `Agent-Logs-Url:` trailer the Copilot coding agent adds, and generic AI model | ||
| names. Copilot is also recognised by its account's | ||
| `[email protected]` address, so the coding agent's | ||
| `copilot-swe-agent[bot]` co-author line counts under any display name. | ||
|
|
||
| **Why is this bad?** | ||
|
|
||
|
|
@@ -606,10 +609,11 @@ match `ai_disclosure_pattern` — fails too. | |
| **Why is this bad?** | ||
|
|
||
| A project that allows AI assistance and asks for it to be disclosed has an | ||
| honour-system rule until something checks it. The | ||
| [Linux kernel](https://docs.kernel.org/process/coding-assistants.html), | ||
| honour-system rule until something checks it. | ||
| [Fedora](https://docs.fedoraproject.org/en-US/council/policy/ai-policy/) and | ||
| FluxCD ask for `Assisted-by:`; the | ||
| FluxCD ask for `Assisted-by:`, as the | ||
| [Linux kernel](https://docs.kernel.org/process/coding-assistants.html) did | ||
| until its maintainers decided in October 2026 to drop the tag; the | ||
| [Apache Software Foundation](https://www.apache.org/legal/generative-tooling.html) | ||
| recommends `Generated-by:`. The tools, meanwhile, stamp their own format on | ||
| the way out, so a contributor following the policy and one ignoring it produce | ||
|
|
@@ -855,6 +859,11 @@ that git can create as a branch. | |
|
|
||
| Checks that the current branch is rebased onto a target branch. | ||
|
|
||
| When the target matches no branch, neither locally nor under `origin/`, the | ||
| check is a **skip**, not a pass, and the JSON `reason` says | ||
| `rebase target 'main' not found`. A shallow CI clone without the target branch | ||
| is the usual cause; fetch the branch before the check. | ||
|
|
||
| **Why is this bad?** | ||
|
|
||
| A branch that has fallen behind is tested against code that no longer exists on | ||
|
|
@@ -1023,6 +1032,10 @@ and `release-1.2.3` do not. | |
| A commit with no tag is a **skip**, not a failure: the rule governs how tags | ||
| are named, and the absence of one is not a naming violation. | ||
|
|
||
| As a `pre-push` hook it checks the tags the push creates, under the name the | ||
| remote will give them: `git push origin v1.0.0:refs/tags/release-1` is checked | ||
| as `release-1`. Deleting a tag is not checked. | ||
|
|
||
| **Why is this bad?** | ||
|
|
||
| Tags are the public interface of a release. Package managers, changelog | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Limit the cursor claim to escape sequences.
Line 241 leaves newline and tab unescaped. Both can move the terminal cursor, so this claim is too broad. Specify that commit text cannot use escape sequences to reposition the cursor.
Proposed wording
🤖 Prompt for AI Agents