48 lines
2.0 KiB
JSON
48 lines
2.0 KiB
JSON
[
|
|
{
|
|
"level": "critical",
|
|
"role": "Maya",
|
|
"location": "app/index.js:1, 52, 58",
|
|
"problem": "核心邏輯完全缺乏自動化測試。自動解衝突流程直接 commit 但缺乏對人工解衝突後正確性、以及對 build/test 結果的驗證,且 `createPull` 錯誤處理可能因 JSON 解析問題導致行為異常。",
|
|
"suggestion": "建立完整的單元與整合測試架構。在建立解衝突分支並合併後,執行專案的建置指令或測試指令,並增強對 API 回傳錯誤的解析與處理。"
|
|
},
|
|
{
|
|
"level": "critical",
|
|
"role": "Maya",
|
|
"location": "app/lib/git.js:106",
|
|
"problem": "detectConflict 執行 git 合併失敗後的 abort 嘗試若失敗,會導致工作區殘留錯誤狀態,且未經測試。",
|
|
"suggestion": "增加測試案例模擬 git 合併失敗與 abort 失敗的場景,確保狀態正確復原。"
|
|
},
|
|
{
|
|
"level": "warning",
|
|
"role": "Maya",
|
|
"location": "app/index.js:114, 126",
|
|
"problem": "diff 截斷邏輯與 fallbackSummary 處理邊界情況缺乏測試。",
|
|
"suggestion": "補上針對 truncateDiff 及 commitMessages 為空/null 時的測試案例。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "info",
|
|
"role": "Maya",
|
|
"location": "app/index.js:150",
|
|
"problem": "缺乏測試案例驗證 fallbackSummary 的結果是否符合預期格式。",
|
|
"suggestion": "補上單元測試,驗證 fallbackSummary 在不同輸入下的產出格式。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "info",
|
|
"role": "Maya",
|
|
"location": "app/lib/opencode.js:176",
|
|
"problem": "缺乏單元測試驗證 `extractResult` 對非標準 JSON 的解析能力。",
|
|
"suggestion": "補上單元測試,驗證 extractResult 能否正確解析壞 JSON。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "info",
|
|
"role": "Assassin",
|
|
"location": "app/lib/opencode.js:77",
|
|
"problem": "傳遞整個 `process.env` 導致敏感環境變數暴露。",
|
|
"suggestion": "明確篩選並只傳遞必要環境變數。"
|
|
}
|
|
]
|