| name | pr-ci-sonar-closure |
| description | PR を人間に引き渡す直前に CI 完了監視→失敗解析→get-sonar-feedback→/pr-review レポート→最終報告までを一気通貫で実行するフロー。
|
ゴール
- CI が完走し、失敗時は原因と対処方針を記録したうえで再実行する
get-sonar-feedback <pr> で重大指摘がない状態を確認する(残る場合は TODO と根拠を残す)
/pr-review を用いた最終レビューと、人間レビュアーに渡すための要約コメントを作成する
事前条件と入力
- 作業中ブランチが対象 PR に紐づいていること
gh CLI がログイン済み
get-sonar-feedback コマンドが利用可能
/ci-status /pr-review など既存コマンドを呼べる状態
手順
1. PR メタ情報の取得
TARGET_REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
PR_NUMBER=$(gh pr view --json number -q .number 2>/dev/null || gh pr status --json currentBranch -q '.currentBranch.pullRequest.number')
2. CI 完了を監視
gh pr checks "$PR_NUMBER" --repo "$TARGET_REPO" --watch
- 実行中に失敗が出たら
/ci-status の手順でログを精査し、修正 or 再実行。
- 再実行後も同じコマンドで完了まで待機する。
3. CI 失敗時の対処
/ci-status を実行して失敗したジョブと原因を特定
- 関連ファイルを修正し、必要なテストを回す
git status -sb で差分を確認してからコミット/プッシュ
- 再度 Step 2 へ戻り、CI が緑になるまで繰り返す
4. get-sonar-feedback の実行
get-sonar-feedback "$TARGET_REPO" "$PR_NUMBER"
.codex/prompts/sonar-feedback.md のフローに従い、Critical/High を最優先で処理
- 解決できない場合は理由と代替策を明記し、TODO を残してレビュアーに伝える
5. PR レビュー結果の整理
/pr-review $TARGET_REPO $PR_NUMBER を実行し、差分・テスト・CI 状況をまとめる
USER_DIRECTIVES があれば反映方法をレポートに記載
6. 人間レビュアーへの報告
- 上記結果をまとめた文章をコメント下書きとして生成
- 含めるべき内容:
- CI ステータス(成功/失敗・再実行履歴)
- Sonar 指摘の対応状況
- 追加で行ったテストや確認事項
- レビュアーに見てほしい観点
- 必要に応じて
gh pr comment や gh pr view --json url を使い、URL とともに共有する
リスクとメモ
- CI 失敗を無視して次工程へ進まない
- Sonar で Critical が残ったまま完了させない
- 途中で不明点が出たら直ちにユーザーへ質問し、独断のフォールバックを行わない