add AI tool usage section to CONTRIBUTING.md - #1514
Conversation
|
Do we want to go even further and require signed commits, like in this example? https://github.com/mlflow/mlflow/blob/master/CONTRIBUTING.md#sign-your-work |
|
|
||
| Usage of AI tools in development for hls4ml is generally allowed. However, we require all contributers to adhere to the following guidelines: | ||
|
|
||
| - Contributed code must still be you own original work. It is your responsibility to make sure that the generated code is compatible with the [hls4ml license](LICENSE.txt), [these Contributor Guidelines](CONTRIBUTING.md), and it doesn't violate the lincense of either the AI tool or any third-party license obligations. |
There was a problem hiding this comment.
I see a typo here: "doesn't violate the lincense" -> license
|
As a more concrete suggestion to this PR, I propose we also update the PR template. In general, I would propose the update of all templates, but that's a separate issue to track. I drafted a template here: https://gist.github.com/vloncar/fd9aacbf6461aff595de9d316c30bda4. It is based on various compiler projects I've been tracking. It includes neat things like suggestions being html comments that are not rendered as opposed to current template that uses pure markdown so whatever instructions user doesn't remove stay indefinitely. Note that we should add instruction to remove the authorship claim on the commits in the contributing.md guide. Agents cannot claim copyright, and it also pollutes the contributor statistics, even across projects (this was affecting large projects so it is becoming widespread to tell the agent not to put "co-authored by" in the commit messages). And while we're changing the contribution guide, we should standardize that commits will be squashed when merging and mention that in the guide. Asking people to do this for years has had zero effect, and commits are still mostly nonsensical in most PRs, so let's just forget about that and focus on enforcing PR descriptions to be high quality |
|
I have pushed a commit to this branch with the concrete changes I proposed above, plus the template rework.
Templates
A short file at the repository root stating the same expectations in the form agents read, since that is where the behavior actually gets decided. It is deliberately brief because several harnesses inject it into every request. Regarding signing, I would rather not require it. Sign-off and commit signing are unfamiliar to most of our contributors and neither verifies the thing we care about, which is that a human reviewed the change and takes responsibility for it. I'll follow this with a PR with agent-facing documentation of how hls4ml actually works, stacked on this branch. This PR sets the expectations; that one gives an agent the knowledge to meet them. The labels |
A while ago we discussed the need for an explicit AI code policy for the repository. This is a draft, inspired partially by https://github.com/Qiskit/qiskit/blob/d208387eb226ff4eb0ce6a0e989f3a104650a310/CONTRIBUTING.md?plain=1#L266, which is supposed to serve as a basis for a discussion. So please have a look and give feedback.
Note: Please delete options that are not relevant.
Tests
Checklist
pre-commiton the files I edited or added.