Skip to content

docs(contributing): document fork-PR workflow-approval gate for external contributors#41949

Open
pixu-bd wants to merge 1 commit into
NousResearch:mainfrom
skb50bd:docs/fork-pr-approval-gate
Open

docs(contributing): document fork-PR workflow-approval gate for external contributors#41949
pixu-bd wants to merge 1 commit into
NousResearch:mainfrom
skb50bd:docs/fork-pr-approval-gate

Conversation

@pixu-bd

@pixu-bd pixu-bd commented Jun 8, 2026

Copy link
Copy Markdown

What does this PR do?

Adds a new subsection under ## Pull Request Process### Commit messages (just before the ## Reporting Issues divider) that documents the fork-PR workflow-approval gate for external contributors.

Every cross-repo PR to NousResearch/hermes-agent sits in conclusion: action_required limbo until a maintainer clicks "Approve and run" on the PR's workflow banner. The runs show as queued-then-cancelled with 0 jobs and 0 logs, no email, no bot comment, no status update. External contributors currently have no way to learn this exists — it took 25+ hours of debugging to diagnose it on my own PRs.

This is the section I wish I'd had when opening my first three PRs.

Related Issue

Fixes the discovery friction for any new external contributor. Not tied to a specific issue number.

Type of Change

  • 📝 Documentation update

Changes Made

  • CONTRIBUTING.md: new ### Fork-PR workflow approval gate (external contributors) subsection
    • 61 lines added, 0 lines removed
    • Explains what the gate is, why it exists, and the cost of force-pushes (resets both the review AND the workflow approval)
    • Includes the check_suites diagnostic that proves it's the gate (vs. GH App starvation or workflow bugs)
    • Points to the salvage/<issue#> branch prefix and (salvage #<issue>) title pattern that other successful outside contributors use — kshitijk4poor merged 15 cross-repo PRs in the last 5 days following this pattern, and the established convention is the only signal that survives the workflow-approval gate cleanly
    • Notes the maintainer review-batch cadence (~8h windows) so contributors know what to expect

How to Test

  1. Read the new section in the rendered diff.
  2. Spot-check the check_suites diagnostic against any open fork PR (e.g. feat(lsp): add csharp-ls and fsautocomplete via dotnet global tools #41056, feat(whatsapp): add group-gating controls #41054, fix(discord): render clarify choices as Select menu, not truncated buttons #41353) — should match the smoking-gun output described.
  3. Spot-check the section count: grep -c "^## " CONTRIBUTING.md should be 21 (was 20).

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (docs(contributing): ...)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature — a single commit, 61-line docs addition, no code, no test changes
  • I've run pytest tests/ -q — N/A, docs-only
  • I've added tests for my changes — N/A, docs-only
  • I've tested on my platform — N/A, docs-only

Documentation & Housekeeping

  • I've updated relevant documentation — this is the documentation update
  • I've updated cli-config.yaml.example if I added/changed config keys — N/A
  • I've updated CONTRIBUTING.mdyes, exactly this
  • I've considered cross-platform impact — N/A, pure prose
  • I've updated tool descriptions/schemas if I changed tool behavior — N/A

Screenshots / Logs

N/A — pure markdown documentation.


Context for reviewer

This is a docs-only PR. The workflow-approval gate that it documents is currently the #1 friction point for any external contributor — including me, today, on three different PRs (#41056, #41054, #41353). All three have been reviewed and approved (tonydwb, 2026-06-07), but the workflow-approval gate still requires a maintainer click to actually run CI. I had to use the gh api check-suites API to diagnose the silent action_required runs, and the fix-and-share pattern in the new section is what I'd want future contributors to be able to do in 5 minutes instead of 5 hours.

Low priority, low risk, high long-term payoff. Happy to revise framing or trim if any part feels editorialized.

…nal contributors

External contributors hit a silent blocker on every cross-repo PR: the
upstream repo's "Require approval for first-time contributors" Actions
setting queues workflow runs but does not execute them until a
maintainer clicks "Approve and run" on the PR's banner. There is no
email, no bot comment, no status update — the runs just sit in
conclusion=action_required limbo with 0 jobs and 0 logs.

This adds a "Fork-PR workflow approval gate (external contributors)"
subsection under "Pull Request Process" that:

- Explains what the gate is and why it exists
- Shows the check_suites diagnostic that proves it's the gate
  (vs. the GitHub App starvation or workflow-file bugs)
- Warns that force-push resets the gate (so the docstring-only
  follow-up pattern from CONTRIBUTING.md's "one logical change per
  PR" rule costs you both the review AND the workflow approval)
- Recommends the salvage/<issue#> branch prefix used by other
  successful outside contributors (kshitijk4poor merged 15 cross-repo
  PRs in the last 5 days using this pattern)
- Notes the ~8h maintainer review-batch cadence

Single h3 subsection, 61 lines, 0 code changes, docs-only. This is
the section I wish I'd had when my first three PRs sat quiet for 25+
hours after opening.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants