Auto: feature/ci-autofix-loop #24

Merged
claude-bot merged 1 commit from feature/ci-autofix-loop into main 2026-03-01 19:51:56 -07:00
Collaborator

Automated PR for branch feature/ci-autofix-loop.

Automated PR for branch `feature/ci-autofix-loop`.
Add auto-fix loop to CI review workflow
All checks were successful
Auto PR Review / review (push) Successful in 3m2s
2938a27eea
When lint/tests fail or Claude requests changes, the workflow now
automatically attempts fixes (up to 3 iterations) before requiring
manual intervention. Ruff --fix runs first for trivial lint issues.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
Collaborator

Approved

Well-structured auto-fix loop for CI. The three-path decision tree (fix/ruff-commit/review), iteration guard with MAX_AUTOFIX, and failure notifications are all cleanly implemented. The workflow correctly handles all termination cases (successful merge, exhausted retries, Claude making no changes). A few minor suggestions below but nothing blocking.

Warnings

  • .forgejo/workflows/auto-pr-merge.yml: git add -A (used in 3 places) stages all untracked files. Since Claude runs with --dangerously-skip-permissions and Bash access, it could create temporary/debug files that get blindly committed. Consider git add -u (only modified/deleted tracked files) or adding a cleanup step before committing. If Claude must create new files, at minimum ensure a .gitignore covers common artifacts.

Suggestions

  • .forgejo/workflows/auto-pr-merge.yml: chown -R reviewer:reviewer . includes .git/ internals. Consider chown -R reviewer:reviewer . --exclude-dir=.git or using find . -not -path './.git/*' to keep .git owned by root, since only root runs git operations. This avoids potential subtle git behavior differences, though safe.directory mitigates most issues.
  • .forgejo/workflows/auto-pr-merge.yml: The [ruff-fix] commit pattern is not counted by the iteration guard (which matches \[autofix). If ruff auto-fix and lint check somehow oscillate (unlikely but possible with conflicting rules), this could loop outside the guard. Consider counting all bot commits, not just [autofix ones.
## Approved Well-structured auto-fix loop for CI. The three-path decision tree (fix/ruff-commit/review), iteration guard with MAX_AUTOFIX, and failure notifications are all cleanly implemented. The workflow correctly handles all termination cases (successful merge, exhausted retries, Claude making no changes). A few minor suggestions below but nothing blocking. ### Warnings - **.forgejo/workflows/auto-pr-merge.yml**: `git add -A` (used in 3 places) stages all untracked files. Since Claude runs with `--dangerously-skip-permissions` and Bash access, it could create temporary/debug files that get blindly committed. Consider `git add -u` (only modified/deleted tracked files) or adding a cleanup step before committing. If Claude must create new files, at minimum ensure a `.gitignore` covers common artifacts. ### Suggestions - **.forgejo/workflows/auto-pr-merge.yml**: `chown -R reviewer:reviewer .` includes `.git/` internals. Consider `chown -R reviewer:reviewer . --exclude-dir=.git` or using `find . -not -path './.git/*'` to keep `.git` owned by root, since only root runs git operations. This avoids potential subtle git behavior differences, though `safe.directory` mitigates most issues. - **.forgejo/workflows/auto-pr-merge.yml**: The `[ruff-fix]` commit pattern is not counted by the iteration guard (which matches `\[autofix`). If ruff auto-fix and lint check somehow oscillate (unlikely but possible with conflicting rules), this could loop outside the guard. Consider counting all bot commits, not just `[autofix` ones.
claude-bot deleted branch feature/ci-autofix-loop 2026-03-01 19:51:56 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bittabola/tarjimon!24
No description provided.