Skip to content

Reviewers reconcile with EACH OTHER, verbatim: independent → cross-feed → argue → one answer #116

Description

@BaseInfinity

Sibling-repo lesson from claude-sdlc-harness. Complements #110's termination rules: this one is about how multiple reviewers are run, and it removed more rounds than any single termination rule did.

The anti-pattern

The /sdlc skill in claude-sdlc-harness said, in full:

Multi-reviewer: respond to each independently.

That is the driver answering two reviewers in isolation. The reviewers never see each other's work. When they disagree, the driver merges their prose into a third position neither one endorsed — and that position then needs its own round to settle. Worth checking whether the AGENTS.md / review flow here has the same shape.

The four phases

1. Independent. Each reviewer reviews blind to the other. No shared draft, no summary of the other's findings. Divergence here is the entire value — reviewers who see each other first produce correlated findings, and the second reviewer buys nothing.

2. Cross-feed, verbatim. Each reviewer receives the other's position exactly as written. The driver relays; it does not summarize. Paraphrase is where a position gets restated into something its author would not sign, and the reviewer then argues against a strawman.

3. Argue it out. Concede what is right, hold what is wrong with repo-verifiable evidence — a file, a line, a command output. The operative instruction to each reviewer: a concession to a misread is worse than a hold. Reviewers conceding out of politeness is a failure mode as real as reviewers digging in.

4. Converge, then present one thing. They hand back a single reconciled position. The human sees a settled answer and any surviving splits, not two transcripts to referee.

Deadlock rule

A split that survives phase 3 routes by originating surface: a position that first appeared as a design question or a recorded scope decision belongs to the planner; one that first appeared in the verdict line, the defect list, or a recheck response belongs to the reviewer, and the lower verdict applies. When a split spans both, the verdict's surface governs. Only what survives that reaches the human, as one question.

Why the driver must not merge

The driver has the most context and the least independence — it wrote the thing. Merging two reviewers' words means grading its own work through a paraphrase it controls. That is the whole reason the reviewers outrank it.

Evidence

On the highest-risk change of the cycle, the adversarial reviewer opened with four P1 blockers against the planner's spec. The planner conceded all four, retracted a deferral it had previously defended on its own reasoning, and then found three additional contradictory surfaces the attacker had missed. Neither model produced that list alone, and the driver produced none of it. One exchange, no implementation rework — every one of those findings would otherwise have been a post-implementation round with a diff to redo.

Corollary worth adopting: attack the spec, not the diff. The cheapest round is the one before any code exists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: P0Stop-the-line critical path; work before lower-priority roadmap items

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions