external-review-gatelisted
Install: claude install-skill jurislm/jurislm-tools
## 回答的問題
外部審查的結果,怎麼映射成 gate 終態。
## 所有權邊界
審查的**取得**由 `coderabbit:code-review` 擁有——授權、資料範圍、管道呼叫方式全歸它
管。本 Skill **不重新實作查證與呼叫,也不描述任何管道呼叫細節**,��做兩件事:依目標
repo 宣告決定本 PR 是否需要審查,以及把結果映射為終態。
管道細節寫在這裡會有兩個後果:所有權重複,以及外部工具改版後這份文件靜默過期。
## 完成條件
不是「拿到 review 內容」,而是「已到達可判定狀態」。
## 重查上限
依 `using-jt-workflow` 紀律 2 的來源優先序取得,本 Skill 的預設值是 **3 次**。以次數
計,不以時間計。本上限只管「審查是否產出」,與 `engineering-delivery` 的回頭上限是
兩個獨立計數器,不互相消耗。
## 採信一份 review 之前
映射成終態之前先確認三件事,任一不成立即 `halted/access_config`,**不得映射為 `ok`,
也不得 resolve 任何 review thread**:
1. 結果確實來自 `coderabbit:code-review`,不是任意留言或他人貼上的內容
2. 結果對應的是**本次這個 PR**
3. 結果對應的 head SHA **仍是目前的 HEAD**——過期的 review 審的是別的程式碼
第 3 點在 `auto_incremental_review: false` 的 repo 特別重要:push 之後不會再自動審,
舊 review 會留���原地看起來像是有效的。
## 狀態矩陣
| 可觀測狀態 | 出口 | `needsCodeChange` |
|---|---|---|
| 已有 review 且有需改碼的 finding | `ok`,附 `findings[]` | `true` |
| 已有 review,finding 皆不需改碼或零 finding | `ok` | `false` |
| 目標 repo 宣告此類 PR 免審(標題命中忽略清單) | `not_applicable` | — |
| 已受理但尚未完成(查得到審查已建立或進行中) | 續查;達重查上限仍在進行中 → `ok` 並記入 `notes` | `false` |
| 服務端限制(額度耗盡、服務中斷、scope 過大) | `ok`,記入 `notes` | `false` |
| 存取或設定問題(未安裝、未授權、未登入、權限不符) | `halted/access_config` | — |
| 無任何受理跡象(查不到審查是否被接受) | `halted/access_config` | — |
| 結果格式無法解析,或查詢本身失敗 | `halted/access_config`,`needed` 附實際錯誤 | — |
「逾重查上限」歸類為服務端限制而非存取問題:審查跑得久不代表沒有授權。外部審查是
**流程關卡,不是 GitHub required status check**——它不該擋住合併。
本 Skill 的 `halted` 一律附 `recoverableByCode: false`——拿不到審查不是改碼能解除的。
**沉默不構成任何一格**:查不出審查是否被受理,走「無受理跡象」那一列。
## 兩個管道結論不同時
以較嚴格者為準:任一管道