public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] checkpatch: teach checkpatch about the Assisted-by: tag for AI-assisted patches
@ 2026-03-02 14:36 Thomas Hellström
  2026-03-03 20:36 ` Niranjana Vishwanathapura
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Hellström @ 2026-03-02 14:36 UTC (permalink / raw)
  To: intel-xe
  Cc: Thomas Hellström, Andy Whitcroft, Joe Perches, Dwaipayan Ray,
	Lukas Bulwahn, linux-kernel

Documentation/process/coding-assistants.rst mandates the use of an
uses an "Agent:Model" notation rather than a name-and-email-address
pair, for example:

  Assisted-by: GitHub Copilot:claude-sonnet-4.6

checkpatch.pl currently emits false-positive errors and warnings for
this tag:

  WARNING: Non-standard signature: Assisted-by:
  ERROR: Unrecognized email address: 'GitHub Copilot:claude-sonnet-4.6'

Teach checkpatch about the tag:

- Add Assisted-by: to the $signature_tags regex so it is no longer
  flagged as a non-standard signature.
- Add Assisted-by: to the standard_signature_tags list in
  find_standard_signature() so that near-miss typos (e.g.
  'Assited-by:') suggest the correct spelling.
- Skip the email-address validation for Assisted-by: tags and instead
  validate that the value contains at least one colon separating the
  agent name from the model identifier.  Emit a BAD_SIGN_OFF warning
  if the notation does not conform.

Cc: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Cc: Dwaipayan Ray <dwaipayanray1@gmail.com>
Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Cc: linux-kernel@vger.kernel.org
Assisted-by: GitHub Copilot:claude-sonnet-4.6
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 scripts/checkpatch.pl | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index e56374662ff7..dd3327e8fa55 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -641,6 +641,7 @@ our $signature_tags = qr{(?xi:
 	Reviewed-by:|
 	Reported-by:|
 	Suggested-by:|
+	Assisted-by:|
 	To:|
 	Cc:
 )};
@@ -737,7 +738,7 @@ sub find_standard_signature {
 	my ($sign_off) = @_;
 	my @standard_signature_tags = (
 		'Signed-off-by:', 'Co-developed-by:', 'Acked-by:', 'Tested-by:',
-		'Reviewed-by:', 'Reported-by:', 'Suggested-by:'
+		'Reviewed-by:', 'Reported-by:', 'Suggested-by:', 'Assisted-by:'
 	);
 	foreach my $signature (@standard_signature_tags) {
 		return $signature if (get_edit_distance($sign_off, $signature) <= 2);
@@ -3107,7 +3108,15 @@ sub process {
 
 			my ($email_name, $name_comment, $email_address, $comment) = parse_email($email);
 			my $suggested_email = format_email(($email_name, $name_comment, $email_address, $comment));
-			if ($suggested_email eq "") {
+			# Assisted-by: uses "Agent:Model" notation without an email
+			# address, as mandated by Documentation/process/coding-assistants.rst.
+			# Skip email validation for this tag.
+			if ($sign_off =~ /^Assisted-by:$/i) {
+				if ($email !~ /\S+:\S+/) {
+					WARN("BAD_SIGN_OFF",
+					     "Assisted-by: should use 'Agent:Model' notation (e.g. 'GitHub Copilot:claude-sonnet-4.6')\n" . $herecurr);
+				}
+			} elsif ($suggested_email eq "") {
 				ERROR("BAD_SIGN_OFF",
 				      "Unrecognized email address: '$email'\n" . $herecurr);
 			} else {
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] checkpatch: teach checkpatch about the Assisted-by: tag for AI-assisted patches
  2026-03-02 14:36 [RFC PATCH] checkpatch: teach checkpatch about the Assisted-by: tag for AI-assisted patches Thomas Hellström
@ 2026-03-03 20:36 ` Niranjana Vishwanathapura
  2026-03-04 18:01   ` Thomas Hellström
  0 siblings, 1 reply; 4+ messages in thread
From: Niranjana Vishwanathapura @ 2026-03-03 20:36 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: intel-xe, Andy Whitcroft, Joe Perches, Dwaipayan Ray,
	Lukas Bulwahn, linux-kernel

On Mon, Mar 02, 2026 at 03:36:59PM +0100, Thomas Hellström wrote:
>Documentation/process/coding-assistants.rst mandates the use of an
>uses an "Agent:Model" notation rather than a name-and-email-address
>pair, for example:
>
>  Assisted-by: GitHub Copilot:claude-sonnet-4.6

Do we need the Agent to be specified along with the model given the
agents tend to me more custom built (or private) and model tend to be
more generic? Not sure if my assumption is entirely true though.

Niranjana

>
>checkpatch.pl currently emits false-positive errors and warnings for
>this tag:
>
>  WARNING: Non-standard signature: Assisted-by:
>  ERROR: Unrecognized email address: 'GitHub Copilot:claude-sonnet-4.6'
>
>Teach checkpatch about the tag:
>
>- Add Assisted-by: to the $signature_tags regex so it is no longer
>  flagged as a non-standard signature.
>- Add Assisted-by: to the standard_signature_tags list in
>  find_standard_signature() so that near-miss typos (e.g.
>  'Assited-by:') suggest the correct spelling.
>- Skip the email-address validation for Assisted-by: tags and instead
>  validate that the value contains at least one colon separating the
>  agent name from the model identifier.  Emit a BAD_SIGN_OFF warning
>  if the notation does not conform.
>
>Cc: Andy Whitcroft <apw@canonical.com>
>Cc: Joe Perches <joe@perches.com>
>Cc: Dwaipayan Ray <dwaipayanray1@gmail.com>
>Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
>Cc: linux-kernel@vger.kernel.org
>Assisted-by: GitHub Copilot:claude-sonnet-4.6
>Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>---
> scripts/checkpatch.pl | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
>diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
>index e56374662ff7..dd3327e8fa55 100755
>--- a/scripts/checkpatch.pl
>+++ b/scripts/checkpatch.pl
>@@ -641,6 +641,7 @@ our $signature_tags = qr{(?xi:
> 	Reviewed-by:|
> 	Reported-by:|
> 	Suggested-by:|
>+	Assisted-by:|
> 	To:|
> 	Cc:
> )};
>@@ -737,7 +738,7 @@ sub find_standard_signature {
> 	my ($sign_off) = @_;
> 	my @standard_signature_tags = (
> 		'Signed-off-by:', 'Co-developed-by:', 'Acked-by:', 'Tested-by:',
>-		'Reviewed-by:', 'Reported-by:', 'Suggested-by:'
>+		'Reviewed-by:', 'Reported-by:', 'Suggested-by:', 'Assisted-by:'
> 	);
> 	foreach my $signature (@standard_signature_tags) {
> 		return $signature if (get_edit_distance($sign_off, $signature) <= 2);
>@@ -3107,7 +3108,15 @@ sub process {
>
> 			my ($email_name, $name_comment, $email_address, $comment) = parse_email($email);
> 			my $suggested_email = format_email(($email_name, $name_comment, $email_address, $comment));
>-			if ($suggested_email eq "") {
>+			# Assisted-by: uses "Agent:Model" notation without an email
>+			# address, as mandated by Documentation/process/coding-assistants.rst.
>+			# Skip email validation for this tag.
>+			if ($sign_off =~ /^Assisted-by:$/i) {
>+				if ($email !~ /\S+:\S+/) {
>+					WARN("BAD_SIGN_OFF",
>+					     "Assisted-by: should use 'Agent:Model' notation (e.g. 'GitHub Copilot:claude-sonnet-4.6')\n" . $herecurr);
>+				}
>+			} elsif ($suggested_email eq "") {
> 				ERROR("BAD_SIGN_OFF",
> 				      "Unrecognized email address: '$email'\n" . $herecurr);
> 			} else {
>-- 
>2.53.0
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] checkpatch: teach checkpatch about the Assisted-by: tag for AI-assisted patches
  2026-03-03 20:36 ` Niranjana Vishwanathapura
@ 2026-03-04 18:01   ` Thomas Hellström
  2026-03-04 18:24     ` Joe Perches
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Hellström @ 2026-03-04 18:01 UTC (permalink / raw)
  To: Niranjana Vishwanathapura
  Cc: intel-xe, Andy Whitcroft, Joe Perches, Dwaipayan Ray,
	Lukas Bulwahn, linux-kernel

On Tue, 2026-03-03 at 12:36 -0800, Niranjana Vishwanathapura wrote:
> On Mon, Mar 02, 2026 at 03:36:59PM +0100, Thomas Hellström wrote:
> > Documentation/process/coding-assistants.rst mandates the use of an
> > uses an "Agent:Model" notation rather than a name-and-email-address
> > pair, for example:
> > 
> >  Assisted-by: GitHub Copilot:claude-sonnet-4.6
> 
> Do we need the Agent to be specified along with the model given the
> agents tend to me more custom built (or private) and model tend to be
> more generic? Not sure if my assumption is entirely true though.


Basically this is following
https://kernel.org/doc/html//next/process/coding-assistants.html

and this patch only ensures *something* is present for
AGENT_NAME:MODEL_VERSION

Not sure whether checkpatch should allow an empty agent, like
:claude-sonnet-4.6 in this case or whether one should add
<internal>:claude-sonnet-4.6. I think the latter is the most
transparent of the two...

