Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The grammar here is a bit off.

Suggested change
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, LLM, or automated agents **must** be labeled as "AI-Generated". Include the following information in the PR description:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Another full replacement here

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 (Model, Platform/Tool). For fields you cannot determine (Human Oversight), use [unknown - human to fill in].

Or something like that. Explicit instructions. Minimal branching or ambiguous conditions

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Pick one synonym I think. I don't have the context on this, but I can only imagine it would be harder for a model with synonyms rather than just using a single term over and over


### Required Fields

- **AI-Generated**: `Yes` — explicitly state that the PR was generated with AI/LLM assistance.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think we need a AI-Generated field, if the disclosure is here we can assume it was

- **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.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Here would be sometihng like "Set Model to your Model Identifier" or whnot

- **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`).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Prompt the user to fill this in or leave it as unreviewed

Or something like that

We don't need to describe, we need to instruct


### Optional Fields
Copy link
Copy Markdown
Contributor

@nssalian nssalian Mar 25, 2026

Choose a reason for hiding this comment

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

I'm curious if these fields are useful to add. Would this information here help the community? I feel like we could remove these

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Probably we don't need to add Optional category. This is for a robot, just tell it to include everything if we think it's important with instructions for missing 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.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm not sure how 179 or 180 would accurately produced by some agents (or whether that output could be trusted) without an explicit skill or tool to fetch the information

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Needs more instructions less description


### PR Description Template

Add the following block at the bottom of AI-generated PR descriptions:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should add this as a section in the PR template so users are prompted to add these if needed.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm not sure how any of this will reliably work _especially filling in model name and version

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Also you could just remove the "AI-generated" here

"Add the following block to the bottom of PR descriptions"


```
---
**AI Disclosure**
- AI-Generated: Yes
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This isn't needed, either this section is here or not IMHO

- 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.
Expand Down
Loading