fix(scripts): queue-watch waits on no checks this repository never runs

Merged
DA
11d ago
+51-29

What

scripts/queue-watch.sh defaulted its extra required checks to Cursor Bugbot and Cursor Security Agent: Security Reviewer. Neither check runs on this repository (none appears in the check rollup of a merged PR such as #1825), so a plain --press kept waiting for them until it timed out. Workers had to run it with QUEUE_WATCH_EXTRA_REQUIRED_CHECKS="" to get around this.

  • The default is now no extra checks. The watcher already reads the main ruleset's required_status_checks contexts from the base ref on every tick (baseRef.rules). Those are TypeScript checks, Postgres migrations and store, and Tests 1–4, and they are what gate the merge queue. QUEUE_WATCH_EXTRA_REQUIRED_CHECKS still works as an opt-in, one name per line. Of the two options in the task, I picked this one over "wait only on an extra check once it appears" because it is simpler and can't hang.
  • The header now explains how to merge here. main merges only through its merge queue, and gh pr merge does not enter that queue. The press is the GraphQL enqueuePullRequest mutation, and a stacked PR merges with gh stack merge. The header also documents the env var in the synopsis.

No doc under docs/, .claude/skills/, or AGENTS.md mentioned the old default, so nothing else changed.

Tests

  • New scripts/queue-watch.test.mjs case: with the env var unset and only the ruleset's contexts reported, the watcher reaches READY after one read. Without the fix this test fails: the watcher keeps waiting and hits the scripted unreadable read.
  • Ran it read-only against real PRs: unarmed runs on merged #1825 and #1848 reported MERGED, and on open PRs it reached the gate without pressing anything.
  • ./scripts/check.sh exits 0.

This is not a Mac or UI change, so ./scripts/verify.sh does not apply and was not run.

šŸ¤– Generated with Claude Code


Open workspace in Conductor


Devin Review