Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions WORKFLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,15 @@ When a ticket has an attached PR, run this protocol before moving to `Human Revi
3. Treat every actionable reviewer comment (human or bot), including inline review comments, as blocking until one of these is true:
- code/test/docs updated to address it, or
- explicit, justified pushback reply is posted on that thread.
4. Update the workpad plan/checklist to include each feedback item and its resolution status.
5. Re-run validation after feedback-driven changes and push updates.
6. Repeat this sweep until there are no outstanding actionable comments.
4. After addressing a comment (code update or pushback reply), reply explaining what was done:
- Inline review comments: `gh api … pulls/<pr>/comments/<comment-id>/replies -f body='…'`
- Top-level PR comments: `gh api … issues/<pr>/comments -f body='…'`
For **bot threads only** (`user.type == "Bot"` on the review comment), also resolve the thread using its GraphQL thread ID (from `reviewThreads.nodes[].id`, not the comment `id`): `gh api graphql -f query='mutation { resolveReviewThread(input:{threadId:"<thread-id>"}) { thread { id } } }'`.
Leave human reviewer threads unresolved — let the reviewer confirm and resolve themselves.
@mention the comment author when replying, **except Copilot** — mentioning Copilot triggers unwanted auto-fix PRs.
5. Update the workpad plan/checklist to include each feedback item and its resolution status.
6. Re-run validation after feedback-driven changes and push updates.
7. Repeat this sweep until there are no outstanding actionable comments.

## Blocked-access escape hatch (required behavior)

Expand Down
Loading