Skip to content

Add instructions for the use of AI coding tools - #4286

Open
samsrabin wants to merge 59 commits into
ESCOMP:b4b-devfrom
samsrabin:add-ai-agent-instructions
Open

samsrabin wants to merge 59 commits into
ESCOMP:b4b-devfrom
samsrabin:add-ai-agent-instructions

Conversation

@samsrabin

@samsrabin samsrabin commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Description of changes

New section in CONTRIBUTING.md and some GitHub templates; new AGENTS.md file. I'm intentionally not including any "skills" or whatnot; this PR is solely intended to help stem the tide of AI-written contributions.

Borrowed heavily from CIME.

Main points of emphasis:

  • Issue templates have been replaced with forms, enabling us to require certain sections to be filled out. (See next item for why this is relevant.)
  • Issue forms and PR template now have an "AI disclosure" section.
  • Humans must understand everything in the issues and PRs they submit.
  • LLMs must not submit or edit issues or PRs (aside from pushing code), or interact with us as maintainers.
  • Write atomic commits with useful messages.

Remaining work:

  • Discuss at CTSM SE meeting
  • Incorporate suggestions from Fable 5.1 review
  • Do a review with Gemini/Antigravity
  • Add some counter-examples
  • Do a review with ChatGPT/Codex
  • Do a review with another model like Qwen

After merge to master:

Specific notes

Contributors other than yourself, if any: None

CTSM issues resolved or otherwise addressed, if any:

Any user interface changes (namelist or namelist defaults changes)? No

Testing planned or performed, if any:

  • None needed

AI disclosure

  • Was AI used in this contribution? Yes
  • Types of work: Auditing my work (Claude: /claude-api prompt-audit)
  • Model (optional): Claude Opus 5.5 (extra-high effort), Claude Fable 5.1 (high effort), Gemini 3.8 Flash, ChatGPT 5.6 Terra, qwen3-coder-next

Requirements before merge:

@samsrabin samsrabin added this to the ctsm6.0.0 (code freeze) milestone Oct 27, 2026
@samsrabin samsrabin self-assigned this Oct 27, 2026
@samsrabin samsrabin added documentation additions or edits to user-facing documentation or its infrastructure next this should get some attention in the next week or two. Normally each Thursday SE meeting. b4b bit-for-bit docs:new New documentation needed (e.g., for a new feature) docs-loc:codebase Relates to documentation within the CTSM code. E.g., Readmes, code comments or tool help text. labels Oct 27, 2026
New section in CONTRIBUTING.md and some GitHub templates; new AGENTS.md file.
@samsrabin
samsrabin force-pushed the add-ai-agent-instructions branch from c837e7b to 25118f5 Compare October 27, 2026 21:49
@samsrabin

Copy link
Copy Markdown
Member Author

Added "next" because I figure we should agree as a group on these instructions.

@samsrabin
samsrabin marked this pull request as draft October 28, 2026 18:11
Comment thread .github/ISSUE_TEMPLATE/config.yml Resolved
Comment thread .github/ISSUE_TEMPLATE/01_bug_report.md Resolved
Comment thread .github/ISSUE_TEMPLATE/config.yml Resolved

@ekluzek ekluzek left a comment

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.

I like this and glad we'll talk about it. I have a few questions we can go over tomorrow. I'm not approving now, since it's a draft.

Comment thread CONTRIBUTING.md Resolved
Comment thread CONTRIBUTING.md Resolved
Comment thread CONTRIBUTING.md

**Do not submit unreviewed AI output to this repository.** Issue and PR descriptions, comments, and review responses must reflect your own reasoning and understanding. Translation, grammar, and phrasing assistance are welcome, provided you verify the meaning.

**Do not delegate conversations with maintainers to an agent.** The maintainers of this repo are human beings who will use their human brains to review every single line of your contribution. Please show them the same courtesy when discussing an issue or PR.

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 do want to aspire to reviewing every line of code carefully. But, realistically as humans we won't be able to do that for large changes, or lines we can't advise on. So I think maybe we soften the wording a bit? But, also giving the expectation that every line is reviewed by a human might also help people to NOT submit huge changes. So maybe we leave it in.

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.

I also wonder about giving a ballpark limitation on the size of a PR. For example, saying something like

Contributions that exceed reasonable size for humans to review may be rejected (many tens of thousand lines of changes).

@samsrabin samsrabin Oct 29, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I would say that, if people aren't sure about the acceptable size of a PR, they should discuss that with us on the issue page they're supposed to have opened. We could also add something here like, "We may ask you to break up large PRs into smaller pieces," without giving any sort of number. ("Many tens of thousands of lines of changes" is way, way too high of a number anyway in my opinion.)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Also:

We do want to aspire to reviewing every line of code carefully. But, realistically as humans we won't be able to do that for large changes, or lines we can't advise on

That's an argument for (1) not letting people bring in large changes and (2) bringing in subject-matter experts to review the things that we as SEs can't—not for letting people bring in code we don't understand.

@samsrabin samsrabin removed the next this should get some attention in the next week or two. Normally each Thursday SE meeting. label Oct 29, 2026
samsrabin and others added 22 commits October 30, 2026 17:00
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
And fix a typo.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Gemini 3.8 Flash <noreply@google.com>
Co-Authored-By: Gemini 3.8 Flash <200291788+gemini-code-assist@users.noreply.github.com>
@samsrabin
samsrabin force-pushed the add-ai-agent-instructions branch from f1950b1 to 2b0bce7 Compare October 31, 2026 00:51
@samsrabin samsrabin linked an issue Nov 2, 2026 that may be closed by this pull request
@samsrabin
samsrabin marked this pull request as ready for review November 2, 2026 22:55

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

b4b bit-for-bit docs:new New documentation needed (e.g., for a new feature) docs-loc:codebase Relates to documentation within the CTSM code. E.g., Readmes, code comments or tool help text. documentation additions or edits to user-facing documentation or its infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add "no AI agents" etc. to CONTRIBUTING.md

3 participants