Front-load the description with trigger words (Generated-by trailer, AI disclosure, commit message, PR description, Co-authored-by) and add a when-not clause. Lead the body with a worked example; add rules for mixed commits and PR descriptions. Generated-by: Claude Opus 5.5
62 lines
3.0 KiB
Markdown
62 lines
3.0 KiB
Markdown
---
|
|
name: disclose-gen-ai
|
|
description: Generated-by trailer / AI disclosure — use when writing, amending, or reviewing a git commit message or PR description for work substantially generated by an AI tool (Claude, Copilot, Codex, an LLM, "the bot wrote it"); when choosing between Generated-by and Co-authored-by; when asked how to attribute or disclose AI-generated code or docs. Per the ASF Generative Tooling Guidance. Not for typo fixes or edits the human typed.
|
|
---
|
|
|
|
# Disclose generative AI
|
|
|
|
When a commit's content was substantially generated by an AI tool, end
|
|
the commit message with a trailer that names the tool, as the
|
|
[ASF Generative Tooling Guidance][gen-tooling] recommends:
|
|
|
|
```
|
|
Add lazy-tdd skill
|
|
|
|
Code that works the first time may ship untested; a discovered goof
|
|
owes a regression test.
|
|
|
|
Generated-by: Claude Opus 5.5
|
|
```
|
|
|
|
## the rules
|
|
|
|
- **When:** the content is substantially machine-generated: code,
|
|
docs, tests, or a rewrite. Not needed for a typo fix or an edit the
|
|
human typed.
|
|
- **Form:** `Generated-by: <Tool> <Version>`, as the last paragraph of
|
|
the message, in git trailer format (`git interpret-trailers` can
|
|
parse it).
|
|
- **Generated-by, not Co-authored-by.** The ASF accepts
|
|
`Co-authored-by: <Tool> <Version>`, but `Generated-by:` is preferred
|
|
here because it is easy for machines to parse. When a tool adds its
|
|
own `Co-authored-by` trailer by default, use `Generated-by:` instead.
|
|
- **Mixed commits:** if only part of a series was AI-generated, put the
|
|
trailer only on those commits. Don't add it to every commit.
|
|
- **PR descriptions:** say which parts were AI-generated. The commit
|
|
trailers stay the record that counts.
|
|
- **The human stays responsible.** The commit author vouches for the
|
|
contribution. That includes disclosing material that is not their
|
|
original creation, and making sure the tool's terms grant enough
|
|
rights to license the output ([ICLA][icla], sections 4-5, 7-8).
|
|
|
|
Precedent: ocap-merkledag commit 68ffcca ("Add high-level design doc
|
|
for deploying on Cloudflare."), and this skills repo's lazy-tdd commit.
|
|
|
|
## why
|
|
|
|
The [Apache-2.0 license][apache2] and the [ICLA][icla] both require
|
|
contributors to disclose material in a contribution that is not the
|
|
contributor's original creation. Section 7 of the ICLA (third-party
|
|
work) is not a practical route for AI output, because the source
|
|
details can't be known. A `Generated-by:` trailer is the
|
|
[ASF's recommended disclosure practice][gen-tooling]. It keeps the
|
|
record honest about what the signing contributor does and does not
|
|
claim to own. This matches the U.S. Copyright Office's finding that
|
|
purely machine-generated output is not copyrightable
|
|
([Copyright and AI, Part 2: Copyrightability][uspto-part2], Jan 2025).
|
|
|
|
[gen-tooling]: https://www.apache.org/legal/generative-tooling.html
|
|
[icla]: https://www.apache.org/licenses/icla.pdf
|
|
[apache2]: https://www.apache.org/licenses/LICENSE-2.0
|
|
[uspto-part2]: https://www.copyright.gov/ai/Copyright-and-Artificial-Intelligence-Part-2-Copyrightability-Report.pdf
|