Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions getting-started/ai-tools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
6 changes: 4 additions & 2 deletions triage/labels.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
<ai-tools>` and closes the issue or PR. See the :ref:`triage team's guidance
on closing PRs <triage-team>`.
on applying the AI policy labels <triage-ai-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
<triage-ai-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.
Expand Down
32 changes: 32 additions & 0 deletions triage/triage-team.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <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
===========================================

Expand Down
2 changes: 2 additions & 0 deletions triage/triaging.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
<ai-tools>`, apply one of the :ref:`AI policy labels <triage-ai-labels>`.


.. _triage-fields:
Expand Down
Loading