FAQ(よくある失敗)
起きがちで致命になりやすい失敗を、症状→原因→対処→確認コマンドの形でまとめます。
1) PR でレビューが実行されない(fork PR で secrets が使えない)
- 症状:
- PR にコメントが投稿されない
OPENAI_API_KEYを設定しているはずなのに LLM が使われない
- 原因:
- fork からの PR では GitHub の仕様で secrets が渡らない(安全のため)
- 対処:
- 外部コントリビューターの PR で実行したい場合は、イベント(
pull_request_targetなど)と権限設計を見直す(注:pull_request_targetはセキュリティリスクを伴うため慎重に利用してください) - まずは
dry_run: trueで「動線だけ」確認する
- 外部コントリビューターの PR で実行したい場合は、イベント(
- 確認コマンド:
river doctor .
2) 差分が検出されない(merge-base が取れない / fetch-depth 不足)
- 症状:
No changes to review compared to main.のように表示される- Actions でも差分が空扱いになる
- 原因:
actions/checkoutのfetch-depthが浅いと merge-base が安定して取れない
- 対処:
actions/checkoutにfetch-depth: 0を設定する
- 確認コマンド:
git fetch --all --tags
git merge-base HEAD origin/main
3) planner を指定したのにスキップされる
- 症状:
Planner: order skipped (OPENAI_API_KEY...)のように表示される
- 原因:
OPENAI_API_KEY(またはRIVER_OPENAI_API_KEY)が未設定dry_run: true(外部呼び出し抑止)
- 対処:
dry_run: falseにして secrets を設定する- まずは
planner: offで決定論の経路が安定しているか確認する
- 確認コマンド:
river run . --planner order --debug
4) スキルが選ばれない / ほとんどスキップされる
- 症状:
Selected skills (0)になる- スキップ理由に
missing inputContext/missing dependenciesが出る
- 原因:
RIVER_AVAILABLE_CONTEXTS/RIVER_AVAILABLE_DEPENDENCIESが不足している- フェーズ(
--phase/phase)やapplyToが差分に合っていない
- 対処:
- 必要な context/dependency を宣言する(またはスタブを有効化する)
--phaseを見直す
- 確認コマンド:
river run . --debugRIVER_DEPENDENCY_STUBS=1 river run . --debug
5) PR へのコメント投稿が失敗する(権限不足)
- 症状:
- Actions のログに権限エラーが出る
- コメントが投稿されない
- 原因:
- workflow の
permissionsが不足している(例:pull-requests: write/issues: write)
- workflow の
- 対処:
- workflow に必要な
permissionsを追加する
- workflow に必要な
- 確認コマンド:
gh workflow view(権限設定の確認)