PR Review Synthesis Coordination
Overview
pr-review-synthesis-maker never discovers findings itself. It consumes the nine specialists'
raw findings (or performs the single trivial-tier generalist pass itself, per DD-7) and is the
sole place a finding gets deduplicated, re-categorized, filtered for reasonableness, and
tool-verified before posting exactly ONE consolidated review.
Reference Modules
- four-coordination-functions.md — Deduplicate,
Re-categorize (owns the architecture-versus-correctness boundary), Reasonableness-filter,
Tool-verify, plus the DD-11 attribution-tracking requirement
- consolidated-review-header.md — the
fixed-shape review header template and the per-finding
Raised by attribution line
- finding-requirements.md —
the finding requirements hard rules, CRITICAL-requires-reproduction, and the scope guard
- scope-guard.md — the scope test every surviving finding
is measured against, and the two things it never suppresses
- github-reviews-api-mechanics.md — posting
mechanics (COMMENT-only constraint, SHA reuse), identity note, and untrusted-input handling
- cross-cycle-and-external-verification.md —
full-PR re-review each cycle, human-dismissal respect, and when to delegate to
web-researcher
- machine-readable-audit-record.md — the stable
post title, pass-local finding IDs, and the authenticated
ose-pr-review-pass:v1 record
Core Principles
- A finding survives all four functions or it doesn't post — never "as-is, just in case."
- This agent owns the architecture-versus-correctness re-categorization boundary — the
highest-risk of the tie-breaker outcomes; no specialist self-adjudicates its own verdict once
reviewed here.
- Exactly ONE consolidated review per pass — never one review per specialist or discipline.
Post it through the Reviews API as line-anchored inline threads, one per finding — NEVER
gh pr comment. A top-level comment cannot be anchored, replied to as a thread, or resolved,
so the loop's thread-resolution query reads it as zero findings. A review is a conversation
with the author: you post the finding, the fixer replies on the same thread. Never write the
disposition into your own comment.
- A
CRITICAL finding needs reproduction, not just multi-specialist agreement.
Related Agents
pr-review-scout-maker (upstream tier/context/dismissal-read), the nine pr-review-*-maker
discipline specialists (raw-finding sources), pr-review-fixer (consumes the posted review),
web-researcher.
1---2name: pr-review-synthesis-coordination3description: How pr-review-synthesis-maker deduplicates, re-categorizes, reasonableness-filters, and tool-verifies the nine discipline specialists' raw findings, then posts exactly one consolidated GitHub review. Use when acting as the PR-review pipeline's coordinator/synthesis stage.4---56# PR Review Synthesis Coordination78## Overview910`pr-review-synthesis-maker` never discovers findings itself. It consumes the nine specialists'11raw findings (or performs the single trivial-tier generalist pass itself, per DD-7) and is the12sole place a finding gets deduplicated, re-categorized, filtered for reasonableness, and13tool-verified before posting exactly ONE consolidated review.1415## Reference Modules1617- [four-coordination-functions.md](./reference/four-coordination-functions.md) — Deduplicate,18 Re-categorize (owns the architecture-versus-correctness boundary), Reasonableness-filter,19 Tool-verify, plus the DD-11 attribution-tracking requirement20- [consolidated-review-header.md](./reference/consolidated-review-header.md) — the21 fixed-shape review header template and the per-finding `Raised by` attribution line22- [finding-requirements.md](./reference/finding-requirements.md) —23 the finding requirements hard rules, CRITICAL-requires-reproduction, and the scope guard24- [scope-guard.md](./reference/scope-guard.md) — the scope test every surviving finding25 is measured against, and the two things it never suppresses26- [github-reviews-api-mechanics.md](./reference/github-reviews-api-mechanics.md) — posting27 mechanics (COMMENT-only constraint, SHA reuse), identity note, and untrusted-input handling28- [cross-cycle-and-external-verification.md](./reference/cross-cycle-and-external-verification.md) —29 full-PR re-review each cycle, human-dismissal respect, and when to delegate to `web-researcher`30- [machine-readable-audit-record.md](./reference/machine-readable-audit-record.md) — the stable31 post title, pass-local finding IDs, and the authenticated `ose-pr-review-pass:v1` record3233## Core Principles34351. **A finding survives all four functions or it doesn't post** — never "as-is, just in case."362. **This agent owns the architecture-versus-correctness re-categorization boundary** — the37 highest-risk of the tie-breaker outcomes; no specialist self-adjudicates its own verdict once38 reviewed here.393. **Exactly ONE consolidated review per pass** — never one review per specialist or discipline.40 **Post it through the Reviews API as line-anchored inline threads, one per finding — NEVER41 `gh pr comment`.** A top-level comment cannot be anchored, replied to as a thread, or resolved,42 so the loop's thread-resolution query reads it as **zero findings**. A review is a conversation43 with the author: you post the finding, the fixer replies on the same thread. Never write the44 disposition into your own comment.454. **A `CRITICAL` finding needs reproduction, not just multi-specialist agreement.**4647## Related Agents4849`pr-review-scout-maker` (upstream tier/context/dismissal-read), the nine `pr-review-*-maker`50discipline specialists (raw-finding sources), `pr-review-fixer` (consumes the posted review),51`web-researcher`.