56 lines
3.4 KiB
Markdown
56 lines
3.4 KiB
Markdown
# 開發階段 TODO
|
|
|
|
## 階段一:基本流程串接
|
|
- 目標:確保 action 可以被觸發,pipeline 各步驟依序執行,log 出每個主要階段的進入與完成。
|
|
- 驗收:log 中能看到每個階段(如「Step1: pipeline start」、「Step2: findings merge」等)明確訊息,且流程能走完(即使還沒產生 findings)。
|
|
- 完成
|
|
|
|
## 階段二:Findings 產生與合併
|
|
- 目標:各角色(style/security/performance/maintainability/testing)能產生 findings,並正確合併新舊 findings。
|
|
- 驗收:log 中能看到每個角色 findings 數量、合併後 findings 統計,並有「Step3: merged findings total=...」等訊息。
|
|
- 完成
|
|
|
|
## 階段三:AI 去重與角色確認
|
|
- 目標:嘗試呼叫 LLM 進行 findings 去重與角色確認,API 額度不足時要有降級處理 log。
|
|
- 驗收:log 中能看到 deduplication/resolution confirmation 成功或失敗(如 402),降級時有「保留所有問題」等明確訊息。
|
|
- 完成
|
|
|
|
## 階段四:AI 排除問題過濾
|
|
- 目標:讀取排除問題檔案(`.gitea/ai-review/exclusions.json`)進行規則過濾,並呼叫 AI 判斷剩餘問題是否為誤報或不適用,兩層過濾後產生最終問題清單。
|
|
- 驗收:log 中能看到排除問題檔案讀取成功或不存在的訊息、規則過濾數量變化,以及「AI 誤報過濾: N -> M 筆」或降級訊息。
|
|
- 完成
|
|
|
|
## 階段五:findings 寫入與 comment 發布
|
|
- 目標:`.gitea/ai-review/findings.json` 正確寫入,comment 發布順序正確(舊問題→非嚴重→嚴重),每步有 log。
|
|
- 驗收:log 中能看到 `.gitea/ai-review/findings.json` 寫入、comment sync 的詳細訊息與順序。
|
|
- 完成
|
|
|
|
## 階段六:記憶區 commit/push 與錯誤處理
|
|
- 目標:記憶區能成功 commit/push,錯誤時有明確 log,流程結束有總結訊息。
|
|
- 驗收:log 有「persisted findings」、「commit=...」、「push=...」等訊息,錯誤時有「Runner failed: ...」等明確錯誤說明。
|
|
- 完成
|
|
|
|
## 階段七:阻擋嚴重問題 PR(第 8 點)
|
|
- 目標:如果 PR 問題表格中有嚴重(critical)問題,workflow 需直接 exit 1,不讓流程成功。
|
|
- 驗收:log 中能看到「critical 問題存在,workflow 結束(exit 1)」等明確訊息,且 workflow 狀態為失敗。
|
|
- 完成
|
|
|
|
## 階段八:API Key 輪替
|
|
- 目標:所有平台的 API Key 支援逗號分隔傳入多個,隨機順序各嘗試一次,單一 Key 失敗時自動換下一個,全部失敗則 exit 1。
|
|
- 驗收:log 中能看到「key[N/M] 失敗」等訊息,換 key 後繼續執行;傳入單一 Key 時行為與原本相同;全部 Key 失敗時 log「所有 API Key 均失敗,終止流程」且 workflow 狀態為失敗。
|
|
- 完成
|
|
|
|
## 階段九:Git Diff 排除 .gitea/ 資料夾
|
|
- 目標:讀取 Git Diff 時排除 `.gitea/` 資料夾內的所有檔案,避免 AI 分析 workflow 設定等非業務程式碼。
|
|
- 驗收:PR 中有 `.gitea/` 路徑的變更時,diff 內容不包含該路徑的區塊,AI 分析結果不含 `.gitea/` 相關問題。
|
|
- 完成
|
|
|
|
## 階段十:階段五後驗證 JSON 格式
|
|
- 目標:階段五完成後驗證 `findings.json` 與 `exclusions.json` 是否為合法 JSON 格式,驗證失敗則 exit 1。
|
|
- 驗收:log 中能看到兩個檔案的驗證結果(成功或失敗),格式錯誤時有明確錯誤訊息且 workflow 狀態為失敗。
|
|
- 完成
|
|
|
|
---
|
|
|
|
所有階段驗收通過。
|