From 07f5b3e91eb92d13f7e2da92da12cae387818651 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Thu, 23 Apr 2026 20:14:30 +0200 Subject: [PATCH] docs(contributing): clarifying and expanding AI requirements Introduce stricter requirements regarding AI-powered contributions, as inspired by the Linux Kernel's guidelines. --- AGENTS.md | 37 ++++++++++++++++++++++++++++++++++++- CONTRIBUTING.md | 39 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 74 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 85a0d3e..b7039e6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -47,7 +47,8 @@ accepted, provided you assistance); 3. are prepared to discuss it directly with human reviewers. -**All AI usage requires explicit disclosure**, except in these cases: +**All AI usage requires explicit disclosure** (see Attribution section +for commit message requirements), except in these cases: - Trivial tab autocompletion, but only for completion that you have already conceptualized in your mind. - Asking the AI about knowledge that is not directly related to your @@ -62,6 +63,40 @@ the AI **MUST** be included in the repository. AI **MAY** generate the initial output, but the final specification **MUST** be entirely reviewed and understood by a human. +### Attribution + + +When using AI assistance in contributions: + +- **AI cannot be a commit author.** All commits must be authored by a + human contributor. +- **AI cannot sign off commits.** Only humans can legally certify + commits by adding a `Signed-off-by:` tag. AI tools MUST NOT add + `Signed-off-by` tags. +- **The human author bears full responsibility.** The human + contributor is responsible for: + - Reviewing all AI-generated or AI-assisted code + - Ensuring compliance with licensing requirements + - Taking full responsibility for the contribution +- **AI-assisted commits must include an `Assisted-by:` footer**. The + format is: + + ``` + Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2] + ``` + + Where: + - `AGENT_NAME` is the name of the AI tool or framework + - `MODEL_VERSION` is the specific model version used + - `[TOOL1] [TOOL2]` are optional specialized analysis tools used + (not basic tools like git, cargo, Nix, editors) + + Example: + + ``` + Assisted-by: Claude:claude-3-sonnet + ``` + --- ## Guidelines for AI Agents diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d5f7d1f..144d2fe 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,7 +73,44 @@ adhere to the following requirements: (bug reports, feature requests, pull request descriptions, responding to humans, ...). -For more info, please refer to the [AGENTS.md](AGENTS.md) file. +### Attribution + +When using AI assistance in contributions: + +- **AI cannot be a commit author.** All commits must be authored by a + human contributor. +- **AI cannot sign off commits.** Only humans can legally certify + commits by adding a `Signed-off-by:` tag. AI tools MUST NOT add + `Signed-off-by` tags. +- **The human author bears full responsibility.** The human + contributor is responsible for: + - Reviewing all AI-generated or AI-assisted code + - Ensuring compliance with licensing requirements + - Taking full responsibility for the contribution +- **AI-assisted commits must include an `Assisted-by:` footer**. The + format is: + + ``` + Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2] + ``` + + Where: + - `AGENT_NAME` is the name of the AI tool or framework + - `MODEL_VERSION` is the specific model version used + - `[TOOL1] [TOOL2]` are optional specialized analysis tools used + (not basic tools like git, cargo, Nix, editors) + + Example: + + ``` + Assisted-by: Claude:claude-3-sonnet + ``` + + See the [AGENTS.md](AGENTS.md#attribution) file for the full format + specification. + +For more info, please refer to the [AGENTS.md](AGENTS.md) +file. ## Code of Conduct