Skip to content

Let Claude follow up on reviews and open PRs from issues - #384

Merged
ddaspit merged 1 commit into
mainfrom
ddaspit/Update-code-review
Sep 30, 2026
Merged

ddaspit merged 1 commit into
mainfrom
ddaspit/Update-code-review

Conversation

@ddaspit

@ddaspit ddaspit commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

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/ or tests/ is changed.

Where to look

  • The review matches its earlier findings by reading the thread. Nothing pins this. The action restores .claude/ from the base branch, so the review of this PR still runs the skill from main.
  • The review resolves its own threads with 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. The author_association checks in claude.yml only let it run when the issue or PR and the comment come from an owner, member or collaborator.
  • I do not know whether Reviewable picks up a thread resolved on GitHub.

Deliberately not included

  • Allowing only the specific check commands instead of poetry run:*. The tests would still run the branch's code.
  • Filtering outsider comments with 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_load on both workflow files -- parsed.
  • The review thread query in the skill, run against Migrate to transformers 5 #363 -- returned its threads. This showed that GraphQL names the bot claude rather than claude[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.yml now allows the gh and git commands the port-pr skill needs, installs the dependencies, and appends a prompt that has Claude open the PR itself.

The skill change and the claude.yml change only take effect after this is merged to main. The concurrency group in claude-code-review.yml applies to this PR's own runs.

🤖 Generated with Claude Code


This change is Reviewable

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-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.13%. Comparing base (615cd59) to head (e634127).

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Enkidu93 Enkidu93 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

:lgtm:

@Enkidu93 reviewed 3 files and all commit messages, and made 1 comment.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on ddaspit).

@ddaspit
ddaspit merged commit 96ec59f into main Sep 30, 2026
21 checks passed
@ddaspit
ddaspit deleted the ddaspit/Update-code-review branch September 30, 2026 13:11
@claude claude Bot mentioned this pull request Sep 30, 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.

3 participants