ワンクリックで
review-poll
codex auto-review (chatgpt-codex-connector[bot]) の reactions / reviews を polling して PASS / RETRY / BACK_FALLBACK を判定する。GitHub 限定。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
codex auto-review (chatgpt-codex-connector[bot]) の reactions / reviews を polling して PASS / RETRY / BACK_FALLBACK を判定する。GitHub 限定。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| description | codex auto-review (chatgpt-codex-connector[bot]) の reactions / reviews を polling して PASS / RETRY / BACK_FALLBACK を判定する。GitHub 限定。 |
| name | review-poll |
| exec_script | kaji_harness.scripts.review_poll_entry |
GitHub chatgpt-codex-connector[bot] (id 199175422) の auto-review シグナルを polling し、
verdict を出力する skill。review skill との二重起動を避け、auto-review クレジット不足時のみ
BACK_FALLBACK 経由で既存 review skill (codex agent) に fallback させる。
本 skill は LLM agent を起動しない deterministic skill であり、kaji_harness.scripts.review_poll_entry
module を直接 subprocess 実行する。entry module が env から PR 情報を解決し、polling 本体
kaji_harness.scripts.codex_review_poll に委譲する。
起動経路は 2 系統あり、いずれも同じ entry module に合流する:
dev / dev-thorough / docs):
各 YAML が exec: [kaji, pr, review-poll] で installed kaji CLI 経由で起動し、
CLI 側 (kaji pr review-poll) が同 entry module(review_poll_entry.main)へ委譲する。
dispatch の正本は YAML 側の exec step であり、agent / model / effort はスキーマレベルで
指定不可(指定すると kaji validate が reject)。対象 repo の Python 環境ではなく installed
kaji CLI 経由で起動するため可搬性が高い。exec_script: kaji_harness.scripts.review_poll_entry
が契約となり、harness が同 entry module を python -m で subprocess 実行する。どちらの経路でも、入力(env)/ verdict 仕様の正本は entry module(review_poll_entry)であり、
本ファイルの記述はその契約のミラーである。
| タイミング | このスキル |
|---|---|
| PR 作成後、codex auto-review が走っている GitHub 環境 | ✅ 必須 |
provider.type='local' 配下 | ❌ ABORT verdict |
review-poll で BACK_FALLBACK を受けた場合 | 既存 review skill (codex agent) に進む |
ワークフロー内の位置: i-pr → [PR 作成] → review-poll(builtin workflow では exec step として起動)→ (PASS=close / RETRY=pr-fix / BACK_FALLBACK=review fallback)
| env 変数 | 必須 | 説明 |
|---|---|---|
KAJI_ISSUE_ID | ✅ | PR 解決の検索キー |
KAJI_PROVIDER_TYPE | ✅ | github 以外は ABORT |
KAJI_GIT_REMOTE | ✅ | owner/repo 解決 (git remote get-url) |
KAJI_WORKTREE_DIR | ✅ | git remote get-url 実行 cwd |
KAJI_PR_ID | 任意 | harness 側で解決済みの場合のみ。未設定なら kaji pr list で取得 |
これらの env は entry module(review_poll_entry)が正本として解釈する。builtin workflow の
exec step は agent / model / effort をスキーマで拒否するため、これらを指定する余地はない。
| 観測 | verdict |
|---|---|
bot による +1 reaction かつ +1.created_at >= head_committed_at (freshness guard) | PASS |
bot による COMMENTED review (body は body.lstrip().startswith("### 💡 Codex Review") で判定) かつ commit_id == head_sha | RETRY |
NO_REACTION_TIMEOUT_SEC (60s) 経過しても上記いずれも観測されず(stale +1 のみ存在も含む) | BACK_FALLBACK |
IN_PROGRESS_TIMEOUT_SEC (1800s) 経過しても結論が出ない、または GitHub API 連続失敗 | ABORT |
完了済み COMMENTED review は reactions API では検出できない(reactions は現在値のみ)が、
reviews API は履歴を返すため commit_id == head_sha で workflow 起動前の auto-review を
検出可能(PR #176 シナリオ)。
bot 識別は id 一致(199175422)を主、login を副チェックにする。
kaji_harness/scripts/codex_review_poll.py の定数:
| 名前 | 値 | 用途 |
|---|---|---|
POLL_INTERVAL_SEC | 10 | GitHub API 呼び出し間隔 |
NO_REACTION_TIMEOUT_SEC | 60 | bot reaction 無しのまま経過 → BACK_FALLBACK |
IN_PROGRESS_TIMEOUT_SEC | 1800 | eyes 観測後の全体 cap → ABORT |
EYES_GRACE_SEC | 10 | eyes 消失後の伝搬待ち |
entry module / polling 本体が ---VERDICT--- ブロックを stdout に出力する:
| status | 条件 |
|---|---|
| PASS | bot +1 reaction を観測 |
| RETRY | 現在 head に対する bot COMMENTED review を観測 |
| BACK_FALLBACK | timeout までいずれも観測されず → review step に fallback |
| ABORT | provider mismatch / PR 未解決 / head 情報欠落 / remote url parse 失敗 / GitHub API 連続失敗 / IN_PROGRESS_TIMEOUT 超過 |
deterministic script のため verdict 出力後は 必ず return 0 で終了する。catastrophic 失敗
(gh CLI 不在 / 通信不能等)は raise させ、harness が ScriptExecutionError で fail-loud
扱いとする(Issue #204 設計書 § exit code と verdict の優先順位)。
規約: 本 skill 出力に auto-close hazard pattern(
Clos(e[sd]?|ing)/Fix(e[sd]|ing)?/Resolv(e[sd]?|ing)/Implement(s|ing|ed)?の直後#[0-9])を 書かない。
設計書(draft/design/)に基づき、TDD(テスト駆動開発)アプローチを用いて機能を実装する。
実装完了後の成果物に対し、設計整合性とコード品質の観点から厳格なレビューを実施する
Issue 作成後・workflow 起動前に人間が明示起動する要件 interview。one-way door を含みうる重要な Issue で、未決の decision tree を 1 問ずつ推奨案付きで確認し、決定事項と provenance を Issue に固定するときだけ使用する。軽微な Issue や workflow 実行中には自動起動しない。
第2層のインシデント調査レビュー収束サイクルを 1 コマンドで手動起動する slash command wrapper。kaji run .kaji/wf/official/incident.yaml <incident_issue_id> を Bash 経由で起動し、exit code を verdict に縮約する。
Issue要件に基づき、draft/design/に設計書を作成する。worktree内での作業が前提。
ワークフローを手動実行して検証し、失敗時は継続せず原因を調査して Issue に記録する。成功時も気づきや詰まりどころを Issue に記録する。