Skip to content

A simpler MuPT AI & Authorship Policy document#52

Open
mrshirts wants to merge 2 commits intomainfrom
ai_policy_simplified
Open

A simpler MuPT AI & Authorship Policy document#52
mrshirts wants to merge 2 commits intomainfrom
ai_policy_simplified

Conversation

@mrshirts
Copy link
Copy Markdown

A simpler AI policy document to start with

Description

This provides a simpler description of the current AI policy

Todos

Notable points that this PR has either accomplished or will accomplish.

A simpler AI policy document to start
Fix some typos and formatting, and clarify some points.
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@joelaforet joelaforet left a comment

Choose a reason for hiding this comment

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

Made some comments + suggestions.

Comment thread AI_POLICY.md

AI models often hallucinate comments or reinvent existing utilities.

- You should existing `mupt` utilities and never reinvent the wheel, except for when the utility is not available. Creating new helper functions when a MuPT equivalent exists will be rejected
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.

Suggested change
- You should existing `mupt` utilities and never reinvent the wheel, except for when the utility is not available. Creating new helper functions when a MuPT equivalent exists will be rejected
- You should use existing `mupt` utilities and never reinvent the wheel, except for when the utility is not available. Creating new helper functions when a MuPT equivalent exists will be rejected

Comment thread AI_POLICY.md
- An AI agent (e.g., Cursor, GitHub Copilot, ChatGPT, etc.) generated the code or commit messages
- You cannot explain the logic without referring to the AI's output
- The PR was created primarily by an agent with minimal human review or modification
- This should not currently submitted to MuPT
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.

This should not currently submitted to MuPT

Is this really the policy? Seems like we're blocking agents writing code + generating commits even if the author has full ownership of the code that is produced. I read this as contradicting the previously mentioned "Explain It" standard.

Comment thread AI_POLICY.md

All PRs must accurately describe the actual use of AI tools.

**When to mark as 🔴 AI-generated:**
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 personally don't like the implied requirement that we need to tag all of our code contributions with emojis. I've seen people in the OS community have a short line at the bottom of their commits/PRs that read "🤖 Generated with Claude Code". See patterns in PyLabRobot by @rickwierenga

Copy link
Copy Markdown

@dwhswenson dwhswenson left a comment

Choose a reason for hiding this comment

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

Overall take is (as I often say with AI): good patterns for AI are also good patterns for humans. Making restrictions AI-specific isn't needed if you make it a core requirement of all PRs (as it should be).

The one point I'd argue especially strongly for is, in the section about "don't use AI to write your words," adding exceptions for translation/grammar. Unless you want to take the opposite direction (which some projects do!) of saying "write in your native language; the reader will translate it." Other suggestions are less firm.

I'll add a link in Slack to (a pinned version of) a document I'm working on related to this for OMSF. That doc isn't quite ready for public sharing yet, and the linked version is a copy in the MuPT drive that won't be updated as the main doc gets updated. However, I spent some time last month exploring what I thought would be the core principles for this, and that doc is what came out.

Comment thread AI_POLICY.md
AI tools frequently write code that looks correct but fails execution. Therefore, "vibe checks" are insufficient.

- Every PR introducing functional changes must pass all tests that are currently extant. This is mandatory for all contributors and is particularly important for first-time contributors.
- All code with AI contributions should include tests to demonstrate their validity. Intially, as the testing framework develops, this may be relaxes, but will become mandatory in the near future.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Theme that I'll repeat a few times: Many rules for agents are equally good for humans. I see no reason to call these out as "AI contributions" -- the same standard should apply to human contributions. Tests should be required regardless of the level of AI contribution.

Comment thread AI_POLICY.md

### The "Explain It" Standard

- All pull requests messages and descriptions must be entirely authored by human. Individual commit methods may use AI tools to fully summarize the changes. If the PR is suspected to be AI, the submitters will be asked to rewrite the PR message from scratch.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Generally recommend exceptions for translation or grammar improvement (thinking of use by non-native speakers).

Comment thread AI_POLICY.md
Comment on lines +35 to +39
**When to mark as 🔴 AI-generated:**
- An AI agent (e.g., Cursor, GitHub Copilot, ChatGPT, etc.) generated the code or commit messages
- You cannot explain the logic without referring to the AI's output
- The PR was created primarily by an agent with minimal human review or modification
- This should not currently submitted to MuPT
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I have a couple of concerns about this section:

  1. "Mark it this way, but don't submit it" -- this is contradictory. Let's not talk about how to mark it if it isn't allowed.
  2. It is unclear to me whether the bullet points are joined by "AND" operators or "OR" operators. If "AND" operators, sure, don't accept this. If "OR" operators, IMO, the real gatekeeping is "can you explain it."
  3. Following on 2, I'm not sure that the other points should be gatekeepers. For example, I recently had a number of "pkg_resources is longer available by default in my environment, update to importlib" issues, where basically I said that to an agent, skimmed the changes, ensured it passed tests, and called it good. That's "created primarily by an agent with minimal human review or modification", but also a good use of AI to cut my time to solve the problem by a factor of 5 or more.

Comment thread AI_POLICY.md

AI models often hallucinate comments or reinvent existing utilities.

- You should existing `mupt` utilities and never reinvent the wheel, except for when the utility is not available. Creating new helper functions when a MuPT equivalent exists will be rejected
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This is another "applies to humans as well as AI." Calling a for hard reject of a PR based on that may be extreme.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants