docs: Add AI-assisted contributions policy to contributing guidelines#4051
Conversation
📝 WalkthroughWalkthroughAdds AI-assistance disclosure guidance: a new checklist and disclosure block in the PR template, and a new "AI-assisted contributions" subsection in the contributing guide outlining attribution and disclosure practices. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
6677775 to
c69cfe9
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/project_info/contributing.rst (1)
91-92: Add an explicit anchor for this new subsection.This new second-level section is missing a
.. _...:target, so any link back to the policy has to rely on generated heading IDs instead of the stable cross-reference style documented later in this file.Suggested change
+.. _project_info-ai_assisted_contributions: + AI-assisted contributions -------------------------As per coding guidelines, "Provide hyperlink targets <...>, at least for the first two section levels."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/project_info/contributing.rst` around lines 91 - 92, Add an explicit reStructuredText target anchor immediately above the "AI-assisted contributions" second-level heading so links can use a stable cross-reference; create a target named ai-assisted-contributions (or similar) and place it on the line directly before the "AI-assisted contributions" heading so other parts of the docs can reference it by name.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/project_info/contributing.rst`:
- Around line 91-92: Add an explicit reStructuredText target anchor immediately
above the "AI-assisted contributions" second-level heading so links can use a
stable cross-reference; create a target named ai-assisted-contributions (or
similar) and place it on the line directly before the "AI-assisted
contributions" heading so other parts of the docs can reference it by name.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: cfcfaaf9-fa81-44d4-8744-a1a38180e06e
📒 Files selected for processing (2)
.github/pull_request_template.mddocs/project_info/contributing.rst
🚧 Files skipped from review as they are similar to previous changes (1)
- .github/pull_request_template.md
|
Cool, thanks for setting this up! |
* Add an AI-assisted contributions policy taken mostly from Awkward Array's (https://github.com/scikit-hep/awkward/), which was based on Scikit-learn's Automated Contributions Policy. * Add AI-assistance disclosure checkboxes to pull request template. * c.f. - https://github.com/scikit-hep/awkward/ PR 3831 - https://github.com/scikit-learn/scikit-learn/ PR 2566 Co-authored-by: Johannes Köster <johannes.koester@uni-due.de>
052389a to
194b324
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/pull_request_template.md (1)
16-20: Add an explicit “no AI assistance” option.As written, an entirely unchecked section is ambiguous between “no AI was used” and “the author skipped the disclosure.” Adding a dedicated checkbox for the no-AI case would make the template easier to interpret and enforce consistently.
✏️ Proposed tweak
I used AI assistance for: +* [ ] No AI assistance * [ ] Code generation (e.g., when writing an implementation or fixing a bug) * [ ] Test/benchmark generation * [ ] Documentation (including examples) * [ ] Research and understanding🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/pull_request_template.md around lines 16 - 20, Add an explicit "No AI assistance" checkbox to the existing "I used AI assistance for:" checklist so an unchecked list cannot be confused with skipping disclosure; specifically, update the checklist under the "I used AI assistance for:" heading to include a distinct option like "* [ ] No AI assistance used" (in addition to the current items such as "Code generation", "Test/benchmark generation", "Documentation", "Research and understanding") and adjust the template copy to make it clear one box should be selected before submitting.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/pull_request_template.md:
- Around line 16-20: Add an explicit "No AI assistance" checkbox to the existing
"I used AI assistance for:" checklist so an unchecked list cannot be confused
with skipping disclosure; specifically, update the checklist under the "I used
AI assistance for:" heading to include a distinct option like "* [ ] No AI
assistance used" (in addition to the current items such as "Code generation",
"Test/benchmark generation", "Documentation", "Research and understanding") and
adjust the template copy to make it clear one box should be selected before
submitting.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: bd90cf7a-a28d-4693-ab39-26330d970b93
📒 Files selected for processing (2)
.github/pull_request_template.mddocs/project_info/contributing.rst
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/project_info/contributing.rst
|
Not necessarily actionable information for this PR, but interesting post that was shared on the Scientific Python Discord: https://redmonk.com/kholterhoff/2026/02/26/generative-ai-policy-landscape-in-open-source/ |
|
Thanks! |
🤖 I have created a release *beep* *boop* --- ## [9.17.0](v9.16.3...v9.17.0) (2026-03-13) ### Features * Allow storing snakemake metadata in files or databases ([#4012](#4012)) ([dd75f31](dd75f31)) * Allow to specify comparison command per-unit test ([#3956](#3956)) ([b88171c](b88171c)) * job table orderd topological when run is started ([#4018](#4018)) ([75cf506](75cf506)) * lambda functions for priority in rules ([#3253](#3253)) ([d2aa226](d2aa226)) * Make on... directive of modules accessible ([#4050](#4050)) ([e9f2e1c](e9f2e1c)) ### Bug Fixes * adjust conda tests to not fail on apple silicon; fix [#4040](#4040) ([#4049](#4049)) ([f5b0142](f5b0142)) * allow "--containerize apptainer" to output apptainer format instead of dockerfile ([#4030](#4030)) ([f5cac30](f5cac30)) * apptainer command not recognized when singularity is absent ([#4010](#4010)) ([b8162e2](b8162e2)) * capture stderr when tests fail ([#3995](#3995)) ([97d74ba](97d74ba)) * **docs:** make Data-dependent conditional execution a complete example ([#4043](#4043)) ([3a1d7f2](3a1d7f2)) * don't build the DAG when running unlock. Fixes [#4000](#4000) and [#198](#198) ([#4007](#4007)) ([acf79fd](acf79fd)) * Ensure pixi tasks may be run as advertised ([#4046](#4046)) ([88253c2](88253c2)) * fix checkpoint handling corner cases ([#3870](#3870) and [#3559](#3559)) ([#4015](#4015)) ([63f4257](63f4257)) * issue 3642 ([#4054](#4054)) ([76e6fc2](76e6fc2)) * issue 3815 ([#4026](#4026)) ([b0eec96](b0eec96)) * logging None in shellcmd context causes error ([#4064](#4064)) ([d0652cd](d0652cd)) * lookup function returns default value for empty DataFrame queries ([#4056](#4056)) ([f71de97](f71de97)) * make `cache: omit-software` a rule specific property ([#4085](#4085)) ([034a9e7](034a9e7)) * reduce number of tests leaving temporary files behind ([#4033](#4033)) ([a3a1c97](a3a1c97)) * regression in dynamic resource handling ([#4038](#4038)) ([f2c554a](f2c554a)) * somewhat shorter announce message ([#4080](#4080)) ([57efc71](57efc71)) ### Performance Improvements * switch reretry with tenacity; decouple container classes (with Python 3.7 compat for old scripts) from rest of the codebase (enabling moving to newer python versions) ([#4032](#4032)) ([ffb19e7](ffb19e7)) ### Documentation * Add AI-assisted contributions policy to contributing guidelines ([#4051](#4051)) ([dd70526](dd70526)) * **codebase:** Update & simplify plugin architecture section ([#4052](#4052)) ([176cf63](176cf63)) * Correct workflow.source_path() description in documentation ([#4036](#4036)) ([45883c5](45883c5)) * fixed wrong code example for collect() function ([#4037](#4037)) ([5c85ed8](5c85ed8)) * Minor docs improvements ([#4089](#4089)) ([29ea226](29ea226)) * switch to sphinx_design for tabs ([#3976](#3976)) ([9674614](9674614)) * typo in the migration table breaking a pip install command ([#4024](#4024)) ([66f9dda](66f9dda)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Note that the Awkward Array language is more pro-AI-usage while the Scikit-learn language is more neutral.
Context
This was discussed in the AI section of the 2026 Snakemake Hackathon at TUM (GitHub project board).
QC
docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).Summary by CodeRabbit