Skip to content

Gate first-time contributions to curb AI slop#911

Merged
dahlia merged 1 commit into
fedify-dev:mainfrom
dahlia:docs/contributing
Jun 30, 2026
Merged

Gate first-time contributions to curb AI slop#911
dahlia merged 1 commit into
fedify-dev:mainfrom
dahlia:docs/contributing

Conversation

@dahlia

@dahlia dahlia commented Jun 30, 2026

Copy link
Copy Markdown
Member

Why

The project has seen a steady rise in low-effort, AI-generated pull requests, most of them from people opening their very first contribution. The real cost is not the code itself but the validation burden it pushes onto maintainers: someone has to read, run, and reason about work that the author never qualified. AI_POLICY.md already says AI-assisted PRs must track an accepted issue, but the problem is not specific to disclosed-AI PRs. A first-time drive-by PR imposes the same cost whether or not a tool was involved, and a first contribution is exactly the point where there is no prior trust to lean on, so the burden is highest and the signal is lowest. The policy therefore gates first contributions in particular, asking for an accepted, assigned issue before any code is written, so the design conversation happens where redirection is cheap rather than after the work is already done.

A blanket gate, though, would turn away the very people the project most wants: contributors who already understand the problem domain. So instead of a hard wall the policy offers a trust-based shortcut. If someone is visibly active in the fediverse or in related F/OSS work, their familiarity is already evident, and insisting on a preparatory issue would add friction without adding signal. This exception is deliberately worded as an invitation rather than a credential check, because forcing people to prove themselves would reintroduce the gatekeeping tone we want to avoid, and because whether a given presence is convincing is ultimately a maintainer's judgment call, not a checklist.

The policy also states plainly that a non-conforming PR may be closed without further comment. This is intentional, not careless: the scarce resource being protected is maintainer attention, and writing a bespoke explanation for every slop PR would reintroduce exactly the cost the policy exists to remove. Stating the rule up front is what makes a silent close fair, since anyone who has read the section has already received the explanation a comment would have given. The same paragraph still invites the contributor to reopen once they qualify, so the door stays open.

Finally, because much of this traffic now arrives through coding agents acting on a contributor's behalf, the rule is placed where those agents will actually read it. AGENTS.md (and its CLAUDE.md symlink) gains a short, high-priority note pointing at the new section, so an agent is told to satisfy the gate before it opens a PR. Addressing the problem at its most common source is more effective than catching it only at review time.

How

The guidance lives in a single new First contributions section near the top of CONTRIBUTING.md, so a newcomer meets it before the bug-report and feature-request instructions rather than after them. It is framed throughout as how to make your first contribution land, echoing the welcoming tone of AI_POLICY.md, instead of as a list of prohibitions. The existing carve-out for typo and documentation fixes is preserved, so the lowest-risk, highest-goodwill contributions stay frictionless. The section links to AI_POLICY.md rather than restating it, keeping the accepted-issue requirement defined in one place.

What changed

  • CONTRIBUTING.md: adds the First contributions section.
  • AGENTS.md: adds an important note in the AI policy compliance section that points first-time-contributor agents to that section.

Drive-by, AI-generated pull requests from first-time contributors have
grown common enough to burden maintainers.  Add a "First contributions"
section to CONTRIBUTING.md that asks first-time contributors to get an
accepted issue assigned before opening a pull request, with an exception
for those who already have an established presence in the fediverse or
related F/OSS work and surface it in the pull request.  Point LLM coding
agents to the section from AGENTS.md.

Assisted-by: Claude Code:claude-opus-4-8
@dahlia dahlia requested review from 2chanhaeng and sij411 June 30, 2026 13:25
@dahlia dahlia self-assigned this Jun 30, 2026
@netlify

netlify Bot commented Jun 30, 2026

Copy link
Copy Markdown

Deploy Preview for fedify-json-schema canceled.

Name Link
🔨 Latest commit 2c24274
🔍 Latest deploy log https://app.netlify.com/projects/fedify-json-schema/deploys/6a43c3cfb7535d0008d6d036

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d33cb193-6234-4019-95ea-b37329f32c8e

📥 Commits

Reviewing files that changed from the base of the PR and between a9fe109 and 2c24274.

📒 Files selected for processing (2)
  • AGENTS.md
  • CONTRIBUTING.md

📝 Walkthrough

Walkthrough

CONTRIBUTING.md gains a new "First contributions" section with rules for first-time contributors, including issue assignment and AI-assisted PR expectations. AGENTS.md adds a matching enforcement directive requiring compliance with that guidance before opening a PR.

Changes

First Contributions Policy

Layer / File(s) Summary
First contributions section and reference cleanup
CONTRIBUTING.md
Inserts a "First contributions" subsection covering issue assignment, AI-assisted PR rules, and conditions for closing PRs; moves the AI_POLICY.md reference definition into this new section and removes the old duplicate definition.
AGENTS.md enforcement directive
AGENTS.md
Adds an IMPORTANT directive under the AI policy section requiring first-time contributors to follow the CONTRIBUTING.md guidance and warning that non-compliant PRs may be closed without comment.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the main change: gating first-time contributions and reducing low-effort AI-generated PRs.
Description check ✅ Passed The description is directly about the new first-contribution policy and AGENTS.md guidance.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request updates the contribution guidelines in 'CONTRIBUTING.md' and 'AGENTS.md' to introduce a new policy for first-time contributors, aiming to curb low-effort, AI-generated submissions. It requires first-time contributors to have an accepted issue assigned to them before opening a pull request, with exceptions for minor documentation fixes and established fediverse or open-source developers. Feedback was provided regarding the manual movement of reference-style links in 'CONTRIBUTING.md', which should instead be handled automatically by the 'Hongdown' formatting tool.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread CONTRIBUTING.md
@codecov

codecov Bot commented Jun 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dahlia dahlia merged commit e2224ef into fedify-dev:main Jun 30, 2026
21 checks passed
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