Serialize Auto-RAGE pull requests per worker lane #135

Closed
nsaspy wants to merge 0 commits from ci/rage-pr-serialization into master
Owner

Summary

Adds a write-capable CI guard that enforces one open Auto-RAGE PR per Hackmode worker lane.

Covered branch namespaces:

  • rage-hackpert/**
  • rage-database/**

Default policy is close-old: the newest PR wins and older open PRs in the same lane are commented on and closed automatically.

Set repository variable RAGE_PR_POLICY=refuse-new to invert the behavior: the oldest open PR retains the lane and any newer PR is commented on, closed, and the guard job fails for that PR.

Human/non-RAGE branches and fork PRs are not touched.

Behavior

  • triggers on pull_request_target for opened/reopened/ready-for-review PRs targeting master
  • supports manual workflow_dispatch cleanup
  • uses serialized workflow concurrency so two agents opening PRs simultaneously cannot race the policy
  • re-queries GitHub after mutation and fails if a lane still has multiple open PRs
  • no checkout or execution of PR code under pull_request_target

This is specifically intended to stop the two Hackmode Auto-RAGE workers from accumulating stale competing PRs.

## Summary Adds a write-capable CI guard that enforces **one open Auto-RAGE PR per Hackmode worker lane**. Covered branch namespaces: - `rage-hackpert/**` - `rage-database/**` Default policy is `close-old`: the newest PR wins and older open PRs in the same lane are commented on and closed automatically. Set repository variable `RAGE_PR_POLICY=refuse-new` to invert the behavior: the oldest open PR retains the lane and any newer PR is commented on, closed, and the guard job fails for that PR. Human/non-RAGE branches and fork PRs are not touched. ## Behavior - triggers on `pull_request_target` for opened/reopened/ready-for-review PRs targeting `master` - supports manual `workflow_dispatch` cleanup - uses serialized workflow concurrency so two agents opening PRs simultaneously cannot race the policy - re-queries GitHub after mutation and fails if a lane still has multiple open PRs - no checkout or execution of PR code under `pull_request_target` This is specifically intended to stop the two Hackmode Auto-RAGE workers from accumulating stale competing PRs.
nsaspy closed this pull request 2026-09-04 20:50:26 +00:00
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
core / common-lisp-core (pull_request) Failing after 38s
monorepo / hygiene (pull_request) Successful in 2m31s

Pull request closed

Sign in to join this conversation.
No description provided.