実装後レビュー(RV)ループの導入 - #569
Conversation
make ci 通過後・stage 直前に差分レビューを挟み、指摘ゼロまたは 3 周まで 「レビュー → 修正 → make ci → 再レビュー」を回す運用を追加する。 PR 後の CodeRabbit まで指摘の発見が遅れるのを防ぐ。 - .claude/skills/RV/SKILL.md: 手順の正本(対象確定・ループ制御・レポート形式) - .claude/rules/common/review.md: レビュー観点と重大度の正本。指摘が出たら 観点を 1 行追記して育てる運用を明記 - .claude/CLAUDE.md: stage フローへ RV を組み込み、観点 rule への導線を追加。 RV ループ中の修正は実装フェーズのため、モデル切り替えを RV 完了後に修正 - .claude/rules/common/tdd.md: 合流先フローを make ci → RV → stage に更新 hook は追加しない(レビュー→判断→修正のループは hook では回せないため)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Warning Review limit reached
Next review available in:41 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe change adds shared review rules and a new ChangesRV review workflow
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Developer
participant RV as RV skill
participant Diff as Git diff scope
participant Rules as review.md
participant CI as make ci
participant Stage as stage
Developer->>RV: Start post-implementation review
RV->>Diff: Discover committed, staged, and unstaged changes
RV->>Rules: Apply review criteria and severity policies
RV->>CI: Validate fixes after each review round
RV-->>Developer: Report findings, fixes, verdict, and next action
Developer->>Stage: Stage changes after RV completion
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/CLAUDE.md:
- Line 112: Update the `make ci` description near the `/RV` guidance in
`.claude/CLAUDE.md` to state that it verifies lint, test, and build-web success,
while not evaluating design validity or contract preservation. Keep the
instruction to run `/RV` before staging.
In @.claude/skills/RV/SKILL.md:
- Around line 24-34: RV の対象確定処理に git ls-files --others --exclude-standard
を追加し、未追跡ファイルを内容・行数付きでレビュー対象集合へ含めてください。対象件数と「対象: N files / +X -Y
lines」集計にも反映し、差分がない場合の即終了条件を維持してください。SKILL.md 内の出力形式説明も未追跡ファイルを含む表現へ更新してください。
- Around line 62-68: SKILL.md の終了条件 (c) を、同一指摘全般ではなく未解決の High / Medium 指摘が 2
周連続で解消しない場合に限定するよう更新してください。Low 指摘は打ち切り判定から除外し、Round の記録にのみ残す既存方針を維持してください。
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 324583d6-fce9-4115-aa60-6a87442edfc0
📒 Files selected for processing (4)
.claude/CLAUDE.md.claude/rules/common/review.md.claude/rules/common/tdd.md.claude/skills/RV/SKILL.md
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
CodeRabbit の指摘(PR #569)を反映する。 - RV は git add 前に走るため、git diff 系では新規ファイルが対象から漏れる。 未追跡ファイル(git status --porcelain)を対象の和集合に追加する - 終了条件 (c) が重大度を限定しておらず、記録のみで意図的に残る Low が 2 周続くと High/Medium の処理中でも打ち切られる。High/Medium に限定する - make ci の説明を実際のターゲット内容(lint + test + build-web)に合わせる Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CodeRabbit の追加指摘(PR #569)を反映する。 git status --porcelain は新規ディレクトリを "?? path/" に畳むため、中の 個別ファイルがレビュー対象から漏れる(本 PR の .claude/skills/RV/ が該当)。 git ls-files --others --exclude-standard でファイル単位に列挙する。 - 未追跡ファイルの行数は wc -l で数えて +X に合算する旨を明記 - 対象サマリの書式を「N files(うち新規 M)/ +X -Y」に更新(レポート冒頭も同様) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
概要
make ci通過後・stage直前に差分ベースのレビューを挟み、指摘ゼロまたは最大 3 周まで「レビュー → 修正 →make ci→ 再レビュー」を回す運用を追加する。現状は lint / test が通った時点で人間のエディタ確認へ渡しており、「設計として妥当か」「契約を壊していないか」を機械的に見る工程が無い。指摘の発見が PR 後の CodeRabbit まで遅れる(PR #568 で ADR の記述漏れ・CI の検知漏れが後段で発覚した)。
変更内容
.claude/skills/RV/SKILL.md(新規).claude/rules/common/review.md(新規).claude/CLAUDE.md実装 → make ci → RV ループ → git addに更新。判断が必要な事案に「RV で自動修正しなかった指摘」を追加.claude/rules/common/tdd.mdmake ci→ RV → stage に更新設計
review.mdに 1 行追記して育てる(コード修正だけで終わらせない)/code-reviewは Claude から起動できない(組み込み CLI コマンド)ため、差分レビューの手順は skill が内包する。手動併用は可*_refacterskill 群も ADR 無しで導入)。必須ゲート化に進める段階で ADR-0019 と同じ扱いを検討検証
RV 自身の導入差分に RV を回して受け入れ確認を行った(レポートは
report/配下・gitignore 済み)。except ValueError: passをsort_utils.pyへ)→ 検出 → 解消lint-tddfail を High、例外の握りつぶしを Medium で検出。撤去済み)origin/mainの clean worktree で検出コマンド全空)make ci(lint-adr-index / lint-env-keys / lint-tdd 含む)RV が実際に検出した指摘(Round 1・Medium 2 件)は本 PR に反映済み:
rules/common/tdd.mdのフロー記述が RV 挿入に追従せず、TDD 経路だけ RV を飛ばす読みになっていたmake cigreen で Haiku へ」のままで、RV ループ中の修正を Haiku で回す動線になっていた(→ 表・案内タイミング・制約を RV 完了後に修正)この 2 件から
review.mdの SSoT カテゴリに「手順・フローを変えたら、それを記述している他の docs / rules も同じ差分で更新する」を追記している。影響範囲
.claude/配下のみ。アプリケーションコード・CI 定義の変更なし。🤖 Generated with Claude Code
Summary by CodeRabbit