You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2. If `prs` is empty, call `noop` with `"No open non-draft PRs to process"` and stop.
234
238
3. Process PRs in `updatedAt` descending order.
235
-
4. Process at most **5 PRs** per run. Remaining eligible PRs will be handled in the next scheduled run.
239
+
4. Process all eligible PRs per run.
236
240
5. Use the `pr-processor` sub-agent for each PR; pass only the PR number and compact context.
237
241
6. If a `pr-processor` call returns non-JSON or an error, record `{pr_number: <N>, skip_reason: "sub_agent_error"}` in the `skipped` array of the run-summary noop payload and move to the next PR without retrying.
238
242
7. Do not fetch full PR diffs or large file lists unless absolutely required for a skip decision.
@@ -250,15 +254,15 @@ Before any nudge for a PR:
250
254
- When calling `gh aw checks` directly, pass `--head-sha <headRefOid>` to avoid a redundant PR-detail fetch (the `headRefOid` is available in the compact JSON).
251
255
252
256
2.**Skip when the latest PR comment is from pr-sous-chef itself (unless the PR is in a merge-conflict state)**
253
-
- Candidate prefilter already removes PRs when the latest issue comment body includes the hidden marker `<!-- gh-aw-pr-sous-chef-nudge -->`, **except** when `mergeStateStatus` is `CONFLICTING`.
257
+
- Candidate prefilter already removes PRs when the latest issue comment body includes the hidden marker `<!-- gh-aw-pr-sous-chef-nudge -->`**and**`@copilot`, **except** when `mergeStateStatus` is `CONFLICTING`.
254
258
- Inspect PR comments ordered by recency.
255
-
- Treat a comment as from pr-sous-chef only when the latest comment body contains `<!-- gh-aw-pr-sous-chef-nudge -->`.
259
+
- Treat a comment as an actionable sous-chef comment only when the latest comment body contains both `<!-- gh-aw-pr-sous-chef-nudge -->`**and**`@copilot`. Comments with the marker but without `@copilot` are purely informational and do **not** count as a sous-chef nudge for the purpose of this skip rule.
256
260
- If true **and**`mergeStateStatus` is **not**`CONFLICTING`, skip to avoid back-to-back nudges.
257
261
- If true **and**`mergeStateStatus` is `CONFLICTING`, do **not** skip — sous-chef must ask Copilot to resolve the merge conflicts even if the previous comment was its own.
258
262
259
263
3.**Skip during the 30-minute cooldown after a pr-sous-chef comment**
260
-
- Candidate prefilter already removes PRs where the most recent sous-chef comment was posted within the last 30 minutes.
261
-
- If any recent comment contains `<!-- gh-aw-pr-sous-chef-nudge -->` and was created less than 30 minutes ago, skip this PR.
264
+
- Candidate prefilter already removes PRs where the most recent sous-chef comment (containing both the marker and `@copilot`) was posted within the last 30 minutes.
265
+
- If any recent comment contains both `<!-- gh-aw-pr-sous-chef-nudge -->` and `@copilot` and was created less than 30 minutes ago, skip this PR. Comments with the marker but without `@copilot` are informational and do **not** trigger the cooldown.
262
266
263
267
## Required nudges for eligible PRs
264
268
@@ -354,8 +358,8 @@ Given one PR number and compact metadata:
354
358
355
359
1. Check skip conditions in this order:
356
360
- checks/actions running — note: the candidate prefilter already excluded PRs with pending checks via `statusCheckRollup`; only re-verify if you have reason to believe state changed since the prefilter ran
357
-
- latest comment contains `<!-- gh-aw-pr-sous-chef-nudge -->` **and** `mergeStateStatus` is **not** `CONFLICTING` (when the branch has merge conflicts, do NOT skip even if the last comment is from sous-chef — it must nudge Copilot to resolve them)
358
-
- any recent comment contains `<!-- gh-aw-pr-sous-chef-nudge -->` and was posted within the last 30 minutes
361
+
- latest comment contains both `<!-- gh-aw-pr-sous-chef-nudge -->` **and** `@copilot`, **and** `mergeStateStatus` is **not** `CONFLICTING` (when the branch has merge conflicts, do NOT skip even if the last actionable comment is from sous-chef — it must nudge Copilot to resolve them; also, comments with the marker but without `@copilot` are purely informational and do NOT count as a sous-chef nudge for this check)
362
+
- any recent comment contains both `<!-- gh-aw-pr-sous-chef-nudge -->` and `@copilot` and was posted within the last 30 minutes (informational comments without `@copilot` do not count toward cooldown)
359
363
2. If skipped, return `skip_reason` only.
360
364
3. If not skipped, return:
361
365
- `conflicting`: true if `mergeStateStatus` is `CONFLICTING` (indicates the branch has merge conflicts)
0 commit comments