Let Claude follow up on reviews and open PRs from issues - #384
Merged
Merged
Conversation
The review workflow runs on every push and posted the same findings again each time. The review now replies to its earlier findings, resolves the ones that were addressed or withdrawn, and posts only new findings. Runs for the same PR no longer overlap. The @claude workflow could not read the source of a porting issue or open a pull request. It can now read issues and PRs, run the local checks, and open a PR that closes the issue. It only runs when the issue or PR and the comment come from a repo member. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #384 +/- ##
=======================================
Coverage 92.13% 92.13%
=======================================
Files 390 390
Lines 24644 24644
=======================================
Hits 22705 22705
Misses 1939 1939 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Enkidu93
approved these changes
Sep 30, 2026
Enkidu93
left a comment
Collaborator
There was a problem hiding this comment.
@Enkidu93 reviewed 3 files and all commit messages, and made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on ddaspit).
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.
Quick summary
The code review follows up on its earlier findings instead of posting them again. A comment with @claude on an issue can now open a pull request. No code under
machine/ortests/is changed.Where to look
.claude/from the base branch, so the review of this PR still runs the skill frommain.resolveReviewThread. I did not run the mutation. It uses the Claude app token that already posts the reviews.Bash(poetry run:*)lets Claude run any command. Theauthor_associationchecks inclaude.ymlonly let it run when the issue or PR and the comment come from an owner, member or collaborator.Deliberately not included
poetry run:*. The tests would still run the branch's code.include_comments_by_actor. It needs a list of users to maintain.Validation
./local_check.sh --agent-strict-- comment hygiene found no in-scope files. black, flake8 and isort passed. pyright and pytest failed on missing optional dependencies (clearml,datasets,thot.alignment,sentencepiece) because my local environment does not have the extras. This PR changes no Python.git diff --check-- no output.yaml.safe_loadon both workflow files -- parsed.clauderather thanclaude[bot].Issue / porting context
The @claude run on #369 could not read sillsdev/machine#472 or #382 and did not open a pull request.
Reading this a year from now
The review runs on every push. Before this change, each run reviewed the PR from scratch and posted whatever it found, so the same findings came back on every push. The skill now settles the open findings first. It replies when a finding was addressed, withdrawn or accepted, and resolves the thread when it was addressed or withdrawn. It drops any new finding that an open or resolved thread already raises. New findings are limited to code changed since the last reviewed commit, unless they are Critical. The summary records
Reviewed at <head-sha>so the next run knows where to start.The @claude action only allows a small set of tools by default. Anything else is denied because the run is headless. The action also ends an issue run with a "Create a PR" link rather than a PR.
claude.ymlnow allows theghandgitcommands theport-prskill needs, installs the dependencies, and appends a prompt that has Claude open the PR itself.The skill change and the
claude.ymlchange only take effect after this is merged tomain. The concurrency group inclaude-code-review.ymlapplies to this PR's own runs.🤖 Generated with Claude Code
This change is