/Thomas


> 
> Niranjana
> 
> > 
> > checkpatch.pl currently emits false-positive errors and warnings
> > for
> > this tag:
> > 
> >  WARNING: Non-standard signature: Assisted-by:
> >  ERROR: Unrecognized email address: 'GitHub Copilot:claude-sonnet-
> > 4.6'
> > 
> > Teach checkpatch about the tag:
> > 
> > - Add Assisted-by: to the $signature_tags regex so it is no longer
> >  flagged as a non-standard signature.
> > - Add Assisted-by: to the standard_signature_tags list in
> >  find_standard_signature() so that near-miss typos (e.g.
> >  'Assited-by:') suggest the correct spelling.
> > - Skip the email-address validation for Assisted-by: tags and
> > instead
> >  validate that the value contains at least one colon separating the
> >  agent name from the model identifier.  Emit a BAD_SIGN_OFF warning
> >  if the notation does not conform.
> > 
> > Cc: Andy Whitcroft <apw@canonical.com>
> > Cc: Joe Perches <joe@perches.com>
> > Cc: Dwaipayan Ray <dwaipayanray1@gmail.com>
> > Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
> > Cc: linux-kernel@vger.kernel.org
> > Assisted-by: GitHub Copilot:claude-sonnet-4.6
> > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > ---
> > scripts/checkpatch.pl | 13 +++++++++++--
> > 1 file changed, 11 insertions(+), 2 deletions(-)
> > 
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > index e56374662ff7..dd3327e8fa55 100755
> > --- a/scripts/checkpatch.pl
> > +++ b/scripts/checkpatch.pl
> > @@ -641,6 +641,7 @@ our $signature_tags = qr{(?xi:
> > 	Reviewed-by:|
> > 	Reported-by:|
> > 	Suggested-by:|
> > +	Assisted-by:|
> > 	To:|
> > 	Cc:
> > )};
> > @@ -737,7 +738,7 @@ sub find_standard_signature {
> > 	my ($sign_off) = @_;
> > 	my @standard_signature_tags = (
> > 		'Signed-off-by:', 'Co-developed-by:', 'Acked-by:',
> > 'Tested-by:',
> > -		'Reviewed-by:', 'Reported-by:', 'Suggested-by:'
> > +		'Reviewed-by:', 'Reported-by:', 'Suggested-by:',
> > 'Assisted-by:'
> > 	);
> > 	foreach my $signature (@standard_signature_tags) {
> > 		return $signature if (get_edit_distance($sign_off,
> > $signature) <= 2);
> > @@ -3107,7 +3108,15 @@ sub process {
> > 
> > 			my ($email_name, $name_comment,
> > $email_address, $comment) = parse_email($email);
> > 			my $suggested_email =
> > format_email(($email_name, $name_comment, $email_address,
> > $comment));
> > -			if ($suggested_email eq "") {
> > +			# Assisted-by: uses "Agent:Model" notation
> > without an email
> > +			# address, as mandated by
> > Documentation/process/coding-assistants.rst.
> > +			# Skip email validation for this tag.
> > +			if ($sign_off =~ /^Assisted-by:$/i) {
> > +				if ($email !~ /\S+:\S+/) {
> > +					WARN("BAD_SIGN_OFF",
> > +					     "Assisted-by: should
> > use 'Agent:Model' notation (e.g. 'GitHub Copilot:claude-sonnet-
> > 4.6')\n" . $herecurr);
> > +				}
> > +			} elsif ($suggested_email eq "") {
> > 				ERROR("BAD_SIGN_OFF",
> > 				      "Unrecognized email address:
> > '$email'\n" . $herecurr);
> > 			} else {
> > -- 
> > 2.53.0
> > 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] checkpatch: teach checkpatch about the Assisted-by: tag for AI-assisted patches
  2026-03-04 18:01   ` Thomas Hellström
@ 2026-03-04 18:24     ` Joe Perches
  0 siblings, 0 replies; 4+ messages in thread
From: Joe Perches @ 2026-03-04 18:24 UTC (permalink / raw)
  To: Thomas Hellström, Niranjana Vishwanathapura
  Cc: intel-xe, Andy Whitcroft, Dwaipayan Ray, Lukas Bulwahn,
	linux-kernel

On Wed, 2026-03-04 at 19:01 +0100, Thomas Hellström wrote:
> On Tue, 2026-03-03 at 12:36 -0800, Niranjana Vishwanathapura wrote:
> On Mon, Mar 02, 2026 at 03:36:59PM +0100, Thomas Hellström wrote:
> Documentation/process/coding-assistants.rst mandates the use of an
> > > uses an "Agent:Model" notation rather than a name-and-email-address
> > > pair, for example:
> > > 
>  Assisted-by: GitHub Copilot:claude-sonnet-4.6
> > 
> > Do we need the Agent to be specified along with the model given the
> > agents tend to me more custom built (or private) and model tend to be
> > more generic? Not sure if my assumption is entirely true though.
> 
> Basically this is following
> https://kernel.org/doc/html//next/process/coding-assistants.html
> 
> and this patch only ensures *something* is present for
> AGENT_NAME:MODEL_VERSION
> 
> Not sure whether checkpatch should allow an empty agent, like
> :claude-sonnet-4.6 in this case or whether one should add
> <internal>:claude-sonnet-4.6. I think the latter is the most
> transparent of the two...

Dunno know neither.  These are the current uses in -next.
Perhaps unnamed is useful, but actual transparency would
require an actual tool/agent name too.

HEAD is now at fc7b1a72c6cd5 Add linux-next specific files for 20260304
$ git log -100000 --grep="Assisted-by:" | grep "Assisted-by:"
    Assisted-by: unnamed:deepseek-v3.2 coccinelle
    Assisted-by: Claude:claude-opus-4-6
    Assisted-by: gkh_clanker_2000
    Assisted-by: gkh_clanker_2000
    Assisted-by: Gemini-CLI:Google Gemini 3
    Assisted-by: Gemini-CLI:Google Gemini 3
    Assisted-by: Gemini-CLI:Google Gemini 3
    Assisted-by: claude-opus-4-6-v1
    Assisted-by: Claude:claude-opus-4-5
    Assisted-by: claude-opus-4-5-20251101
    Assisted-by: claude-opus-4-5-20251101
    Assisted-by: Google Gemini
    Assisted-by: Daniel Borkmann <dborkmann@redhat.com>

Perhaps \S:\S validation, but the content will eventually get out of hand.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-03-04 18:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-02 14:36 [RFC PATCH] checkpatch: teach checkpatch about the Assisted-by: tag for AI-assisted patches Thomas Hellström
2026-03-03 20:36 ` Niranjana Vishwanathapura
2026-03-04 18:01   ` Thomas Hellström
2026-03-04 18:24     ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox