chore(ai-review): 更新 findings 與 exclusions 解決狀態
CI / AI Code Review (pull_request) Failing after 39s

This commit is contained in:
Jeffery
2026-06-26 14:14:30 +08:00
parent cde327bbe0
commit 8f5c510add
2 changed files with 32 additions and 44 deletions
+30
View File
@@ -82,5 +82,35 @@
"role": "Rogue",
"original_finding": "頻繁寫入讀取 opencode.json 設定檔造成無謂的 I/O;建議透過參數或環境變數傳入配置。",
"reason": "summarize 每次 action 執行僅呼叫一次,並非「頻繁」;opencode 以 OPENCODE_CONFIG 指向設定檔為其官方配置介面,寫入單一小檔的 I/O 可忽略。"
},
{
"location": "app/index.js:80",
"role": "Bard",
"original_finding": "分支命名格式若目標分支名稱過長,可能導致總長度超過 Git 限制;建議確保不超過 255 字元。",
"reason": "buildResolveBranchName 已將主體截斷至 MAX_BRANCH_STEM_LENGTH180),連同前綴 `resolve-conflict/`17)與 runId 後綴,總長度約 207,遠低於 Git 的 255 上限,已滿足建議。"
},
{
"location": "app/index.js:52",
"role": "Mage",
"original_finding": "opencode 失敗時,若相關資訊皆為空,fallback 機制產出的 PR 描述將空洞無效;建議檢查輸出內容或拋錯。",
"reason": "fallbackSummary 的 title 在無 commit 時退回 `Merge <source> into <target>`description 恆包含固定結構標題(## 變更摘要、### Commits、### 變更檔案)與 `(無)` 佔位,不會產生空字串;PR 仍具基本可讀內容,非缺陷。"
},
{
"location": "app/lib/util.js:11, 13",
"role": "Bard",
"original_finding": "run 函式 Buffer 大小硬編碼,缺乏靈活性,且針對極端巨大輸入缺乏保護。",
"reason": "maxBuffer64MB)為刻意的上限保護而非預先配置;本 action 於即拋容器內執行,將其抽為環境變數只增配置面而無實益。等同已收錄的 util.js:14 排除(同一機制)。"
},
{
"location": "app/index.js:176",
"role": "Bard",
"original_finding": "PR 已存在時僅記錄 log.info,CI 流程中可能需要更明確的提示;建議改用 log.warn 或 log.notice。",
"reason": "「PR 已存在」是冪等重跑下的正常且預期結果,log.info 語意正確;改為 warn 會在正常流程中產生誤導性警告雜訊,屬偏好而非缺陷。"
},
{
"location": "app/lib/git.js:32",
"role": "Leo",
"original_finding": "Sensitive Token 處理耦合在 Git 類別中,且未驗證有效性;建議將遮蔽邏輯交由 util.js 或於初始化時驗證。",
"reason": "token 遮蔽邏輯已實作於 util.js 的 maskSecrets 並由 Git 類別重用(非重複實作);token 存在性已於 inputs.js 的 required('GITEA_TOKEN') 驗證。Git 持有 token 以組 http.extraheader 為必要,耦合度可接受。"
}
]