Repository navigation
ci: fail PRs and pushes that credit an AI agent - #6
Merged
Merged
Conversation
Member
Author
|
Local gate (CI paused, RFC 0154): head 04add4e adds only .github/workflows/no-ai-attribution.yml; it parses as YAML (one job, actions pinned by SHA) and is byte-identical to the same file in the other 8 repos; no file overlaps main. Squash merge, pre-approved on a green local gate. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a small check that fails a pull request when its title, description or any of its commits credits an AI agent, and a push to main that brings such a commit in. Commits and PRs carry only the owner.
This is the server-side half of the local git hooks on the Mac and nevio-server. Those strip AI lines from commit messages and refuse pushes that still carry them, but a PR description is written on GitHub, so only a check here can catch it.
It runs on
vars.CI_LIGHT_RUNNERwhere a repo sets one (core uses its self-hosted runner) and onubuntu-latestotherwise. On private repos without self-hosted runners it starts working once Actions billing is enabled.The matching was tested against five cases: an AI "Generated with" line in a description, an AI co-author trailer in a PR commit, one in a pushed commit, and two clean cases (a human co-author, an empty description). All five gave the expected result, and actionlint is clean.
To make it blocking, add
no AI attribution / checkas a required status check on main.