Problem
The quarterly peer-review flow assigns each member their two reviewees via a positional round-robin over an alphabetical roster — i.e. "review the next two people after you in the cohort list." It's blind to collaboration, so members get assigned to review people they have no working context with, which undermines the value of the review.
This matters because two completed peer reviews gate next-quarter payment eligibility (per #23) — so a context-free reviewer is being asked to produce an evaluation that affects someone's pay.
Evidence
From shared-kb/peer-reviews/state/2026-Q2.json, the assignments follow next-two-in-roster almost exactly (roster = the alphabetical KB-slug list in peer-reviews/config.md):
marv → otreblig, rade
otreblig → rade, rathermercurial-eth
rade → rathermercurial-eth, roloide
rathermercurial-eth → roloide, ron
roloide → ron, unai-mettodo
ron → unai-mettodo, 0xr (wraps around)
Concrete case that surfaced this: rathermercurial-eth was assigned to review roloide (Francisco) and ron — both backend devs they don't work directly with — purely because those two are alphabetically adjacent. Their closest collaborators (unai-mettodo, marv) aren't assigned to them at all. (A couple of pairs deviate slightly — bagelface, cypherbren — suggesting a minor balancing tweak, but the dominant rule is next-two.)
Where
Proposed options
- Pair by collaboration / area — use the owner→project-area mapping and/or real co-working signals (shared repos/PRs/reviews, meeting overlap) to pair people who've actually worked together.
- Self-select / claim — let each member claim reviewees they worked with, with a min/max so coverage and load stay balanced.
- Hybrid (recommended) — seed with collaboration-based pairs, fall back to round-robin only to fill coverage gaps; keep the current balance guarantees (everyone reviews ~2, is reviewed ~2).
Given the payment-eligibility stakes, reviewer↔reviewee context should be a first-class input, not alphabetical adjacency.
Surfaced by @rathermercurial for the 2026-Q2 cycle; filed via Breadrich.
Problem
The quarterly peer-review flow assigns each member their two reviewees via a positional round-robin over an alphabetical roster — i.e. "review the next two people after you in the cohort list." It's blind to collaboration, so members get assigned to review people they have no working context with, which undermines the value of the review.
This matters because two completed peer reviews gate next-quarter payment eligibility (per #23) — so a context-free reviewer is being asked to produce an evaluation that affects someone's pay.
Evidence
From
shared-kb/peer-reviews/state/2026-Q2.json, theassignmentsfollow next-two-in-roster almost exactly (roster = the alphabetical KB-slug list inpeer-reviews/config.md):marv → otreblig, radeotreblig → rade, rathermercurial-ethrade → rathermercurial-eth, roloiderathermercurial-eth → roloide, ronroloide → ron, unai-mettodoron → unai-mettodo, 0xr(wraps around)Concrete case that surfaced this:
rathermercurial-ethwas assigned to reviewroloide(Francisco) andron— both backend devs they don't work directly with — purely because those two are alphabetically adjacent. Their closest collaborators (unai-mettodo,marv) aren't assigned to them at all. (A couple of pairs deviate slightly —bagelface,cypherbren— suggesting a minor balancing tweak, but the dominant rule is next-two.)Where
profiles/example/plugins/peer-reviews.mjs(per Smithers: migrate remaining multi-step flows (weekly-agenda, peer-review, SD, PM) #111).shared-kb/peer-reviews/config.md; computed assignments in.../state/2026-Q2.json.Proposed options
Given the payment-eligibility stakes, reviewer↔reviewee context should be a first-class input, not alphabetical adjacency.
Surfaced by @rathermercurial for the 2026-Q2 cycle; filed via Breadrich.