€•ƒVŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ-/translations/zh_CN/process/generated-content”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/zh_TW/process/generated-content”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/it_IT/process/generated-content”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/ja_JP/process/generated-content”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/ko_KR/process/generated-content”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/sp_SP/process/generated-content”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ,Kernel Guidelines for Tool-Generated Content”h]”hŒ,Kernel Guidelines for Tool-Generated Content”…””}”(hh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒG/var/lib/git/docbuild/linux/Documentation/process/generated-content.rst”h Kubh¢)”}”(hhh]”(h§)”}”(hŒPurpose”h]”hŒPurpose”…””}”(hhºhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh·hžhhŸh¶h KubhŒ paragraph”“”)”}”(hXoKernel contributors have been using tooling to generate contributions for a long time. These tools can increase the volume of contributions. At the same time, reviewer and maintainer bandwidth is a scarce resource. Understanding which portions of a contribution come from humans versus tools is helpful to maintain those resources and keep kernel development healthy.”h]”hXoKernel contributors have been using tooling to generate contributions for a long time. These tools can increase the volume of contributions. At the same time, reviewer and maintainer bandwidth is a scarce resource. Understanding which portions of a contribution come from humans versus tools is helpful to maintain those resources and keep kernel development healthy.”…””}”(hhÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khh·hžhubhÉ)”}”(hŒ¹The goal here is to clarify community expectations around tools. This lets everyone become more productive while also maintaining high degrees of trust between submitters and reviewers.”h]”hŒ¹The goal here is to clarify community expectations around tools. This lets everyone become more productive while also maintaining high degrees of trust between submitters and reviewers.”…””}”(hhØhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khh·hžhubeh}”(h]”Œpurpose”ah ]”h"]”Œpurpose”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒ Out of Scope”h]”hŒ Out of Scope”…””}”(hhñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hhîhžhhŸh¶h KubhÉ)”}”(hŒ£These guidelines do not apply to tools that make trivial tweaks to preexisting content. Nor do they pertain to tooling that helps with menial tasks. Some examples:”h]”hŒ£These guidelines do not apply to tools that make trivial tweaks to preexisting content. Nor do they pertain to tooling that helps with menial tasks. Some examples:”…””}”(hhÿhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KhhîhžhubhŒ block_quote”“”)”}”(hX%- Spelling and grammar fix ups, like rephrasing to imperative voice - Typing aids like identifier completion, common boilerplate or trivial pattern completion - Purely mechanical transformations like variable renaming - Reformatting, like running Lindent, ``clang-format`` or ``rust-fmt`` ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒASpelling and grammar fix ups, like rephrasing to imperative voice”h]”hÉ)”}”(hjh]”hŒASpelling and grammar fix ups, like rephrasing to imperative voice”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒXTyping aids like identifier completion, common boilerplate or trivial pattern completion”h]”hÉ)”}”(hŒXTyping aids like identifier completion, common boilerplate or trivial pattern completion”h]”hŒXTyping aids like identifier completion, common boilerplate or trivial pattern completion”…””}”(hj5hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒ8Purely mechanical transformations like variable renaming”h]”hÉ)”}”(hjKh]”hŒ8Purely mechanical transformations like variable renaming”…””}”(hjMhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒEReformatting, like running Lindent, ``clang-format`` or ``rust-fmt`` ”h]”hÉ)”}”(hŒDReformatting, like running Lindent, ``clang-format`` or ``rust-fmt``”h]”(hŒ$Reformatting, like running Lindent, ”…””}”(hjdhžhhŸNh NubhŒliteral”“”)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjnhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jlhjdubhŒ or ”…””}”(hjdhžhhŸNh Nubjm)”}”(hŒ ``rust-fmt``”h]”hŒrust-fmt”…””}”(hj€hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jlhjdubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jhŸh¶h Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1j hŸh¶h KhhîhžhubhÉ)”}”(hŒ®Even whenever your tool use is out of scope, you should still always consider if it would help reviewing your contribution if the reviewer knows about the tool that you used.”h]”hŒ®Even whenever your tool use is out of scope, you should still always consider if it would help reviewing your contribution if the reviewer knows about the tool that you used.”…””}”(hj¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K!hhîhžhubeh}”(h]”Œ out-of-scope”ah ]”h"]”Œ out of scope”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒIn Scope”h]”hŒIn Scope”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj¾hžhhŸh¶h K&ubhÉ)”}”(hŒ®These guidelines apply when a meaningful amount of content in a kernel contribution was not written by a person in the Signed-off-by chain, but was instead created by a tool.”h]”hŒ®These guidelines apply when a meaningful amount of content in a kernel contribution was not written by a person in the Signed-off-by chain, but was instead created by a tool.”…””}”(hjÏhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K(hj¾hžhubhÉ)”}”(hX%Detection of a problem and testing the fix for it is also part of the development process; if a tool was used to find a problem addressed by a change, that should be noted in the changelog. This not only gives credit where it is due, it also helps fellow developers find out about these tools.”h]”hX%Detection of a problem and testing the fix for it is also part of the development process; if a tool was used to find a problem addressed by a change, that should be noted in the changelog. This not only gives credit where it is due, it also helps fellow developers find out about these tools.”…””}”(hjÝhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K,hj¾hžhubhŒdefinition_list”“”)”}”(hhh]”hŒdefinition_list_item”“”)”}”(hX±Some examples: - Any tool-suggested fix such as ``checkpatch.pl --fix`` - Coccinelle scripts - A chatbot generated a new function in your patch to sort list entries. - A .c file in the patch was originally generated by a coding assistant but cleaned up by hand. - The changelog was generated by handing the patch to a generative AI tool and asking it to write the changelog. - The changelog was translated from another language. ”h]”(hŒterm”“”)”}”(hŒSome examples:”h]”hŒSome examples:”…””}”(hjøhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jöhŸh¶h K:hjòubhŒ definition”“”)”}”(hhh]”j)”}”(hhh]”(j)”}”(hŒ6Any tool-suggested fix such as ``checkpatch.pl --fix``”h]”hÉ)”}”(hjh]”(hŒAny tool-suggested fix such as ”…””}”(hjhžhhŸNh Nubjm)”}”(hŒ``checkpatch.pl --fix``”h]”hŒcheckpatch.pl --fix”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jlhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K3hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)”}”(hŒCoccinelle scripts”h]”hÉ)”}”(hj5h]”hŒCoccinelle scripts”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K4hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)”}”(hŒFA chatbot generated a new function in your patch to sort list entries.”h]”hÉ)”}”(hjLh]”hŒFA chatbot generated a new function in your patch to sort list entries.”…””}”(hjNhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K5hjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)”}”(hŒ]A .c file in the patch was originally generated by a coding assistant but cleaned up by hand.”h]”hÉ)”}”(hŒ]A .c file in the patch was originally generated by a coding assistant but cleaned up by hand.”h]”hŒ]A .c file in the patch was originally generated by a coding assistant but cleaned up by hand.”…””}”(hjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K6hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)”}”(hŒnThe changelog was generated by handing the patch to a generative AI tool and asking it to write the changelog.”h]”hÉ)”}”(hŒnThe changelog was generated by handing the patch to a generative AI tool and asking it to write the changelog.”h]”hŒnThe changelog was generated by handing the patch to a generative AI tool and asking it to write the changelog.”…””}”(hj}hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K8hjyubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)”}”(hŒ4The changelog was translated from another language. ”h]”hÉ)”}”(hŒ3The changelog was translated from another language.”h]”hŒ3The changelog was translated from another language.”…””}”(hj•hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K:hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jhŸh¶h K3hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjòubeh}”(h]”h ]”h"]”h$]”h&]”uh1jðhŸh¶h K:hjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jëhj¾hžhhŸNh NubhÉ)”}”(hŒXIf in doubt, choose transparency and assume these guidelines apply to your contribution.”h]”hŒXIf in doubt, choose transparency and assume these guidelines apply to your contribution.”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K