Skip to content

[Fix] forge:reviewer Agent が run_review_engine.sh を同期実行するよう明記#206

Merged
BlueEventHorizon merged 2 commits into
developfrom
fix/200-reviewer-sync-execution
Jul 15, 2026
Merged

[Fix] forge:reviewer Agent が run_review_engine.sh を同期実行するよう明記#206
BlueEventHorizon merged 2 commits into
developfrom
fix/200-reviewer-sync-execution

Conversation

@BlueEventHorizon

Copy link
Copy Markdown
Owner

概要

  • forge:reviewer Agent が engine=codex 時に run_review_engine.sh をバックグラウンド実行し、完了を待たずに「完了」報告してしまう不具合を修正
  • reviewer.md Phase 4 §engine=codex に同期実行必須の MANDATORY 指示を追記

Closes #200

背景

forge:reviewer Agent が run_review_engine.sh(内部で codex exec を起動、完了まで数分かかる場合がある)を Bash ツールで呼び出す際、モデルが自己判断で run_in_background: true を指定し、完了を待たずにターンを終了する不具合が同一セッション内で2回再現した。結果として findings_<種別>.json が生成されず、レビューが実質的に何も実行されない状態で「完了」報告されていた。

やったこと

  • plugins/forge/agents/reviewer.md Phase 4 §engine=codex に「同期実行必須 [MANDATORY]」を追記し、run_in_background を自己判断で使用してはならないこと、バックグラウンド化しても有効な待機手段が無いことを明記
  • レビュー(/forge:review code --interactive)で発見した以下も併せて修正:
    • DES-029 §6.4 が定める自己再帰禁止マーカーが reviewer.md に欠落していたため追加
    • DES-029 §6.1 の frontmatter サンプル(name: forge:reviewer / model: inherit)が実装(name: reviewer / model: sonnet)と相反していたため、DES-029 側を実装に合わせて修正

やらないこと(このプルリクエストのスコープ外とすること)

  • run_review_engine.sh 本体・呼び出し元の変更(同期呼び出し自体は既に正しく実装されているため不要)
  • Monitor ツールをreviewer Agentのtools allowlistに追加すること(レビュー過程で検討したが、DES-029の設計契約・既存テストとの整合性コストが高く、主指示の徹底で十分なため撤回)

レビュー観点

  • /forge:review code --auto によるAIレビュー(4件のfinding、全件対応済み)を実施済み
  • 単体テスト全件パス(test_agent_frontmatter.py 含む)

レビューレベル

  • Lv0: まったく見ないでAcceptする
  • Lv1: ぱっとみて違和感がないかチェックしてAcceptする
  • Lv2: 仕様レベルまで理解して、仕様通りに動くかある程度検証してAcceptする
  • Lv3: 実際に環境で動作確認したうえでAcceptする

reviewer.md Phase 4 §engine=codex に、run_review_engine.sh を
run_in_background 未指定でフォアグラウンド実行し完了を待つことを
MANDATORY として明記する。Agent が自己判断でバックグラウンド実行に
切り替え、完了を待たずにターンを終了する不具合を防ぐ。

あわせてDES-029 §6.4 の自己再帰禁止マーカー欠落、§6.1 のfrontmatter
サンプル陳腐化(name/model の実装との相違)をレビューで発見し修正。

Closes #200
既存テストは run_review_engine.sh の呼び出し記述の存在しか確認せず、
同期実行指示文を全削除してもパスしていた。run_in_background 禁止・
終了コード待機・バックグラウンド時の待機手段が無いことの明示・完了前
応答禁止の4点を reviewer.md 本文から静的に固定し、モデル判断依存の
確率的不具合の再発を検知できるようにする。
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.

1 participant