Repository navigation
Assign per-language architects when a review is ready - #10167
Merged
Sameeksha Vaity (samvaity) merged 4 commits intoJul 27, 2026
Merged
Conversation
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Pull request overview
Automatically assigns language architects when board-review issues become ready.
Changes:
- Adds deterministic, plane-aware reviewer assignment.
- Integrates assignments into triage comments and tests.
- Documents reviewer assignment and supported labels.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
assign-reviewers.js |
Resolves and assigns architects. |
triage.js |
Triggers assignment and displays handles. |
assign-reviewers.test.js |
Tests assignment behavior. |
triage.test.js |
Tests triage integration. |
ARCH-BOARD-REVIEW-PROCESS.md |
Documents the workflow. |
When triage marks a board-review issue ready-for-review, resolve one architect per selected language from the shared api-review-approvers.yml roster (round-robin by issue number) and assign them. Assignment fires GitHub's native notifications so architects are reached through their own preferences. The resolved handles are shown in the existing "materials verified" comment (single comment, no extra ping). Idempotent: re-edits do not re-assign. - Add rust data-plane approver (heaths) to api-review-approvers.yml. - Surface selected languages with no configured architect as "unassigned" in the triage comment instead of silently omitting them. - Document the assignment step and C++/Rust language labels in ARCH-BOARD-REVIEW-PROCESS.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: f922dad1-6173-4c65-b4bb-03f056572963
Sameeksha Vaity (samvaity)
force-pushed
the
arch-board-assign-reviewers
branch
from
July 22, 2026 00:50
f5c7f8d to
3ad1aad
Compare
Sameeksha Vaity (samvaity)
requested review from
Jesse Squire (jsquire),
Laurent Mazuel (lmazuel),
Mayuri Diwan (mayurid) and
Jeff Fisher (xirzec)
as code owners
July 22, 2026 00:50
Address remaining PR review comments: - r3626637027: render assigned handles as inline code instead of @login in the success comment so it does not fire a redundant mention ping (the addAssignees call is the notification). - r3626637091: reconcile stale assignments. When an edit changes the selected languages, architects the automation previously assigned but no longer resolved are removed via removeAssignees. Only roster members are removed, so manually added (non-roster) assignees are always preserved. Add getAllApprovers helper to approval-check.js and cover reconciliation and manual-assignee preservation in tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: f922dad1-6173-4c65-b4bb-03f056572963
- Wrap assignReviewers in try/catch in triage so a failed assignment (invalid handle, permissions, API hiccup) still posts the success comment instead of leaving a ready-for-review issue with no feedback. - Add a reason field to the assignReviewers skipped result to distinguish 'already-assigned' from 'no-reviewers-resolved'. - Strengthen the no-comment test to assert createComment is not called (mock now includes createComment) rather than checking mock shape. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: f922dad1-6173-4c65-b4bb-03f056572963
Sameeksha Vaity (samvaity)
requested review from
Jonathan Giles (JonathanGiles) and
Heath Stewart (heaths)
July 22, 2026 18:56
Sameeksha Vaity (samvaity)
force-pushed
the
arch-board-assign-reviewers
branch
from
July 23, 2026 20:49
7afbc63 to
55965dd
Compare
Per reviewer feedback: - Replace the round-robin picker with assigning every configured architect for each selected language. Simpler and no state; if it gets noisy for languages with multiple architects we can add distribution later. - When the assignment API call fails, the 'materials verified' comment now includes a visible note asking for manual assignment (with a link to the approvers file) instead of only logging a warning, so the issue is never left silently unassigned. - Add a link to api-review-approvers.yml in the unassigned-language note too. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: f922dad1-6173-4c65-b4bb-03f056572963
Sameeksha Vaity (samvaity)
force-pushed
the
arch-board-assign-reviewers
branch
from
July 23, 2026 20:53
55965dd to
80faf54
Compare
Praveen Kuttappan (praveenkuttappan)
approved these changes
Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
When triage marks a board-review issue
ready-for-review, automatically assign one architect per selected language so they are notified through GitHub's native notifications instead of having to watch the project board.Why
The project board is visibility-only today - there is no assignment or notification. Reviews can sit unnoticed when architects are busy. Assignment routes each review to a real person through their existing GitHub notification preferences, with nothing custom to maintain.
How
assign-reviewers.js: resolves one architect per selected language from the sharedapi-review-approvers.ymlroster (round-robin by issue number), reusing theapproval-check.jshelpers. Management-plane issues also consider the management-plane approvers.triage.js: onready-for-review, assigns viaaddAssignees(this is the notification), then lists the assigned handles inside the existing "All materials verified" comment - a single comment, no extra ping.ARCH-BOARD-REVIEW-PROCESS.md.Design note
Inspired by the config-driven, plane-aware pattern in Azure/azure-rest-api-specs#44664, but reuses the existing roster and helpers rather than duplicating a reviewer list - single source of truth, no drift.