Compare commits

..

2 Commits

Author SHA1 Message Date
AI Review Bot acb3604cda chore: update ai-review findings [ai-review-bot][success] 2026-05-15 15:34:01 +00:00
jiantw83 38a3349e4f chore: refine pipeline stage logs 2026-05-15 15:32:43 +00:00
2 changed files with 4 additions and 6 deletions
+2 -2
View File
@@ -11,13 +11,13 @@
"role": "Leo",
"location": "app/log.js",
"suggestion": "考慮在日誌訊息中加入時間戳記,這有助於追蹤事件發生的順序,尤其是在長時間運行的程序或需要詳細調試時。可以在每個日誌函式內部自動添加時間戳記。",
"is_new": true
"is_new": false
},
{
"level": "info",
"role": "Leo",
"location": "app/log.js:19",
"suggestion": "在 `warn` 函式中使用 `console.warn` 而非 `console.log`。雖然目前功能相同,但 `console.warn` 在某些環境下(例如瀏覽器開發者工具)會以不同的樣式呈現警告訊息,有助於區分不同嚴重程度的日誌。",
"is_new": true
"is_new": false
}
]
+2 -4
View File
@@ -76,7 +76,7 @@ async function main() {
}
ok(`Step2 完成: 新 findings 總計 ${newFindings.length}`);
step('Step3', 'Findings 合併');
step('Step3', 'Findings 合併與語意去重');
let repoDir;
try {
repoDir = cloneRepo(WORKSPACE);
@@ -90,11 +90,9 @@ async function main() {
const oldFindings = loadOldFindings(repoDir || WORKSPACE);
const mergedFindings = mergeFindings(oldFindings, newFindings);
ok(`Step3 merged findings total=${mergedFindings.length}`);
step('Step3b', 'AI 語意去重');
const deduped = await deduplicateWithAI(mergedFindings);
const sorted = sortByLevel(deduped);
ok(`Step3b dedup findings total=${sorted.length} (critical=${sorted.filter(f=>f.level==='critical').length} warning=${sorted.filter(f=>f.level==='warning').length} info=${sorted.filter(f=>f.level==='info').length})`);
ok(`Step3 去重完成: ${mergedFindings.length} -> ${sorted.length} (critical=${sorted.filter(f=>f.level==='critical').length} warning=${sorted.filter(f=>f.level==='warning').length} info=${sorted.filter(f=>f.level==='info').length})`);
step('Step4', 'AI 排除問題過濾');
const exclusions = loadExclusions(repoDir || WORKSPACE, repoState);