From nobody Thu Apr 9 13:31:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DDA1E38F654 for ; Mon, 2 Mar 2026 14:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772462246; cv=none; b=oBDodgYCLumYZMLrl1tBQ86O6pWJCODl4T+rp5Xy+clgwuo4dBa6sQsAPzASiXuDZjPcyn/Kfs6s54Z1K3+RFFAt7DjKop3glx0YJ5SCn3ME70g+SotcwtG68MB55GFm6iyoQNMNQXhopI40XHNNthQblaZ1GoNuabEXKDE82JA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772462246; c=relaxed/simple; bh=wDuNoNFL2BuXKoRf49vLBzgfvBNxte9P8TyRC/DNIxs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=rohFxP4/rHawFuQBzdzM86L3totlO3FFQj++uo8Lh4T/NH8By8Fv+ldlNCg8uWnXvPlUknEKGsO/9adrFgRzNmZKn25nXqVOLVh/xb5VyOA+nd/ax1BD8+kNB59Wg2bCYCnAL6dVULKJ+QsE97SEBIKiLtu+/B4Hoy5+E8iL63Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=C8uzzmHd; arc=none smtp.client-ip=198.175.65.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="C8uzzmHd" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772462245; x=1803998245; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=wDuNoNFL2BuXKoRf49vLBzgfvBNxte9P8TyRC/DNIxs=; b=C8uzzmHdgtp9mOisPNfbY/giUv0EqjnuYy5MVoXAjVMy2i+UAJvw+hnL SownffpRKuRpZFYx/7wYxLGFFd4d1kLtdsJE+Ruw++XF6UMQMBl6wla2p A92iRPxw3D+haq7jpjV86Si2uFqH18VxFr5GPQ+AD3/hYAeN4OVkbhqcj 4BF6q6Bm5R27xAkIUvPVSqM+KVXaq3VNJ6GRpJGoKf3jKrSDN9at1yF7N ssDmy9jAcg+GI/2rysPwm863xvOJBryRJX2oc28Gcb5rcHejcbCN4QOVX 8PPQwoETL3MhoRNHA22F1/3ulupfCjojYvH5M44rNK6uPnZMlRvPtEMvd Q==; X-CSE-ConnectionGUID: 4/AgEEI1Q/ekgwJVz6z/Cg== X-CSE-MsgGUID: ZmWgoNSVSUubv0kGv+K6xg== X-IronPort-AV: E=McAfee;i="6800,10657,11717"; a="96085779" X-IronPort-AV: E=Sophos;i="6.21,320,1763452800"; d="scan'208";a="96085779" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 06:37:25 -0800 X-CSE-ConnectionGUID: fy6XthnTS2qZQzEXOweHQA== X-CSE-MsgGUID: Y4L0aM8aTh6eSINCufiycg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,320,1763452800"; d="scan'208";a="222301675" Received: from smoticic-mobl1.ger.corp.intel.com (HELO fedora) ([10.245.244.81]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 06:37:22 -0800 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-xe@lists.freedesktop.org Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Andy Whitcroft , Joe Perches , Dwaipayan Ray , Lukas Bulwahn , linux-kernel@vger.kernel.org Subject: [RFC PATCH] checkpatch: teach checkpatch about the Assisted-by: tag for AI-assisted patches Date: Mon, 2 Mar 2026 15:36:59 +0100 Message-ID: <20260302143659.41882-1-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 Cc: Joe Perches Cc: Dwaipayan Ray Cc: Lukas Bulwahn Cc: linux-kernel@vger.kernel.org Assisted-by: GitHub Copilot:claude-sonnet-4.6 Signed-off-by: Thomas Hellstr=C3=B6m --- 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 =3D qr{(?xi: Reviewed-by:| Reported-by:| Suggested-by:| + Assisted-by:| To:| Cc: )}; @@ -737,7 +738,7 @@ sub find_standard_signature { my ($sign_off) =3D @_; my @standard_signature_tags =3D ( '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) <=3D 2); @@ -3107,7 +3108,15 @@ sub process { =20 my ($email_name, $name_comment, $email_address, $comment) =3D parse_ema= il($email); my $suggested_email =3D format_email(($email_name, $name_comment, $emai= l_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 =3D~ /^Assisted-by:$/i) { + if ($email !~ /\S+:\S+/) { + WARN("BAD_SIGN_OFF", + "Assisted-by: should use 'Agent:Model' notation (e.g. 'GitHub Co= pilot:claude-sonnet-4.6')\n" . $herecurr); + } + } elsif ($suggested_email eq "") { ERROR("BAD_SIGN_OFF", "Unrecognized email address: '$email'\n" . $herecurr); } else { --=20 2.53.0