Found while writing the two-account review-loop e2e for #139.
A reviewer discovers a merge request only through their dashboard review queue, which is computed from involvedCond — repositories they own, are granted on, or reach through an org or team. Nothing is ever pushed to a particular person:
notifytargetsRepoNotifyTargets(the owner, or an org's admins) or a thread's participants (internal/control/notifications.go).- Until someone comments or reviews, an MR's only participant is its author, who is the actor and excluded.
- So a collaborator with
writeon a user-owned repository, who has not yet touched the thread, gets nothing in their inbox for the entire life of a merge request until they comment on it themselves.
mr ready (#111) makes this visible: marking a draft ready is the moment the author asks, and there is nobody to address it to. It notifies the repository's targets, which for a user-owned repository is the author themselves.
Issues have issue assign. Merge requests have no equivalent.
Remedy: mr review request <owner/name> <n> <user>..., recorded per MR, feeding both the requested user's inbox and their review queue directly rather than through involvement. mr ready then notifies whoever has been asked. The CLI shape should match issue assign --add/--remove.
referenced in commit f8f4f38f31 by cmc: tests: the review loop, driven end to end by three accounts
2026-09-04 17:13 UTC