From dba6763a5f51280763b72a1edc99afb393a0519f Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Tue, 24 Mar 2026 22:33:56 -0700 Subject: [PATCH 1/4] add a section on AI-Generated PR Disclosure --- AGENTS.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 6378b2a9c534..58eac4e1c9d0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -161,6 +161,38 @@ The `api/` module has the strongest stability guarantees — breaking changes ar - Commit messages describe the *what* and *why*, not implementation details. - Apache License header required on all new files (enforced by spotless pre-commit hook). +## AI-Generated PR Disclosure + +Pull requests that are authored or substantially generated by AI, LLM, or automated agents **must** clearly identify themselves. Include the following information in the PR description: + +### Required Fields + +- **AI-Generated**: `Yes` — explicitly state that the PR was generated with AI/LLM assistance. +- **Model**: The specific model used (e.g., `Claude Opus 4.6`, `GPT-4o`, `Gemini 2.5 Pro`). Include the version or snapshot date if available. +- **Platform/Tool**: The tool or platform that orchestrated the generation (e.g., `GitHub Copilot`, `Cursor`, `Aider`, `Claude Code`, `custom script`). +- **Human Oversight**: Describe the level of human review applied (e.g., `fully reviewed`, `partially reviewed`, `unreviewed`). + +### Optional Fields + +- **Prompt Summary**: A brief description of the prompt or task given to the agent. +- **Agent Version**: Version of the orchestration tool or agent framework, if applicable. +- **Iteration Count**: How many agent iterations or attempts were used to produce the final result. +- **Context Window**: Any notable context limitations that may affect completeness. + +### PR Description Template + +Add the following block at the bottom of AI-generated PR descriptions: + +``` +--- +**AI Disclosure** +- AI-Generated: Yes +- Model: [model name and version] +- Platform/Tool: [tool or platform name] +- Human Oversight: [fully reviewed | partially reviewed | unreviewed] +- Prompt Summary: [brief description of the task] +``` + ## Boundaries - **Never** modify `.asf.yaml`, `LICENSE`, `NOTICE`, or `versions.props` without explicit discussion. From 3a6b37af29bd505ff0df9febe461cc997d75bfc3 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Sat, 9 May 2026 10:28:52 -0700 Subject: [PATCH 2/4] review feedback Co-authored-by: Copilot --- AGENTS.md | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 58eac4e1c9d0..63fad99ec3b8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -163,30 +163,24 @@ The `api/` module has the strongest stability guarantees — breaking changes ar ## AI-Generated PR Disclosure -Pull requests that are authored or substantially generated by AI, LLM, or automated agents **must** clearly identify themselves. Include the following information in the PR description: +Pull requests that are authored or substantially generated by AI agents **must** be labeled as "AI-Generated". When creating a PR description, always include an AI Disclosure block at the bottom. Use the template below and fill in the fields you know. For fields you cannot determine, use `[unknown - human to fill in]`. -### Required Fields - -- **AI-Generated**: `Yes` — explicitly state that the PR was generated with AI/LLM assistance. -- **Model**: The specific model used (e.g., `Claude Opus 4.6`, `GPT-4o`, `Gemini 2.5 Pro`). Include the version or snapshot date if available. -- **Platform/Tool**: The tool or platform that orchestrated the generation (e.g., `GitHub Copilot`, `Cursor`, `Aider`, `Claude Code`, `custom script`). -- **Human Oversight**: Describe the level of human review applied (e.g., `fully reviewed`, `partially reviewed`, `unreviewed`). +See the [ASF generative tooling guidelines](https://www.apache.org/legal/generative-tooling.html) for additional policy on AI-generated contributions. Note that AI-generated code cannot carry copyright, so the Apache License header does not apply to purely generated files. -### Optional Fields +### Required Fields +- **Model**: Set this to your model identifier and version (e.g., `Claude Opus 4.6`, `GPT-4o`, `Gemini 2.5 Pro`). +- **Platform/Tool**: Set this to the tool or platform that orchestrated the generation (e.g., `GitHub Copilot`, `Cursor`, `Aider`, `Claude Code`, `custom script`). +- **Human Oversight**: Set this to `fully reviewed`, `partially reviewed`, or `unreviewed`. If unknown, use `[unknown - human to fill in]`. - **Prompt Summary**: A brief description of the prompt or task given to the agent. -- **Agent Version**: Version of the orchestration tool or agent framework, if applicable. -- **Iteration Count**: How many agent iterations or attempts were used to produce the final result. -- **Context Window**: Any notable context limitations that may affect completeness. ### PR Description Template -Add the following block at the bottom of AI-generated PR descriptions: +Add the following block at the bottom of PR descriptions: ``` --- **AI Disclosure** -- AI-Generated: Yes - Model: [model name and version] - Platform/Tool: [tool or platform name] - Human Oversight: [fully reviewed | partially reviewed | unreviewed] From a0b20ed06bbf2c86adf0c49300a59c3ff52c9924 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Sat, 9 May 2026 10:34:37 -0700 Subject: [PATCH 3/4] add about pr review Co-authored-by: Copilot --- AGENTS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 63fad99ec3b8..c54fdcb2b275 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -167,6 +167,8 @@ Pull requests that are authored or substantially generated by AI agents **must** See the [ASF generative tooling guidelines](https://www.apache.org/legal/generative-tooling.html) for additional policy on AI-generated contributions. Note that AI-generated code cannot carry copyright, so the Apache License header does not apply to purely generated files. +AI-generated review comments **must** be reviewed for accuracy before posting. Auto-posting unreviewed AI comments is discouraged. + ### Required Fields - **Model**: Set this to your model identifier and version (e.g., `Claude Opus 4.6`, `GPT-4o`, `Gemini 2.5 Pro`). From 1e9fe4a29f1850eaf3b5e59958a56fd17640977b Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Wed, 17 Jun 2026 19:26:49 -0700 Subject: [PATCH 4/4] Docs: Clarify AI disclosure guidance Generated-by: OpenAI Codex --- AGENTS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index c54fdcb2b275..b30aa2acd738 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -163,9 +163,9 @@ The `api/` module has the strongest stability guarantees — breaking changes ar ## AI-Generated PR Disclosure -Pull requests that are authored or substantially generated by AI agents **must** be labeled as "AI-Generated". When creating a PR description, always include an AI Disclosure block at the bottom. Use the template below and fill in the fields you know. For fields you cannot determine, use `[unknown - human to fill in]`. +Pull requests that are authored or substantially generated by AI agents **must** disclose that in the PR description. When creating a PR description, always include an AI Disclosure block at the bottom. Use the template below and fill in the fields you know. For fields you cannot determine, use `[unknown - human to fill in]`. -See the [ASF generative tooling guidelines](https://www.apache.org/legal/generative-tooling.html) for additional policy on AI-generated contributions. Note that AI-generated code cannot carry copyright, so the Apache License header does not apply to purely generated files. +See the [ASF generative tooling guidelines](https://www.apache.org/legal/generative-tooling.html) for additional policy on AI-generated contributions. Generated files must still follow Iceberg's Apache License header and license check requirements unless explicitly excluded by project policy. For commits authored using generative AI tooling, include a `Generated-by: ` token in the commit message. AI-generated review comments **must** be reviewed for accuracy before posting. Auto-posting unreviewed AI comments is discouraged.