Each member sees the original input plus the previous round's outputs from the OTHER members, keyed by original member id. Members run in parallel.
When to use this round
Use PeerReview for cross-visibility: members need to see each
other's prior work and continue working with that context, but
identities are meaningful and should stay visible. Examples:
- Heterogeneous roles (Researcher → Critic → Synthesizer) where the next member needs to know which output came from which role.
- Iterative refinement where a member's id carries semantic meaning
(e.g.
:draftand:editorcollaborating). - Cross-pollination steps that produce no judgment, just shared context for the next round.
This round does not aggregate. It is a pure visibility primitive.
When to use AnonymizedPeerReview instead
If members are blind-judging each other's work (ranking, voting on
quality), use CouncilEx.Rounds.AnonymizedPeerReview. Showing
original ids during a judging round triggers self-recognition bias,
brand bias, and other failure modes that collapse the signal — see
the AnonymizedPeerReview moduledoc for the full rationale.
Rule of thumb:
- "Read the others, then keep working" →
PeerReview. - "Read the others, then rank them" →
AnonymizedPeerReview.
Full decision matrix and rationale:
docs/PEER_REVIEW_PATTERNS.md.