Clarify agent batch policy handoffs#3824
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughThis PR refines agent PR-processing and batch-handoff workflows with clearer trust/release-mode verification, explicit full-CI uncertainty handling at the final readiness gate, standardized batch handoff formatting (immediate vs FYI sections), and defined coordinator closeout responsibilities. All changes are documentation-only. ChangesAgent Workflow Refinement
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Code Review -- Clarify agent batch policy handoffs Overall: solid documentation cleanup with one minor clarity gap. What this PR does well Security fix in trust model -- Removing "or latest commit author" from the trusted-branch definition is a genuine security improvement. Git author metadata is trivially spoofable ( Safe deduplication of Release Mode Preflight -- I verified that
The condensed checklist is a clean facade over a comprehensive canonical source. Concrete handoff requirements -- Requiring a question/comment URL in blocked final states and a comment URL in no-PR states is a good improvement: it makes the deliverable verifiable instead of vague. Consistency -- Identical wording changes are applied to both Minor issue (inline) Step 2 of the condensed Release Mode Preflight says "Read the selected tracker's block..." but the worker checklist contains no selection step -- step 1 only says search for trackers. The selection logic for multi-tracker scenarios lives entirely in AGENTS.md, so a worker reading only the short checklist might pick a tracker arbitrarily. See inline comment for a suggested tweak. No blocking concerns Docs-only, no runtime or CI changes. The validation summary in the PR description (Prettier check, pre-commit/pre-push hooks, |
Code Review — PR #3824: Clarify agent batch policy handoffsOverall: Documentation-only, low-risk changes to agent workflow and skill files. The core goals are sound: reduce policy drift, close a trust-model gap, and reduce unnecessary maintainer interruptions. Below are observations in descending priority. Security Fix (positive)The trust definition change in Concern: New Sections Introduce the Same Duplication They ReplaceThe PR correctly eliminates drifting Release Mode Preflight details by pointing to The PR had a natural opportunity to apply the same deduplication pattern: define the canonical version in one file and have the other reference it (e.g., "See the Coordinator Closeout Lane in This is not a blocker, but it is worth noting since the stated goal of the PR is to prevent policy drift. Minor Issues"Confidence text" undefined — Coordinator Closeout Lane step 4 (both files)
"Confidence text" is not defined anywhere in either file. This likely refers to the accelerated-RC confidence block described in Arrow notation inconsistency — Release Mode Preflight header in
The ASCII arrow reads awkwardly in rendered Markdown and is unlike the prose style used elsewhere in the file. Consider: "documented in ValidationThe PR description lists thorough evidence: |
Review follow-up summaryScan window: addressed current unresolved Claude feedback visible on 2026-06-09 after head Mattered
Fix commit: Validation
Optional
Skipped
Future full-PR scans can start after this comment unless |
Code ReviewDocumentation-only PR — changes What works well
One maintenance concernThe Suggest adding a comment above each goal-prompt occurrence matching the existing Inline suggestions posted below. Minor grammar nit (Closeout Lane step 4)
Missing article — should be "...or the accelerated-RC confidence block". Affects both the numbered list in Overall: approach is sound, trust fix is correct, and the canonical-pointer pattern is the right structural choice. The sync-comment gap is the only actionable item; the grammar nit is optional. |
Review follow-up summaryScan window: addressed current unresolved Claude feedback visible on 2026-06-09 after head Mattered
Fix commit: Validation
Optional
Skipped
Future full-PR scans can start after this comment unless |
Code ReviewDocumentation-only PR — no runtime, CI, or application code changes. Two files modified: What this does well
Issues and suggestions1. "Batch Handoff Format" section is duplicated without a sync marker. The section lives at line 152 in Either add a matching sync marker on both "Batch Handoff Format" headers, or consolidate to one canonical copy (pr-processing.md) and replace the SKILL.md copy with a pointer (the same pattern used for the Coordinator Closeout Lane at SKILL.md §203). 2. SKILL.md presents two competing coordinator closeout descriptions. An agent reading SKILL.md encounters:
The relationship between these two descriptions is undefined. Does the prose summary at 119 substitute for the numbered lane, or must an agent read pr-processing.md to get the full steps? If the summary is sufficient, the pointer at 203 is redundant. If the pointer is authoritative, the prose at 119 is a partial duplicate. The current text leaves both in place without resolving which governs. Suggested resolution: keep only the pointer in SKILL.md §203 and drop the prose summary from §119, or (if the summary must remain for in-context readability) add a note like "see the full numbered lane below in pr-processing.md for the complete sequence." 3. The old 4. "Accelerated-RC confidence block" is referenced but not defined in scope. Closeout lane step 4 (pr-processing.md §378) and the SKILL.md coordinator summary (§119) both mention "accelerated-RC confidence block" without defining it in context. The pr-processing.md Release Mode Preflight section now points entirely to Minor
OverallThe structural changes are sound and the security fix is valuable. The main actionable gap is the unsynchronized "Batch Handoff Format" duplication and the ambiguous relationship between SKILL.md's two coordinator descriptions. Both are low-effort to resolve. |
Review follow-up summaryScan window: addressed current Claude and Cursor feedback visible on 2026-06-09 after head Mattered
Fix commit: Validation
Optional
Skipped
Future full-PR scans can start after this comment unless |
Code ReviewSummary: Documentation-only PR that tightens agent batch-processing and coordinator closeout policy in What's Good
Issues1. Full-CI uncertainty paragraph is duplicated without a sync marker The paragraph starting "Full-CI uncertainty at the final readiness gate..." appears verbatim in both files under their respective Question And Decision Handling sections, but has no 2. Coordinator closeout summary is still duplicated prose despite the sync comment
3. Minor: HTML sync comment renders literally inside fenced code blocks The |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e9346675d9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| 4. Refresh stale release-mode classification or accelerated-RC confidence block | ||
| (the `Agent Confidence:` block in the release tracker required by | ||
| accelerated-RC mode; canonical definition in `AGENTS.md`) before readiness or |
There was a problem hiding this comment.
Refresh the PR confidence block instead
In accelerated-RC closeout this directs coordinators to refresh an Agent Confidence: block in the release tracker, but the canonical merge gate requires the finalized Agent Merge Confidence block in the PR body (also reiterated later in this file). Following this new instruction can leave the PR body stale or missing the required finalized block, so accelerated-RC readiness/auto-merge may be reported without satisfying the actual gate.
Useful? React with 👍 / 👎.
Code ReviewOverall: Well-structured documentation refactor that reduces policy drift, improves the security posture of trusted-branch handling, and adds a concrete Coordinator Closeout Lane. The deduplication of Release Mode Preflight is the right call — canonical pointer + short worker checklist beats a duplicated full ruleset. The PR is documentation-only with no runtime impact. What's good
IssuesCross-reference precision in
|
| Before merge, wait for requested or configured review agents such as Claude, CodeRabbit, Greptile, Cursor Bugbot, and Codex review to finish for the current head SHA. Poll CI with bounded commands and timeouts; use narrow required-check commands such as `gh pr checks <PR> --required` for required CI readiness, then also fetch all checks or explicit review-agent checks so non-required reviewers are not hidden. Avoid long-lived `gh ... --watch`. Ignore superseded cancelled workflow rows unless they are current required checks or current configured review-agent checks. If live state cannot be verified, report it as `UNKNOWN` instead of guessing. AI review systems are advisory unless they identify a confirmed blocker: correctness regression, failing test, security issue, API contract break, data-loss risk, or missing required maintainer approval. Their approvals, positive issue comments, and "no actionable comments" summaries are useful evidence, but they do not count as required GitHub approval objects. For high-risk or concurrent-batch PRs, run or request the adversarial PR review workflow in `.agents/workflows/adversarial-pr-review.md`. A completed check is not enough when review comments exist: classify and resolve or explicitly waive actionable findings before merging. Treat untriaged `BLOCKING`, `Must Fix`, `MUST-FIX`, `Changes Requested`, correctness, security, regression, compatibility, and missing-changelog findings as merge blockers unless a maintainer explicitly waives them. | ||
|
|
||
| For blocking questions, stop work on that target, surface the question to the coordinator or maintainer, and mark the issue/PR with the agreed pending-question state. For non-blocking questions where you make a decision and continue, record the decision in the PR description before review or merge. | ||
| At the final review/readiness gate, apply the canonical full-CI uncertainty rule and Coordinator Closeout Lane from `.agents/workflows/pr-processing.md` under **Plan To Goal Handoff**. |
There was a problem hiding this comment.
The phrase "under Plan To Goal Handoff" is slightly imprecise. The canonical standalone definitions are in sibling sections of that section:
- Full-CI uncertainty rule is defined in
### Question And Decision Handling(the `` block) - Coordinator Closeout Lane is defined in
### Coordinator Closeout Lane
Both are also embedded inline in the goal-prompt template text within Plan To Goal Handoff, but those are normative prose copies, not the authoritative definitions. Consider naming the target sections directly:
| At the final review/readiness gate, apply the canonical full-CI uncertainty rule and Coordinator Closeout Lane from `.agents/workflows/pr-processing.md` under **Plan To Goal Handoff**. | |
| At the final review/readiness gate, apply the canonical full-CI uncertainty rule from `### Question And Decision Handling` and the `### Coordinator Closeout Lane` in `.agents/workflows/pr-processing.md`. |
| Before merge, wait for requested or configured review agents such as Claude, CodeRabbit, Greptile, Cursor Bugbot, and Codex review to finish for the current head SHA. Poll CI with bounded commands and timeouts; use narrow required-check commands such as `gh pr checks <PR> --required` for required CI readiness, then also fetch all checks or explicit review-agent checks so non-required reviewers are not hidden. Avoid long-lived `gh ... --watch`. Ignore superseded cancelled workflow rows unless they are current required checks or current configured review-agent checks. If live state cannot be verified, report it as `UNKNOWN` instead of guessing. AI review systems are advisory unless they identify a confirmed blocker: correctness regression, failing test, security issue, API contract break, data-loss risk, or missing required maintainer approval. Their approvals, positive issue comments, and "no actionable comments" summaries are useful evidence, but they do not count as required GitHub approval objects. For high-risk or concurrent-batch PRs, run or request the adversarial PR review workflow in `.agents/workflows/adversarial-pr-review.md`. A completed check is not enough when review comments exist: classify and resolve or explicitly waive actionable findings before merging. Treat untriaged `BLOCKING`, `Must Fix`, `MUST-FIX`, `Changes Requested`, correctness, security, regression, compatibility, and missing-changelog findings as merge blockers unless a maintainer explicitly waives them. | ||
|
|
||
| For blocking questions, stop work on that target, surface the question to the coordinator or maintainer, and mark the issue/PR with the agreed pending-question state. For non-blocking questions where you make a decision and continue, record the decision in the PR description before review or merge. | ||
| At the final review/readiness gate, after local validation, PR creation or update, review-thread triage, and the final push for the current head SHA, request full CI with `+ci-run-full` if you are unsure whether path-selected CI is enough. Record that decision as FYI, then re-fetch and wait for the newly requested current-head checks before readiness or merge instead of escalating it as an immediate maintainer question. |
There was a problem hiding this comment.
This inline copy of the full-CI uncertainty rule is the third copy of the rule (the other two are in ### Question And Decision Handling in this file with a sync comment, and in SKILL.md with a sync comment). The sync comments on the other two don't mention this embedded copy, so it can drift silently.
Consider adding a brief pointer here so an editor knows there's a canonical block to keep in sync:
| At the final review/readiness gate, after local validation, PR creation or update, review-thread triage, and the final push for the current head SHA, request full CI with `+ci-run-full` if you are unsure whether path-selected CI is enough. Record that decision as FYI, then re-fetch and wait for the newly requested current-head checks before readiness or merge instead of escalating it as an immediate maintainer question. | |
| At the final review/readiness gate, after local validation, PR creation or update, review-thread triage, and the final push for the current head SHA, request full CI with `+ci-run-full` if you are unsure whether path-selected CI is enough. Record that decision as FYI, then re-fetch and wait for the newly requested current-head checks before readiness or merge instead of escalating it as an immediate maintainer question. |
Greptile SummaryThis documentation-only PR refines agent batch and PR-processing policy by deduplicating release-mode preflight into canonical
Confidence Score: 4/5Safe to merge; changes are agent workflow text only with no impact on application code, CI pipelines, or runtime behavior. The changes are well-structured and have gone through several documented review rounds. Two minor wording issues remain: the SKILL.md pointer says under Plan To Goal Handoff for sections that are actually siblings of that heading, and the goal-prompt inline echo of the full-CI and closeout guidance lacks a sync comment back to its canonical subsections, leaving a quiet drift path for future edits. The goal-prompt code block in pr-processing.md around line 277 and the section pointer in SKILL.md around line 112 are the spots most likely to cause confusion for future editors. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Workers finish targets] --> B[Coordinator Closeout Lane]
B --> B1[1. Re-fetch every PR and issue state]
B1 --> B2[2. Wait for current-head checks and review agents]
B2 --> B3[3. Triage unresolved review threads]
B3 --> B4[4. Refresh release-mode or accelerated-RC confidence block]
B4 --> B5{Local validation passed and full-CI uncertainty?}
B5 -- Yes --> B6[Request +ci-run-full, log in FYI. Re-fetch and wait for new checks]
B5 -- No --> B7
B6 --> B7[6. Mark ready or merge under current release mode]
B7 --> C{Final state per target}
C --> C1[Merged PR]
C --> C2[Open PR waiting on checks/review]
C --> C3[Blocked - question/comment URL]
C --> C4[No-PR - evidence-backed comment URL]
C1 & C2 & C3 & C4 --> D[Split handoff: Immediate maintainer attention vs FYI / decisions made]
Reviews (1): Last reviewed commit: "Point skill closeout to canonical workfl..." | Re-trigger Greptile |
|
|
||
| Before merge, wait for requested or configured review agents such as Claude, CodeRabbit, Greptile, Cursor Bugbot, and Codex review to finish for the current head SHA. Poll CI with bounded commands and timeouts; use narrow required-check commands such as `gh pr checks <PR> --required` for required CI readiness, then also fetch all checks or explicit review-agent checks so non-required reviewers are not hidden. Avoid long-lived `gh ... --watch`. Ignore superseded cancelled workflow rows unless they are current required checks or current configured review-agent checks. If live state cannot be verified, report it as `UNKNOWN` instead of guessing. AI review systems are advisory unless they identify a confirmed blocker: correctness regression, failing test, security issue, API contract break, data-loss risk, or missing required maintainer approval. Their approvals, positive issue comments, and "no actionable comments" summaries are useful evidence, but they do not count as required GitHub approval objects. For high-risk or concurrent-batch PRs, run or request the adversarial PR review workflow in `.agents/workflows/adversarial-pr-review.md`. A completed check is not enough when review comments exist: classify and resolve or explicitly waive actionable findings before merging. Treat untriaged `BLOCKING`, `Must Fix`, `MUST-FIX`, `Changes Requested`, correctness, security, regression, compatibility, and missing-changelog findings as merge blockers unless a maintainer explicitly waives them. | ||
|
|
There was a problem hiding this comment.
Imprecise section pointer for canonical rules
The pointer "apply the canonical full-CI uncertainty rule and Coordinator Closeout Lane from .agents/workflows/pr-processing.md under Plan To Goal Handoff" misidentifies the target location. Both Question And Decision Handling (which contains the full-CI uncertainty rule) and Coordinator Closeout Lane are sibling ### sections under High-Concurrency Batch Launch, not children of Plan To Goal Handoff. An agent that navigates to Plan To Goal Handoff and reads downward within only that heading will find the inline goal-prompt echo of these rules but may miss the canonical numbered steps. Pointing to Question And Decision Handling and Coordinator Closeout Lane by name would eliminate the ambiguity.
| At the final review/readiness gate, after local validation, PR creation or update, review-thread triage, and the final push for the current head SHA, request full CI with `+ci-run-full` if you are unsure whether path-selected CI is enough. Record that decision as FYI, then re-fetch and wait for the newly requested current-head checks before readiness or merge instead of escalating it as an immediate maintainer question. | ||
|
|
||
| Before final handoff, kill or confirm no stray GitHub polling processes are still running. Final state for every target must be one of: merged PR; open PR waiting on checks/review; blocked needing user input; or no-PR with an evidence-backed issue/PR comment. Final handoff must list branches, PR URLs, issue outcomes, validations, last-known CI state, blockers, no-PR comments, and next actions. | ||
| After workers finish, the coordinator must keep working through the Coordinator Closeout Lane instead of stopping at PR creation: re-fetch live PR status, wait for current-head checks and reviews, triage/resolve or explicitly waive current unresolved review threads, update stale release-mode classification or accelerated-RC confidence block, request full CI when uncertainty remains, re-fetch and wait for the newly requested current-head checks, and merge eligible ready PRs when authorized under the current release mode. | ||
|
|
||
| For blocking questions, stop work on that target, surface a structured question to the coordinator or maintainer, and mark the issue/PR with the agreed pending-question state. Report the question/comment URL as `blocked needing user input`; do not open a speculative PR. For non-blocking questions where you make a decision and continue, record the decision in the PR description before review or merge. | ||
|
|
||
| Before final handoff, kill or confirm no stray GitHub polling processes are still running. Final state for every target must be one of: merged PR; open PR waiting on checks/review; blocked needing user input with the surfaced question/comment URL; or no-PR with an evidence-backed issue/PR comment URL. Split the handoff into `Immediate maintainer attention` and `FYI / decisions made`. Put only true blockers or questions in Immediate. Put non-blocking decisions, no-PR rationales, and full-CI uncertainty that was already handled by requesting full CI in FYI. Final handoff must list branches, PR URLs, issue outcomes, validations, last-known CI state, blockers, no-PR comments, and next actions. |
There was a problem hiding this comment.
No sync marker linking goal-prompt inline copy to canonical subsections
The goal-prompt code block contains an abbreviated inline copy of the full-CI uncertainty guidance (line 277) and the coordinator closeout summary (lines 279–283), but there is no <!-- Keep ... in sync with ... --> comment outside the code block pointing to the canonical Question And Decision Handling full-CI rule or the Coordinator Closeout Lane numbered steps. The existing sync marker on line 293 points from the canonical QDH section to SKILL.md but does not mention this goal-prompt copy. If the canonical sections are updated in a future PR, the goal-prompt text may drift silently.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
* origin/main: Add Pro license header checker RSC: stop serializing props into embedded payload cache key (#3800) Make PR batches skip customer-feedback issues (#3826) Name the regressed benchmark+measure pairs in the issue body (#3830) Clarify agent batch policy handoffs (#3824) Filter Bencher alerts to tracked measures (drop orphaned p90 false positives) (#3829) Fix auto-bundled component pack normalization (#3818) Filter stale Bencher alerts before reporting (#3822) Tighten benchmark confirmation workflow permissions (#3819) Add issue evaluation skill (#3816) Confirm benchmark regressions on a fresh runner before filing the main issue (#3810) Define agent scope and accelerated RC auto-merge policy (#3808) Replace custom MockClient with async-http Mock::Endpoint (#3703) Docs: per-request data sharing in RSC with React.cache() (#3769) Pro RSC: share unstable_cache across renderer workers via Redis (#3705) [codex] Add PR batch planning skill (#3792) Docs: document PR batch operational lessons (#3789) Document dummy Redux state indexing rationale (#3781) Pro RSC: avoid caching failed Flight renders (#3775) # Conflicts: # packages/react-on-rails-pro/tests/getReactServerComponent.client.test.ts
…o-rsc-rspack-ci * origin/main: Add Pro license header checker RSC: stop serializing props into embedded payload cache key (#3800) Make PR batches skip customer-feedback issues (#3826) Name the regressed benchmark+measure pairs in the issue body (#3830) Clarify agent batch policy handoffs (#3824) Filter Bencher alerts to tracked measures (drop orphaned p90 false positives) (#3829) Fix auto-bundled component pack normalization (#3818) Filter stale Bencher alerts before reporting (#3822) Tighten benchmark confirmation workflow permissions (#3819) Add issue evaluation skill (#3816) # Conflicts: # react_on_rails_pro/spec/dummy/config/webpack/clientWebpackConfig.js
* origin/main: (23 commits) Enforce Pro license headers in CI and pre-commit (#3821) Add RSC payload route-data helper (#3783) [Pro] Fix React.cache request dedupe in generated RSC configs (#3813) Docs: clarify RuboCop autofix ownership (#3827) Add Pro license header checker RSC: stop serializing props into embedded payload cache key (#3800) Make PR batches skip customer-feedback issues (#3826) Name the regressed benchmark+measure pairs in the issue body (#3830) Clarify agent batch policy handoffs (#3824) Filter Bencher alerts to tracked measures (drop orphaned p90 false positives) (#3829) Fix auto-bundled component pack normalization (#3818) Filter stale Bencher alerts before reporting (#3822) Tighten benchmark confirmation workflow permissions (#3819) Add issue evaluation skill (#3816) Confirm benchmark regressions on a fresh runner before filing the main issue (#3810) Define agent scope and accelerated RC auto-merge policy (#3808) Replace custom MockClient with async-http Mock::Endpoint (#3703) Docs: per-request data sharing in RSC with React.cache() (#3769) Pro RSC: share unstable_cache across renderer workers via Redis (#3705) [codex] Add PR batch planning skill (#3792) ...
…-floor-fix * origin/main: (29 commits) Docs: align pr-batch closeout confidence handoff (#3835) Align adversarial review CI polling guidance (#3794) CI: add Pro RSC rspack runtime gate (#3817) Make RSCRoute refetch failures recoverable in production (#3786) Fix Pro node renderer license headers (#3834) Docs: fix anti-patterns in RSC tutorials (#3801) fix(pro): add RSC peer compatibility gate (#3831) Enforce Pro license headers in CI and pre-commit (#3821) Add RSC payload route-data helper (#3783) [Pro] Fix React.cache request dedupe in generated RSC configs (#3813) Docs: clarify RuboCop autofix ownership (#3827) Add Pro license header checker RSC: stop serializing props into embedded payload cache key (#3800) Make PR batches skip customer-feedback issues (#3826) Name the regressed benchmark+measure pairs in the issue body (#3830) Clarify agent batch policy handoffs (#3824) Filter Bencher alerts to tracked measures (drop orphaned p90 false positives) (#3829) Fix auto-bundled component pack normalization (#3818) Filter stale Bencher alerts before reporting (#3822) Tighten benchmark confirmation workflow permissions (#3819) ... # Conflicts: # .github/workflows/benchmark.yml
Summary
.agents/workflows/pr-processing.mdback to the canonicalAGENTS.mdpolicy while preserving a short worker checklist.AGENTS.mdtracker-selection rules instead of duplicating them.AGENTS.mdby removing trust in latest commit author metadata.$pr-batch.Refs #3814.
Evidence Reviewed
b5b056a2583b25d8bc9d84d989f84be8f4d1d79d.b5b056a2583b25d8bc9d84d989f84be8f4d1d79d: 37 check runs, no non-green runs./posts_page: Proregression-issue suppression #3669, and RC test tracking: react_on_rails 17.0.0.rc.1 #3570.Validation
git diff --checkpnpm exec prettier --check .agents/workflows/pr-processing.md .agents/skills/pr-batch/SKILL.mdpnpm start format.listDifferentscript/ci-changes-detector origin/main-> documentation-only; Recommended CI jobs: NONE (skip CI)codex review --uncommitted-> accepted/fixed findings on full-CI final-readiness timing and post-+ci-run-fullwaitback; final rerun reported no discrete correctness or safety regressionReview Follow-up
85e0c967aaddresses Claude review feedback from 2026-06-09: names the accelerated-RC confidence block explicitly, rewrites the release-mode canonical pointer to prose, and avoids duplicating the Coordinator Closeout Lane in$pr-batchby pointing to.agents/workflows/pr-processing.md.1ebd64154addresses follow-up Claude review by adding sync markers for the closeout summary in both prompt-template copies.Additional validation after the review fix:
git diff --checkpnpm exec prettier --check -- .agents/skills/pr-batch/SKILL.md .agents/workflows/pr-processing.mdbin/check-linkspnpm start format.listDifferent(cd react_on_rails && bundle exec rubocop)dd3984a4addresses follow-up Claude and Cursor feedback from 2026-06-09: makes post-+ci-run-fullwaitback explicit in both prompt-template copies, points-batchBatch Handoff Format at the canonical workflow copy, clarifies the coordinator closeout pointer, defines the accelerated-RC confidence block in the closeout lane, and rewrites full-CI guidance so the intentional final-readiness default is clear without suggesting speculative full-CI during churn.b5c2e5618addresses the final Claude consistency pass from 2026-06-09: replaces duplicated-batchcloseout prose with a pointer to the canonical workflow copy, adds sync markers for the remaining full-CI uncertainty rule, and keeps the closeout lane pointer explicit.9f1cb1b12addresses follow-up Claude wording feedback from 2026-06-09 by naming Plan To Goal Handoff, removing the extra-batchcloseout indirection, and naming the Coordinator Closeout Lane in the prompt summary.Scope Notes
.agents/workflows/pr-processing.md,.agents/skills/pr-batch/SKILL.md..github/workflows/changes; workflow audit/actionlint/yamllint not applicable.Note
Low Risk
Documentation-only changes to agent workflow text; no application code, CI workflows, or runtime behavior.
Overview
Clarifies agent batch and PR-processing policy by deduplicating release-mode preflight in
.agents/workflows/pr-processing.md(short worker checklist + pointers toAGENTS.md) and aligning trusted existing PR branch wording so commit author metadata alone is not trusted.Batch closeout and handoffs gain explicit rules: blocking questions return a comment URL without speculative PRs; no-PR and product-decision targets name their deliverables; final handoffs split Immediate maintainer attention vs FYI / decisions made (canonical copy in the workflow;
$pr-batchpoints there).Coordinator responsibilities expand via a Coordinator Closeout Lane (live re-fetch, current-head checks/reviews, review-thread triage, release-mode or accelerated-RC confidence refresh, optional
+ci-run-fullwith waitback, authorized ready/merge). Full-CI uncertainty at final readiness is treated as non-blocking: request full CI, log in FYI, and continue instead of escalating to maintainers.Reviewed by Cursor Bugbot for commit e934667. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit