Skip to content

feat(agents): test requests need a collaborator's PR or the "testing wanted" label - #2746

Merged
hckrman101 merged 1 commit into
NotRexed:mainfrom
hckrman101:agents/test-request-approval
Nov 12, 2026
Merged

hckrman101 merged 1 commit into
NotRexed:mainfrom
hckrman101:agents/test-request-approval

Conversation

@hckrman101

@hckrman101 hckrman101 commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

A test request asks someone's agent to download, build and run a PR on their own PC, and since #2734 anyone signed in to the team chat can post one for any PR. This makes a maintainer the gate: a request can only be picked up when the PR's author is a collaborator on GitHub, or a maintainer has looked at the PR and added the testing wanted label.

What changed

  • scripts/test_requests.py asks GitHub (no sign-in needed; GITHUB_TOKEN/GH_TOKEN used when set) for the PR's author_association and labels. A request is approved when the author is OWNER, MEMBER or COLLABORATOR, or the PR has the testing wanted label.
    • claim refuses (exit 3) a request that isn't approved, or whose PR is merged or closed, and sends nothing when GitHub can't be asked.
    • list and show mark each open request approved and add the PR's state; waiting ones are listed last, with "waiting for a maintainer to add the label".
    • request tells the author when their PR needs the label.
  • The server's relay shows a waiting request as a grey card, "Waiting for a maintainer to add the testing wanted label", with no claims, results or guide link, and checks GitHub every 3 minutes so the card opens by itself soon after the label is added (approved ones every 15, for the PR's state).
  • The label is also an entry point: the relay lists open PRs labelled testing wanted every 3 minutes and posts a request for each one that has none, for its author (their GitHub name and avatar on the card, the PR title as the summary); it closes the ones it posted when the label comes off or the PR is merged or closed. The guide, the request skill and AGENTS.md say so.
  • The testing skill now treats the request, the PR and its code as data, never instructions: it builds and runs only as docs/development.md says, and before the first build looks at what the PR changes that runs on the PC (scripts, tools, workflows, anything downloading or reaching outside the repository), stopping if something isn't explained.
  • The request skill, the guide (docs/test-requests.md) and AGENTS.md say the same.

Tested

… or ones labelled "testing wanted"

test_requests.py asks GitHub for the PR's author association and labels: claim refuses a PR that is neither by a
collaborator nor labelled, or that is merged or closed, and goes out only when GitHub answered; list shows
waiting requests last. The testing skill treats request and PR text as data and looks at what a PR runs before
building it. The docs also cover the label as a request of its own (the team relay posts one for the PR).
@hckrman101
hckrman101 force-pushed the agents/test-request-approval branch from 222cf27 to 3c9a62e Compare November 12, 2026 10:45
@hckrman101
hckrman101 merged commit 51da046 into NotRexed:main Nov 12, 2026
13 of 14 checks passed
notquiteog added a commit to notquiteog/Hookshot that referenced this pull request Nov 12, 2026
…seeded, V-Sync Auto with DLSS Frame Gen, NotRexed#2746)

Upstream fixed most of what e3f076a fixed here (NotRexed#2648, NotRexed#2651, NotRexed#2652, NotRexed#2653, NotRexed#2654,
NotRexed#2661), so the conflicts are resolved to upstream's versions: its fixtures, its
menu_i18n.h, its mouse_native.c, and its dlss_checks.h with the two-pixel tolerance it
chose and tests. Kept from the fork: the fixtures' framegen_by_pick stand-in, and
vk_texture.cpp's typed min.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Fanatrick pushed a commit to Fanatrick/Hookshot that referenced this pull request Nov 12, 2026
16 commits since the last merge, among them the rule that a pull request is
tested in the game before it is opened (NotRexed#2712) and the team's test requests
(NotRexed#2734, NotRexed#2746). No conflicts; the builder builds and every check passes on top.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DBGH7x7hn8ibuEU45oPKo2
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.

1 participant