--- 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: `, 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: `, 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. - **Unreviewed PRs are drafts.** When an agent opens a PR under the human's GitHub account and the human hasn't read it yet, open it as a draft (`gh pr create --draft`) and start the description with: ``` > [!WARNING] > **Unreviewed LLM output.** Generated by ; no human > has reviewed this code yet. ``` The human removes the caveat and marks it ready after reviewing. The caveat exists because the PR appears to come from the human. A PR opened from a bot account already shows who wrote it, so it doesn't need the caveat. - **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