Skip to content

feat(git-shipping): loop Copilot review through receiving-code-review - #169

Merged
h3y6e merged 4 commits into
mainfrom
feat/copilot-review-loop
Oct 15, 2026
Merged

h3y6e merged 4 commits into
mainfrom
feat/copilot-review-loop

Conversation

@h3y6e

@h3y6e h3y6e commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Summary

After opening a PR, the agent now gets it reviewed by Copilot code review and settles every comment on its own until the review stops producing fixes, instead of handing each round back to the user.

Evidence

git-shipping: open PR
  → request @copilot → wait for its review of the head commit
  → receiving-code-review (unattended), per unresolved thread and per finding in the review body:
      independent accept → fix, reply, resolve
      otherwise          → reply with evidence, resolve, list in final report
      repeat             → keep earlier verdict unless its code or evidence changed
  → commit and push fixes; any fixes and < 3 reviews? repeat : stop and report

This PR ran the loop on itself: review 1 left 2 threads (both accepted and fixed), review 2 left 1 finding only in its body (accepted and fixed), and review 3 reported 0 open findings.

Impact

  • Copilot never reads replies, so pushed-back items reach a human only through the final report.
  • Each review costs Copilot AI credits; the 3-review cap bounds it.

🤖 Generated with Claude Code

intent(review-loop): ship a PR and settle Copilot review without the user in the loop
decision(non-accept): reply with evidence and resolve instead of stopping, listing them in the final report
decision(termination): stop when a review yields no fix commits, or after three reviews
learned(copilot-review): Copilot never reads replies and may re-raise settled comments
rejected(commands): spelling out gh commands; agents already know them

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The loop can leave final-round fixes unpushed and reuse verdicts after their supporting evidence changes.

2 open findings
What changed in this PR

Adds an unattended Copilot review loop to the shipping workflow, using receiving-code-review to handle feedback.

Changes:

  • Requests reviews with a ten-minute timeout and three-review cap.
  • Adds guidance for repeated findings, thread resolution, and reporting non-accepted items.
File Description
skills/​receiving-code-review/​SKILL.md Defines unattended feedback handling and verdict reuse.
skills/​git-shipping/​SKILL.md Adds the bounded Copilot review loop.

🧠 Review effort: Balanced


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread skills/git-shipping/SKILL.md Outdated
Comment thread skills/receiving-code-review/SKILL.md Outdated
@h3y6e
h3y6e requested a balanced review from Copilot October 15, 2026 19:53
learned(copilot-review): a review took about 200 seconds, not under a minute

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Unattended handling should explicitly preserve and report holds on accepted fixes that depend on unclear feedback.

0 open findings

2 resolved since last review
Previously missed (1)

In code that hasn't changed since last review

Medium severity Unattended fixes may implement held accepted items without clarification

skills/​receiving-code-review/​SKILL.md:39

The unattended instruction to "fix accepted items" does not preserve the preceding paragraph's hold on items that share an assumption with unclear feedback. A held item can still have an accept verdict, so this branch can lead to implementing a dependent fix without clarification; the final-report rule also omits held accepted items. Explicitly limit unattended fixes to independent accepted items, and report held items with their blocking dependency.

🧠 Review effort: Balanced

learned(copilot-review): findings on unchanged code appear only in the review body, not as threads
learned(copilot-review): REST comment author is Copilot; GraphQL thread author is copilot-pull-request-reviewer

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Prior feedback is addressed, and no unresolved blocking issues remain.

0 open findings

🧠 Review effort: Balanced

intent(skill-size): keep SKILL.md bodies under 500 words
decision(split): move PR body format, review loop, AI reviewer rules; core flow stays in SKILL.md

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@h3y6e
h3y6e marked this pull request as ready for review October 15, 2026 20:04
@h3y6e
h3y6e merged commit ac72bed into main Oct 15, 2026
1 check passed
@h3y6e
h3y6e deleted the feat/copilot-review-loop branch October 15, 2026 20:04
@heyhoe-releaser heyhoe-releaser Bot mentioned this pull request Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants