The coding-assistants.rst documentation defines the Assisted-by: tag format for AI-assisted contributions as: Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2] This format does not use an email address, so checkpatch currently reports a false positive about an invalid email when encountering this tag. Add Assisted-by: to the recognized signature tags and standard signature list. When an Assisted-by: tag is found, validate it instead of checking for an email address. Examples of passing tags: - Claude:claude-3-opus coccinelle sparse - FOO:BAR.baz - Copilot Github:claude-3-opus - GitHub Copilot:Claude Opus 4.6 - My Cool Agent:v1.2.3 coccinelle sparse Examples of tags triggering the new warning: - Claude coccinelle sparse - JustAName - :missing-agent
Unified · Split
| @@ -641,6 +641,7 @@ our $signature_tags = qr{(?xi: · 640 unmodified lines | ||
| 641 | 641 | Reviewed-by:| |
| 642 | 642 | Reported-by:| |
| 643 | 643 | Suggested-by:| |
| 644 | + Assisted-by:| | |
| 644 | 645 | To:| |
| 645 | 646 | Cc: |
| 646 | 647 | )}; |
| @@ -737,7 +738,7 @@ sub find_standard_signature { · 90 unmodified lines | ||
| 737 | 738 | my ($sign_off) = @_; |
| 738 | 739 | my @standard_signature_tags = ( |
| 739 | 740 | 'Signed-off-by:', 'Co-developed-by:', 'Acked-by:', 'Tested-by:', |
| 740 | − 'Reviewed-by:', 'Reported-by:', 'Suggested-by:' | |
| 741 | + 'Reviewed-by:', 'Reported-by:', 'Suggested-by:', 'Assisted-by:' | |
| 741 | 742 | ); |
| 742 | 743 | foreach my $signature (@standard_signature_tags) { |
| 743 | 744 | return $signature if (get_edit_distance($sign_off, $signature) <= 2); |
| @@ -3105,6 +3106,15 @@ sub process { · 2361 unmodified lines | ||
| 3105 | 3106 | } |
| 3106 | 3107 | } |
| 3107 | 3108 | |
| 3109 | +# Assisted-by: uses format AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2] instead of email | |
| 3110 | + if ($sign_off =~ /^assisted-by:$/i) { | |
| 3111 | + if ($email !~ /^[^:]+:\S+(\s+\S+)*$/) { | |
| 3112 | + WARN("BAD_ASSISTED_BY", | |
| 3113 | + "Assisted-by: should use format: 'Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]'\n" . $herecurr); | |
| 3114 | + } | |
| 3115 | + next; | |
| 3116 | + } | |
| 3117 | + | |
| 3108 | 3118 | my ($email_name, $name_comment, $email_address, $comment) = parse_email($email); |
| 3109 | 3119 | my $suggested_email = format_email(($email_name, $name_comment, $email_address, $comment)); |
| 3110 | 3120 | if ($suggested_email eq "") { |