Skip to content

tools: refine contributor guidance workflow - #65745

Open
panva wants to merge 6 commits into
nodejs:mainfrom
panva:first-time-contributor-bot-token
Open

tools: refine contributor guidance workflow#65745
panva wants to merge 6 commits into
nodejs:mainfrom
panva:first-time-contributor-bot-token

Conversation

@panva

@panva panva commented Sep 2, 2026

Copy link
Copy Markdown
Member

Use the Node.js GitHub bot token for association checks and route the welcome and caution messages independently. Any outside contributor (other than platform or installed bots) regardless of being associated as first time or not goes through agentscan (it's a signal we should surface to aid moderation).

Also labels either agentscan:community-flagged , agentscan:automated-account , or agentscan:mixed-signals accordingly.

Followup to #65592, #65533, and #65648. See #65648 (comment)

Use the Node.js GitHub bot token for association checks and route the
welcome and caution messages independently.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
@panva panva added the fast-track PRs proposed for a shorter-than-standard waiting period before landing. label Sep 2, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/actions

@nodejs-github-bot nodejs-github-bot added the meta Issues and PRs related to the general management of the project. label Sep 2, 2026
@panva panva removed the fast-track PRs proposed for a shorter-than-standard waiting period before landing. label Sep 2, 2026
@nodejs nodejs deleted a comment from github-actions Bot Sep 2, 2026

@mcollina mcollina left a comment

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.

lgtm

@panva panva added the author ready PRs with CI started, the required approvals, and no outstanding review comments. label Sep 2, 2026
@MikeMcC399 MikeMcC399 removed their assignment Sep 2, 2026
@panva panva unassigned jasnell and trivikr Sep 2, 2026
Comment thread .github/workflows/contributor-guidance.yml
@panva

This comment was marked as outdated.

@bnb bnb 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.

love to see further AgentScan integration <3

Comment thread .github/workflows/contributor-guidance.yml Outdated
@panva

This comment was marked as outdated.

@trivikr trivikr added commit-queue-squash PRs the Commit Queue should land as one squashed commit. commit-queue PRs queued for automated landing through the Commit Queue. labels Sep 2, 2026
@panva panva removed the commit-queue-squash PRs the Commit Queue should land as one squashed commit. label Sep 2, 2026
@panva

panva commented Sep 3, 2026

Copy link
Copy Markdown
Member Author
flowchart TD
    opened["PR opened"] --> gate{"Free event pre-filter"}

    gate -->|"Non-Bot and association is FIRST_TIMER, FIRST_TIME_CONTRIBUTOR, CONTRIBUTOR, or NONE"| resolve["Resolve association using GH_USER_TOKEN"]
    gate -->|"Bot, trusted association, mannequin, or rerun"| skip["Skip without allocating a runner"]

    resolve -->|"FIRST_TIMER or FIRST_TIME_CONTRIBUTOR"| first["First-time contributor"]
    resolve -->|"CONTRIBUTOR or NONE after retries"| external["External contributor without a welcome"]
    resolve -->|"Trusted association"| stop["Stop without scanning or commenting"]
    resolve -->|"API error or unexpected value"| failure["Fail resolver; no scan or comment"]

    first --> firstScan["Run AgentScan and attempt labels"]
    firstScan -->|"Qualifying output"| welcomeCaution["Post welcome + caution"]
    firstScan -->|"No qualifying output or scan failure"| welcome["Post welcome only"]

    external --> externalScan["Run AgentScan and attempt labels"]
    externalScan -->|"Qualifying output"| caution["Post caution only"]
    externalScan -->|"No qualifying output or scan failure"| noComment["No comment"]
Loading

@panva panva removed the commit-queue PRs queued for automated landing through the Commit Queue. label Sep 3, 2026
@MikeMcC399

Copy link
Copy Markdown
Contributor

@panva

I do hope you cracked the problem with this iteration!

The new labels

would need to be documented.

PR submitters should understand what it means if their PR has had such a label attached.
Collaborators / triagers should be given some guidance on how to proceed.
I'm not sure if the labels should be put into use without documentation.

What do you define as a "mannequin"?

@panva

panva commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

I do hope you cracked the problem with this iteration!

I think so. I'm also going to run an emulation of this in a local script to confirm.

PR submitters should understand what it means if their PR has had such a label attached.
Collaborators / triagers should be given some guidance on how to proceed.

That's why the CAUTION_MESSAGE is there.

What do you define as a "mannequin"?

I don't. GitHub does. It is there for completeness, we'll never encounter it in practice. https://docs.github.com/en/migrations/overview/mannequins-and-user-activity

would need to be documented.

I'd say so, in due time when this proves itself useful.

@panva

panva commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

I'm also going to run an emulation of this in a local script to confirm.

It's running, logs will appear in https://gist.github.com/panva/76266649dc13fda7955a123cab99fcd2#file-log-txt (assisted-by: codex)

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

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. meta Issues and PRs related to the general management of the project.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants