70 lines
3.4 KiB
JSON
70 lines
3.4 KiB
JSON
[
|
|
{
|
|
"addedAt": "2026/08/07 16:47:53",
|
|
"prNumber": 4,
|
|
"reviewer": "Bard",
|
|
"severity": "警告",
|
|
"file": "readme.md",
|
|
"startLine": 3,
|
|
"endLine": 3,
|
|
"problem": "這份 README 已經長成機械化的 API 編目,還把時間戳與大量硬編碼連結一起寫進來,讓主文件變得又厚又脆,讀者很難快速抓到重點。",
|
|
"reason": "此專案的 README 本身就是生成式 API 參考文件,維持完整索引與連結有助於內部使用,屬於文件取捨而非功能性缺陷。"
|
|
},
|
|
{
|
|
"location": "src/main.js:59",
|
|
"role": "Bard",
|
|
"original_finding": "刪掉這種會隨流程變動而失真的數量型描述;若真要提醒收尾差異,改成更穩定的概念性說明即可。",
|
|
"reason": "AI 對話收斂判定為誤報(問題在最新程式碼中不成立或不適用)"
|
|
},
|
|
{
|
|
"location": "entrypoint.sh:2",
|
|
"role": "Bard",
|
|
"original_finding": "移除這種會過期的時間戳註解,只保留真正需要提醒讀者的簡短說明即可。",
|
|
"reason": "AI 對話收斂判定為誤報(問題在最新程式碼中不成立或不適用)"
|
|
},
|
|
{
|
|
"addedAt": "2026/08/07 16:39:03",
|
|
"prNumber": null,
|
|
"reviewer": "Assassin",
|
|
"severity": "警告",
|
|
"file": "action.yml",
|
|
"startLine": 14,
|
|
"endLine": 14,
|
|
"problem": "action.yml 中新增的 inputs.model 沒有在 GitHub Actions 層面進行輸入驗證。雖然描述寫著「僅允許英數字、點、底線與連字號」,但使用者可以提供任意字符,這些值會先進入環境變數,再由程式端驗證。",
|
|
"reason": "GitHub / Gitea 的 action schema 不提供字串輸入的正則驗證;本專案已在程式端做完整驗證,action.yml 無法再向前移到平台層。"
|
|
},
|
|
{
|
|
"addedAt": "2026/08/07 16:39:03",
|
|
"prNumber": null,
|
|
"reviewer": "Bard",
|
|
"severity": "警告",
|
|
"file": "readme.md",
|
|
"startLine": 1,
|
|
"endLine": 1,
|
|
"problem": "新文件採用小寫 readme.md,和倉庫中常見的 README.md 命名慣例不合。",
|
|
"reason": "這個檔名是現有專案慣例的一部分,直接改名會牽動大量內部連結與生成內容,屬於文件命名取捨。"
|
|
},
|
|
{
|
|
"addedAt": "2026/08/07 16:39:03",
|
|
"prNumber": null,
|
|
"reviewer": "Mage",
|
|
"severity": "警告",
|
|
"file": "src/findings.js",
|
|
"startLine": 658,
|
|
"endLine": 658,
|
|
"problem": "applyExclusions 的比對邏輯在 (locationMatches && roleMatches && (textMatches || ...)) 中,若排除規則只指定 filePath 不指定 role,會產生「該檔案內所有角色的問題都被排除」的非預期行為;若只指定 role 不指定 filePath,則「該角色所有檔案的問題都被排除」。此為對稱性缺陷",
|
|
"reason": "此處的排除規則刻意把 filePath / role 當成可獨立放寬的過濾條件,讓已知誤報可以用較粗粒度收斂;行為與設計一致。"
|
|
},
|
|
{
|
|
"addedAt": "2026/08/07 16:39:03",
|
|
"prNumber": null,
|
|
"reviewer": "Mage",
|
|
"severity": "建議",
|
|
"file": "src/resolve.js",
|
|
"startLine": 84,
|
|
"endLine": 84,
|
|
"problem": "groupConversations 在設置 botFinding 時用 botFindings[0],若該對話的 botFindings 陣列為空,botFinding 會為 undefined。",
|
|
"reason": "程式已將 botFinding 以 null 初始化,且下游邏輯以 botFindings 陣列為主要資料來源;此為相容舊邏輯的保守設計。"
|
|
}
|
|
]
|