diff --git a/getting-started/ai-tools.rst b/getting-started/ai-tools.rst index cd69987ca..56ba24733 100644 --- a/getting-started/ai-tools.rst +++ b/getting-started/ai-tools.rst @@ -62,3 +62,18 @@ disrespectful of the maintainers time. It is not acceptable to alter or bypass existing tests, or remove desired functionality, in order to make a failing test pass. Such changes are not a real fix. + +How these guidelines are applied +================================ + +Using AI tools is not a reason on its own for an issue or PR to be labeled +or closed. When a maintainer thinks an issue or PR does not follow these +guidelines, they may apply one of the following labels. A bot then posts a +comment that links to this page. + +- :gh-label:`AI-needs-explanation`: the issue or PR stays open. Reply in your + own words: explain what the change does or what the issue is about, and + describe how you checked that it is correct. +- :gh-label:`AI-guidelines-not-met`: the issue or PR is closed. If you think + we misunderstood your contribution, reply on the issue or PR. You are + welcome to explain your approach or ask questions about these guidelines. diff --git a/triage/labels.rst b/triage/labels.rst index e015b965b..36e98e7c0 100644 --- a/triage/labels.rst +++ b/triage/labels.rst @@ -120,10 +120,12 @@ Other labels AI-assisted submission where you think the author is unlikely to engage with feedback. The bot links to the :ref:`guidelines for using AI tools ` and closes the issue or PR. See the :ref:`triage team's guidance - on closing PRs `. + on applying the AI policy labels `. * Use :gh-label:`AI-needs-explanation` when you have concerns about AI-assisted work and think the author is likely to engage with feedback. - The bot posts a reminder and leaves the issue or PR open. + The bot posts a reminder and leaves the issue or PR open. See the + :ref:`triage team's guidance on applying the AI policy labels + `. * :gh-label:`build`/:gh-label:`performance`: for issues related to the build process or performance, respectively. * :gh-label:`easy`: for issues that are considered easy. diff --git a/triage/triage-team.rst b/triage/triage-team.rst index 7acebc130..afc72e75c 100644 --- a/triage/triage-team.rst +++ b/triage/triage-team.rst @@ -56,6 +56,38 @@ the Python Software Foundation, always follow the `PSF Code of Conduct`_. .. _PSF Code of Conduct: https://policies.python.org/python.org/code-of-conduct/ +.. _triage-ai-labels: + +Applying the AI policy labels +============================= + +Use the AI policy labels for issues and PRs that don't follow the +:ref:`guidelines for using AI tools `. Don't apply them only because +AI tools were used, or because the author disclosed using them. + +Apply only one of these labels to an issue or PR. If you add one when the +other is already there, remove the other label. + +* Start with :gh-label:`AI-needs-explanation`. The bot asks the author to + explain the work in their own words and leaves the issue or PR open. +* Use :gh-label:`AI-guidelines-not-met` only for clear cases, such as a + low-effort submission where the author is unlikely to engage with feedback. + The bot posts a comment and closes the issue or PR. If you have any doubt, + use :gh-label:`AI-needs-explanation` instead, or consult a core developer. +* If the author doesn't respond to :gh-label:`AI-needs-explanation`, or the + response doesn't address the concern (for example, it is more generated + text), remove :gh-label:`AI-needs-explanation` and add + :gh-label:`AI-guidelines-not-met`. The bot posts the closing + comment and closes the issue or PR. If you have any doubt, consult a core + team member first. +* If the author responds and the concern is resolved, remove the label. + For a closed issue or PR, reopen it as well. + +Prefer these labels over closing manually, so the author gets the same +explanation each time and the issues and PRs can be found later by filtering +on the label. + + Becoming a member of the Python triage team =========================================== diff --git a/triage/triaging.rst b/triage/triaging.rst index 22c1c5b74..a61c45aa3 100644 --- a/triage/triaging.rst +++ b/triage/triaging.rst @@ -28,6 +28,8 @@ Checklist for triaging * If the issue is clearly invalid (unrelated to CPython, spam, and so on), you can use GitHub's :guilabel:`Close as not planned` option and apply the :gh-label:`invalid` label. +* If the issue or PR doesn't follow the :ref:`guidelines for using AI tools + `, apply one of the :ref:`AI policy labels `. .. _triage-fields: