parallel-code-review
Weekly chunked code-review gate. /workweek-complete only.
SKILL.mdskills/parallel-code-review/SKILL.md
GitHubParallel Code Review
Overview
The /workweek-complete pre-merge code-review gate: snapshots the week's diff against
origin/main, dispatches N code-reviewer-weekly chunk reviewers over the narrowed
code-semantics scope plus 3 mechanical specialists (security, deps, tests) over the full diff, all
in parallel, and synthesizes BLOCKED/WARN/OK. Enforces
${CLAUDE_PLUGIN_ROOT}/snippets/em-operating-doctrine.md § How to Review What Came Back.
The Staff Engineer's Layer-2 pass runs separately at Step 7.5 (wiki).
Wrong-Context Refusal
Invoked exclusively from coordinator:/workweek-complete, by the top-level EM
(A-SKILL-PHASE-NAMES-ITS-ACTOR). Reached any other way — STOP, surface the misroute to the PM
(coordinator/skills/review/SKILL.md § A.3 governs every other surface).
Gate, Chunk, and Resolver Decisions
Three CLI calls drive dispatch shape; each prints a decision envelope whose next_move field is
the literal next step to take. Every CLI on this page is resolved per
${CLAUDE_PLUGIN_ROOT}/snippets/resolve-coordinator-bin.md (Shape A/B on POSIX hosts); on a
PowerShell host, invoke the .exe launcher by absolute path through the call operator (Shape W),
never the ${...} POSIX-shell form shown below.
- Gate:
parallel-review-gate-decision gate --range "origin/main...HEAD" [--force].judgment_pointsis always[]here. - Chunking: same binary,
chunk --scope-files-file <scope-files> --seam-manifest-file <seam-manifest> [--target-size 25] --out "$FINDINGS_DIR/chunk-manifest.tsv"—<scope-files>isstaff_eng_scope's narrowed code-semantics scope (the 3 specialists still see the full diff),<seam-manifest>a<file>\t<session_id>TSV. Skip entirely on a doc-only week; writeprintf 'skipped: doc-only\n' > "$FINDINGS_DIR/code_semantics_skip.sentinel"instead. - Test resolver:
parallel-review-gate-decision resolver-branch --resolver-exit "$RESOLVER_EXIT" --test-cmd "$TEST_CMD"(values per Test-Output Capture below).
Rule 5 is the one EM judgment here, never auto-fired. On a large catch-up span where every
workstream has a review-trail verdict, run rule5-inputs --scope-shas-file <scope-shas> --seam-files-file <seam-files> --review-trail-dir state/review-trail; (a) skip (record
incrementally-reviewed, name the records) or (b) narrow to unreviewed_set (wiki).
Pre-Flight Orthogonality Assertion
Before dispatch: parallel-review-orthogonality-guard guard. Non-zero — do not dispatch, surface
to the PM.
After chunking, before chunk-reviewer dispatch: same command with --chunk-manifest "$FINDINGS_DIR/chunk-manifest.tsv". Non-zero — re-chunk.
Snapshot
Invoke parallel-review-orthogonality-guard snapshot --range "origin/main...HEAD". Capture its four printed fields as
$FINDINGS_DIR, $WEEKLY_SLICE_ID, $DIFF_PATH, $HEAD_SHA_PATH — the only copies; readers
take them directly, never from $FINDINGS_DIR.
Test-Output Capture — Tier-U, EM-only
/workweek-complete holds this ceremony's implicit Tier-U grant. Consult it anyway:
tier-u-grant-cli check.
Ungranted (exit 1, or malformed/absent) — halt, surface to the PM, skip this step.
Resolve: coordinator-resolve-validation-cmd --full → $TEST_CMD / $RESOLVER_EXIT. Set
TEST_OUTPUT_PATH="state/review-trail/diffs/${WEEKLY_SLICE_ID}.test.log", then run the
resolver-branch decision above and act on its next_move.
Pre-scaffold (Edit cannot create a file): printf '<!-- FINDINGS -->\n' > "$FINDINGS_DIR/tests.md". On RESOLVER_EXIT=2, still write it but skip test-evidence-parser
(surfaces as failed_disk_read).
Parallel Dispatch
Do not ask whether to dispatch — invoking this skill IS the request for the dispatch this step names; it dissolves no gate this skill's own body names.
Dispatch the whole span as one Workflow — Workflow({scriptPath: "${CLAUDE_PLUGIN_ROOT}/workflows/review-wave.mjs", args: {pluginRoot: "${CLAUDE_PLUGIN_ROOT}", ...}}) (both resolved to absolute paths, never repo-relative). It encodes this
section and the synthesizer dispatch below; its args contract is in the script's header.
Pre-provision each dispatched agent's sidecar first —
provision-sidecar --agent-type <type> --provision-key <slice-id> — and inject the printed path
as sidecar_path: in its brief: a Workflow spawn never auto-provisions one. Omit
testOutputPath on an unconfigured-resolver (RESOLVER_EXIT=2) week and the parser is skipped.
The gate is not a checkpoint: reviewers run to completion without EM authorization.
Hand-dispatch is the fallback for a broken vehicle, not a preference. If the Workflow refuses, dispatch all active reviewers in one multi-tool-call batch and say why. Each reviewer reads its own frozen input and writes only its own findings file.
- Chunk reviewers (
agents/code-reviewer-weekly.md, skip all ifSKIP_CODE_SEMANTICS=1): one per chunk, its file-scope list plus$DIFF_PATH, writing only$FINDINGS_DIR/chunk-<k>.mdincrementally, markingescalate_to_architecture: truewhere relevant. Applied findings land in the diff, verified viareview-findings-ledger verify. - security-audit-worker:
$DIFF_PATH→$FINDINGS_DIR/security.md. - dep-cve-auditor: repo manifests at HEAD vs.
$DIFF_PATH→$FINDINGS_DIR/deps.md. - test-evidence-parser:
$TEST_OUTPUT_PATH→$FINDINGS_DIR/tests.mdvia oneEditon the pre-scaffolded sentinel. Skip onRESOLVER_EXIT=2.
These four are orthogonal lenses; the N chunk reviewers partition one by file-scope (wiki).
Reviewers never commit. A chunk reviewer's footprint is exactly its one chunk-<k>.md;
anything else is a contract violation to revert.
Lens-Domain Manifest
verify-parallel-review-lens-orthogonality parses this table (agent files exist, no shared lens
domain, at least four rows) and fails closed.
| Reviewer | Lens domain |
|---|---|
agents/code-reviewer-weekly.md |
code semantics |
agents/security-audit-worker.md |
source security |
agents/dep-cve-auditor.md |
dependency CVEs |
agents/test-evidence-parser.md |
test evidence |
Synthesizer Pre-Flight and Dispatch
Each expected findings file (chunk-*.md + active specialists, or the skip sentinel on a doc-only
week) must exist and be >1KB before the synthesizer runs. A failing/missing one:
lens_coverage[<reviewer>]: failed_disk_read, degrade to WARN, never "no findings = no issues."
Quota-exhausted dispatch. Scan each returned slice against
${CLAUDE_PLUGIN_ROOT}/snippets/quota-self-detect-preamble.md before synthesizer dispatch — a
match (or the QUOTA-EXHAUSTED-DISPATCH: envelope) is excluded from synthesis. Re-dispatch after
the wait or escalate partial coverage to the PM; the gate holds.
Any other failed dispatch: retry once via SendMessage (never redispatch from scratch), then
failed_disk_read/WARN degrade — an infra dropout never blocks.
Once all present files pass, dispatch Sonnet parallel-review-synthesizer
(agents/parallel-review-synthesizer.md) with $HEAD_SHA_PATH. It owns verdict computation,
convergence detection, and arch_tier_candidates aggregation. Writes $FINDINGS_DIR/synthesis.json.
review-wave.mjs's Synthesize phase runs this span; either vehicle satisfies these rules.
Verdict Emission and Gate Behavior
Read verdict/counts from $FINDINGS_DIR/synthesis.json, format:
**Code-review gate:** [BLOCKED|WARN|OK] — convergent: N — code-semantics: <N chunks, P0/P1/P2/nit counts> — arch-tier candidates: <count> — security: <count> — deps: <count> — tests: <pass/fail/flake>
BLOCKED halts /workweek-complete before Step 9 and Step 11, surfacing the line and
synthesis.json path to the PM — fix and re-run, or --force, never proceed silently. WARN
carries the line into the release-notes draft (Step 9) and the PR body. OK proceeds silently.
arch-tier candidates feeds the Staff Engineer's Layer-2 pass, never this verdict.
Cost, examples, chunking algorithm, carve-out mapping: wiki.