Skip to content

Proposal for an AI policy#73

Open
ozh wants to merge 11 commits intomainfrom
ozh/IA
Open

Proposal for an AI policy#73
ozh wants to merge 11 commits intomainfrom
ozh/IA

Conversation

@ozh
Copy link
Copy Markdown
Member

@ozh ozh commented Apr 29, 2026

Very inspired by https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md which I found quite resonating with my opinions on the topic, after dealing with recent AI generated PRs.

Thoughts?

Next steps:

  • fine tuning / rewording
  • linking from CONTRIBUTING.md
  • while we are at it, maybe shortening that CONTRIBUTING.md page which is very wordy and covering stuff that are included in issues/PR templates.

Very inspired by
https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md which I
found quite resonating with my opinions of the topic, after dealing with
recent AI generated PRs.

Thoughts?

Next steps:
- fine tuning / rewording
- linking from CONTRIBUTING.md
- while we are at it, maybe shortening that CONTRIBUTING.md page which
is very wordy and covering stuff that are included in issues/PR
templates.
Copy link
Copy Markdown
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Figured we should focus on this first, then look at changes to CONTRIBUTING separately once the AI policy is more or less finished.

Comment thread IA_POLICY.md Outdated
Comment thread IA_POLICY.md Outdated
Comment thread AI_POLICY.md
Comment thread IA_POLICY.md Outdated
Comment thread IA_POLICY.md Outdated
Comment thread IA_POLICY.md Outdated
ozh and others added 3 commits April 30, 2026 10:24
Co-authored-by: dgw <dgw@technobabbl.es>
s/ 🇫🇷 / 🇺🇸 /g
Added a section on the necessity for Pull Requests to originate from real human needs.
@ozh
Copy link
Copy Markdown
Member Author

ozh commented Apr 30, 2026

Thanks for reviewing and improving @dgw 👍

Added a new paragraph to express the feeling I shared to the latest dude with all the PRs -- if a PR doesn't come from a real human need, we probably don't need it.

Also : as usual, I have no f*ing clue about what's needed to please the linter. Some errors were emitted while running checks. and �[31;1m Wrong line endings or no final newline�[33;0m, hmmkey, but where?

Copy link
Copy Markdown
Member

@LeoColomb LeoColomb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Big 👍 here!
Some comments inline, mostly cosmetics.

Two additional remarks:

  • As I noted inline, security-related AI scanning might be something to consider differently. I don't know how to write this, especially since we already have a security policy, but I wanted to highlight this might be an important topic.
  • I also don't know how much it would be relevant or how to phrase it correctly, but I'd be happy if one section points out submitting PR is not enough, and maintainers comments should be taken into consideration. Said differently, following up on submitted PR is as important. (if that makes sense?)

Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
@LeoColomb
Copy link
Copy Markdown
Member

LeoColomb commented Apr 30, 2026

Also : as usual, I have no f*ing clue about what's needed to please the linter. Some errors were emitted while running checks. and �[31;1m Wrong line endings or no final newline�[33;0m, hmmkey, but where?

  • Biome (BIOME_FORMAT) is a relatively recent addition in Super Linter and in conflict with some other linters, which is very annoying (yes yes 🫣). Removing it from the linters used by Super Linter is on my todo list, let's just ignore it for now.

  • EditorConfig: I assume you're editing the file on Windows? It seems there is a mix of LF/CRLF line endings. This something to fix. In VS Code:
    image

  • Prettier: I'm betting this is just an extension of the previous issue. Running a prettier AI_USAGE.md --write would clean them all.

Details

Yes, line endings are CRLF, see all ^M$ (^M is CR and $ is LF):

$ cat -A AI_POLICY.md
# AI Usage Policy^M$
^M$
The YOURLS project and organization have strict rules regarding AI usage.^M$
^M$
- **All AI usage in any form must be disclosed.** You must state^M$
  the tool you used (e.g. Claude Code) along with the extent to which the work^M$
  was AI-assisted.^M$
^M$
- **The human-in-the-loop must fully understand all code.** If you can't explain^M$
  without AI what your changes do and how they interact with code, please do not^M$
  contribute to this project.^M$
^M$
- **Any content generated with AI must have been reviewed _and edited_^M$
  by a human before submission.** AI is very good at being overly verbose and^M$
  including noise that distracts from the main point.^M$
^M$
- **The human-in-the-loop must communicate with maintainers.** This follows from^M$
  the preceding points: AI models are verbose and unfocused. Don't have your AI^M$
  tool describe to us what you've found or changed; say it in your own words.^M$
^M$
- **Pull Requests must be focused.** If you want to submit a PR that fixes a^M$
  problem, enhances or introduce a new feature, make sure your code does just^M$
  that. PRs that change whitespace, reword comments, or contain multiple^M$
  unrelated sets of changes will be rejected.^M$
^M$
- **Pull Requests must originate from a real human need.** A valid PR addresses^M$
  a bug you actually encountered, or a feature you genuinely need. We do not^M$
  accept PRs where the origin is an AI agent that scanned the codebase and^M$
  decided something could be "improved" - refactored, renamed, reworded, or^M$
  otherwise touched. If you cannot point to a concrete problem you faced as a user,^M$
  there is no PR to submit.^M$
^M$
## There are Humans Here^M$
^M$
Please remember that YOURLS is maintained by humans.^M$
^M$
Every discussion, issue, and pull request is read and reviewed by humans.^M$
It is a boundary point at which people interact with each other and guide^M$
the work. It is rude and disrespectful to approach this boundary with^M$
low-effort, unqualified contributions that put the burden of validation^M$
on the maintainers.^M$
^M$
**This AI Policy is not an anti AI stance.** It's our way to preserve our^M$
limited time and resources devoted to this community project.^M$

ozh and others added 2 commits April 30, 2026 23:31
Co-authored-by: Léo Colombaro <LeoColomb@users.noreply.github.com>
@ozh
Copy link
Copy Markdown
Member Author

ozh commented Apr 30, 2026

  • As I noted inline, security-related AI scanning might be something to consider differently. I don't know how to write this, especially since we already have a security policy, but I wanted to highlight this might be an important topic.

I've added a note -- anyone feel free to reword

  • I also don't know how much it would be relevant or how to phrase it correctly, but I'd be happy if one section points out submitting PR is not enough, and maintainers comments should be taken into consideration. Said differently, following up on submitted PR is as important. (if that makes sense?)

Valid point, probably more suited in the PR template. To me it goes along with "just to make sure, maybe ask everyone before working on adding a new feature"

@ozh
Copy link
Copy Markdown
Member Author

ozh commented Apr 30, 2026

  • EditorConfig: I assume you're editing the file on Windows? It seems there is a mix of LF/CRLF line endings. This something to fix.

Migrated to Linux a couple weeks ago. Disk drive died, had this in mind for a long time, so I figured it was the right moment to do so. So, no, 100% working on Linux now, I don't get where that CRLF came from. Still tweaking my setup here and there but I'm getting close ;)

@LeoColomb
Copy link
Copy Markdown
Member

LeoColomb commented Apr 30, 2026

@ozh The formatting is all good now, yes! I hope you don't mind me committing here, I've disabled Biome (and Zizmor) here so it does not complain anymore. I feel terrible hijacking this PR for that 😅.

@dgw
Copy link
Copy Markdown
Member

dgw commented Apr 30, 2026

Incoming: A couple more code-review tweaks from my second look at the new document. :)

  • I also don't know how much it would be relevant or how to phrase it correctly, but I'd be happy if one section points out submitting PR is not enough, and maintainers comments should be taken into consideration. Said differently, following up on submitted PR is as important. (if that makes sense?)

This is relevant in the general CONTRIBUTING.md, honestly. Whether AI was used or not, if someone drops a PR in our lap and then never answers maintainer comments, that's not a healthy way of interacting with the project.

It's implied by the bullet I suggested before ("The human-in-the-loop must communicate with maintainers."), as well, but mentioning it in both contexts works. Even a note in the PR template, reminding people, can't hurt.

I've disabled Biome (and Zizmor) here so it does not complain anymore. I feel terrible hijacking this PR for that 😅.

Don't feel bad, it's the quicker alternative to submitting a separate PR for tweaking the linter settings, merging that, then integrating those upstream changes into this branch. Assuming we will squash-merge as usual, it won't make the history any messier. 😸

Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
@dgw dgw changed the title Proposal for an IA policy Proposal for an AI policy May 1, 2026
Co-authored-by: dgw <dgw@technobabbl.es>
@ozh
Copy link
Copy Markdown
Member Author

ozh commented May 1, 2026

Crazy: line endings are OK, then I commit through Github interface dgw's suggestions, and line endings are NOK again. Not saying it's useful to check line ending 🙄 😁 but I don't get why.

@ozh
Copy link
Copy Markdown
Member Author

ozh commented May 1, 2026

AI Policy OK for me here -- any rewording welcome of course.

Now proposing a rewrite of the CONTRIBUTING and a PR template. I made them as short and concise as possible -- not a manual on "how to use Git and PR on Github", I think our .md files as of now are somewhat too verbose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants