Jeffery
|
2d3128eb45
|
docs(token): 收斂 token 權限建議並移除 README 行號連結
|
2026-07-28 14:02:18 +08:00 |
|
Jeffery
|
db83b54c2d
|
perf(gitrepo): 改用 shallow 檔案判斷避免額外 git 子行程
|
2026-07-28 14:02:06 +08:00 |
|
Jeffery
|
3c1cd55444
|
fix(diagnostics): 限縮 debug 診斷輸出並擴充遮罩
|
2026-07-28 14:02:01 +08:00 |
|
Jeffery
|
449b17480b
|
fix(ai-review): 結果推送失敗時回報工作流失敗
|
2026-07-21 17:21:57 +08:00 |
|
Jeffery
|
1f012c6cfb
|
refactor(gitref): 將分支名稱驗證改為正式模組
|
2026-07-21 16:26:30 +08:00 |
|
Jeffery
|
75ca8cdb83
|
refactor(ai-review 診斷): 收斂失敗輸出處理與推送註解
|
2026-07-21 15:57:53 +08:00 |
|
Jeffery
|
aaf2e484d5
|
fix(ai-review): 避免建問題模式阻擋失效與連結累積
|
2026-07-21 15:57:53 +08:00 |
|
Jeffery
|
9d05af647b
|
fix(ai-review): 對齊建問題模式留言順序與命名
|
2026-07-21 14:39:42 +08:00 |
|
Jeffery
|
555611db07
|
fix(ai-review): 避免建問題模式嚴重結果 fail-open
|
2026-07-21 14:24:04 +08:00 |
|
Jeffery
|
6a26984bee
|
fix(ai-review): 強化安全防護與建問題留言處理
|
2026-07-21 13:46:39 +08:00 |
|
 JefferyandClaude Opus 4.8
|
5ac73f290e
|
refactor(review): 診斷輸出長度常數提升為模組層級
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Claude) (pull_request) Successful in 32s
CI / TEST (Antigravity) (pull_request) Successful in 49s
CI / TEST (Codex) (pull_request) Successful in 2m22s
依議題 #24 Bard 建議,將 agentFailureDetail 內的 INPUT_LIMIT/
AGENT_DIAGNOSTIC_OUTPUT_LIMIT 移至模組頂層,與既有 PER_FILE_DIFF_LIMIT/
TOTAL_DIFF_LIMIT 並列集中管理;值與行為不變。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 18:43:06 +08:00 |
|
 JefferyandClaude Opus 4.8
|
cc9c8afed7
|
docs(ai-review): 同步 JSDoc 對 main() 閉包改名的引用
配合 postComment/ensureIssueCreated 改名,更新 gitea.js 與 templates.js
JSDoc 內對兩個閉包的引用名稱。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 18:04:23 +08:00 |
|
 JefferyandClaude Opus 4.8
|
0c108ab7f9
|
refactor(ai-review): 重新命名留言閉包並抽出診斷輸出長度常數
- postComment → queueOrPostComment:涵蓋建問題模式下可能只暫存不立即發布的語義。
- ensureIssueCreated → createIssueAndFlushBufferedComments:明示建立 issue 並清空暫存留言的完整行為。
- review.js agentFailureDetail 的 500 字上限抽為具名常數 AGENT_DIAGNOSTIC_OUTPUT_LIMIT。
純內部命名與可讀性調整,無外部行為變更。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 18:04:23 +08:00 |
|
 JefferyandClaude Opus 4.8
|
83dd56f37f
|
fix(resolveMergeBase): deepen HEAD 改以目前 HEAD 的 SHA 補抓 PR head 歷史
原策略 fetch 遠端符號 HEAD,會被伺服器解析為遠端預設分支,
只加深預設分支歷史、補不到目前 checkout 的 PR head,淺層時仍可能算不出 merge-base。
改先 rev-parse 取得 HEAD 的 commit SHA,以該 SHA 加深 PR head 側歷史。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 18:04:23 +08:00 |
|
 JefferyandClaude Opus 4.8
|
b5264141c4
|
fix(推送觸發 CI): push 前重置 checkout 的自動 token extraheader,改以 PAT 身分推送
node-actions/template: CI / BUILD (pull_request) Successful in 3s
CI / TEST (Claude) (pull_request) Successful in 32s
CI / TEST (Antigravity) (pull_request) Successful in 52s
CI / TEST (Codex) (pull_request) Successful in 2m38s
checkout 於 http.<serverUrl>/.extraheader 持久化自動 Actions token;沿用它推送會被
Gitea 視為自動 token 觸發而不再觸發 workflow。改為推送前於同 scope 先空值重置、再注入
PAT 的 Authorization,使 findings 結果 commit 以 PAT 身分推送、觸發 PR synchronize。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 17:51:21 +08:00 |
|
 JefferyandClaude Opus 4.8
|
c63b1a6da2
|
perf(resolveMergeBase): 先 deepen base/HEAD,--unshallow 降為最後手段
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 17:40:50 +08:00 |
|
 JefferyandClaude Opus 4.8
|
3ef8a30291
|
fix(結果回報): 審查本輪不直接 exit 1,失敗只由步驟 1 讀結果 commit 訊息回報
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Claude) (pull_request) Successful in 29s
CI / TEST (Antigravity) (pull_request) Successful in 56s
CI / TEST (Codex) (pull_request) Successful in 2m59s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 17:33:20 +08:00 |
|
 JefferyandClaude Opus 4.8
|
b277ff2f7c
|
fix(建問題模式): 僅在有嚴重問題時讓 PR 相依於 issue,警告/建議不阻擋合併
node-actions/template: CI / BUILD (pull_request) Successful in 4s
CI / TEST (Claude) (pull_request) Successful in 27s
CI / TEST (Antigravity) (pull_request) Successful in 1m2s
CI / TEST (Codex) (pull_request) Failing after 3m16s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 17:28:43 +08:00 |
|
 JefferyandClaude Opus 4.8
|
05178be520
|
fix(推送觸發 CI): 合併 push-token 進 token,findings 一律以 token 認證推送觸發 CI
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Claude) (pull_request) Successful in 28s
CI / TEST (Antigravity) (pull_request) Successful in 57s
CI / TEST (Codex) (pull_request) Successful in 3m10s
- 移除 push-token input,token 兼作 Gitea API 認證與 findings 推送
- commitAndPushFindings 一律以 token 明確認證推送(不走 origin 自動 token);
只要 token 為能觸發 CI 的 PAT,結果 commit 即再觸發 PR 的 CI,避免新 head 缺檢查卡合併
- ci.yaml 三個 job 移除 push-token,保留 token: ${{ secrets.TOKEN }}
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 17:24:18 +08:00 |
|
 JefferyandClaude Opus 4.8
|
491c170d36
|
fix(AI 失敗診斷): 失敗時預設併印遮罩後 stdout(claude-code 錯誤寫在 stdout)
node-actions/template: CI / BUILD (pull_request) Successful in 4s
CI / TEST (Codex) (pull_request) Successful in 2m23s
CI / TEST (Claude) (pull_request) Successful in 17s
CI / TEST (Antigravity) (pull_request) Successful in 54s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 16:37:15 +08:00 |
|
 JefferyandClaude Opus 4.8
|
71b93a885a
|
fix(AI 失敗診斷): CLI 失敗預設輸出經遮罩的 stderr 片段以利除錯
node-actions/template: CI / BUILD (pull_request) Successful in 4s
CI / TEST (Claude) (pull_request) Successful in 23s
CI / TEST (Antigravity) (pull_request) Failing after 40s
CI / TEST (Codex) (pull_request) Failing after 2m39s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 16:17:59 +08:00 |
|
 JefferyandClaude Opus 4.8
|
0a51affa72
|
refactor(gitea client): 移除無呼叫端的 addLabelsToIssue
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 16:01:05 +08:00 |
|
 JefferyandClaude Opus 4.8
|
f341dc6e07
|
perf(AI 失敗診斷): 除錯輸出先截長度上限再遮罩降低掃描成本
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 16:01:05 +08:00 |
|
 JefferyandClaude Opus 4.8
|
8349fe8b71
|
fix(推送結果 commit): 帶認證推送改經 env 傳入並遮蔽 push 失敗錯誤
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 16:01:05 +08:00 |
|
 JefferyandClaude Opus 4.8
|
cfbbbe5f6c
|
docs(review): 修正 postSevereToIssue 註解為建問題模式警告/建議逐條留言
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Antigravity) (pull_request) Failing after 33s
CI / TEST (Claude) (pull_request) Successful in 22s
CI / TEST (Codex) (pull_request) Failing after 2m55s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 15:41:17 +08:00 |
|
 JefferyandClaude Opus 4.8
|
dbeb56589c
|
docs(templates): 角色登場步驟編號統一為 5/7
解決議題 #7 🔵 建議(Bard/style):focusLabel 與 rolesComment 文件仍標「步驟 5/6」,但角色登場已調整為攻擊方步驟 5、防守方步驟 7;統一改為 5/7 與鄰近模板文件一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 15:00:32 +08:00 |
|
 JefferyandClaude Opus 4.8
|
d3a09d892e
|
feat(push-token): 新增 push-token 輸入以 PAT 推送結果 commit 觸發 CI
以自動 token(gitea.token/GITHUB_TOKEN)推送的 commit 不會再觸發 CI,導致新 head 缺檢查而卡合併;新增 push-token(PAT)由呼叫端以 secrets 傳入,改以 PAT 身分推送使 PR synchronize 事件再觸發 CI,由步驟 1 快速回報把結果蓋到新 head。留空=退回 token 走 origin 推送。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 15:00:23 +08:00 |
|
 JefferyandClaude Opus 4.8
|
e44a8ed0cb
|
feat(建問題模式): PR 相依追蹤 issue、標籤建立時帶入、議題問題逐條可回覆
整併議題 #7 的建問題模式流程調整與多項 findings 修復(index.js、gitea.js 交錯同檔,整檔歸此)。
- addIssueDependency:建立追蹤 issue 後讓 PR 相依於該 issue,issue 關閉前無法合併(需 repo 啟用問題相依)。
- 🔵 #10(Rogue/efficiency):標籤改於建立 issue 前先 selectLabels、createIssue 時一次帶入,移除事後 addLabelsToIssue 補掛的多餘 API 往返(addLabelsToIssue 保留為通用工具)。
- 使用者補充:建問題模式警告+建議改逐條發到 issue(postOthersToIssue),每條問題可個別回覆。
- 🔴 #1(Mage/logic)+使用者補充:resolveOldComments 延後到審查成功產生結果、發布問題留言前才執行,並以 currentRunCommentIds 排除本回合新留言,避免前置步驟失敗時舊結果被清卻無新結果。
- 🔵 #9(Bard/style):修正「無保留問題」段落註解與實作(靜默通過、不留言)一致。
- 同步更新相關 JSDoc(含 gitea.js listLabels/createIssue/addLabelsToIssue 使用情境)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 15:00:15 +08:00 |
|
 JefferyandClaude Opus 4.8
|
35887f1a68
|
refactor(resolveMergeBase): 補抓歷史每步早停並彙整策略診斷
解決議題 #7 🟠 警告(Leo/maintainability、Rogue/efficiency):resolveMergeBase 原先無條件連做 --unshallow 與兩次 --deepen,且忽略各次 fetch 成敗、只把首次 merge-base 錯誤設為 cause。
- 改為資料驅動策略清單,每個補抓策略成功後立即重試 merge-base,一成功即回傳,避免多餘遠端往返(--unshallow 成功就不再 deepen)。
- 全部用盡才拋錯,訊息彙整各策略成功/失敗診斷(僅策略名與成敗,不含 git 原始輸出以免洩漏遠端資訊),並以 error.cause 保留首次錯誤。
- 本檔另含既有的 push-token(PAT)推送參數 pushToken(feat),維持原推送降級行為。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 14:59:49 +08:00 |
|
 JefferyandClaude Opus 4.8
|
5c8332928b
|
fix(ai-review 診斷輸出): AI 失敗預設不輸出原始 stdout/stderr、除錯開關下遮罩機密
解決議題 #7 🔴 嚴重(Assassin/security):agentFailureDetail 原本無遮罩擷取 stderr/stdout 各 500 字寫入 CI log,可能長期外洩 token、PII 或原始碼祕密。
- 預設只輸出 exit code/signal/killed 等不含機密的分類資訊。
- 僅在明確開啟 ACTIONS_STEP_DEBUG=true 時,才附上經新增 redactSecrets 遮罩(Authorization/token/URL 帳密/長金鑰)並去除控制字元的片段。
- 另新增 postOthersToIssue:建問題模式下警告+建議改逐條發到 issue,讓每條問題可個別回覆(feat,配合 index.js)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 14:59:38 +08:00 |
|
Jeffery
|
4a68743b66
|
chore(審查記錄): AI 失敗時輸出 exit code 與 stderr/stdout 供診斷
node-actions/template: CI / BUILD (pull_request) Successful in 4s
CI / TEST (Claude) (pull_request) Successful in 28s
CI / TEST (Codex) (pull_request) Successful in 29s
CI / TEST (Antigravity) (pull_request) Failing after 33s
|
2026-07-20 13:41:41 +08:00 |
|
Jeffery
|
94b32737c5
|
feat(建問題模式): 無問題時靜默通過,不在 PR 留任何審查留言
node-actions/template: CI / BUILD (pull_request) Successful in 4s
CI / TEST (Claude) (pull_request) Successful in 24s
CI / TEST (Codex) (pull_request) Successful in 27s
CI / TEST (Antigravity) (pull_request) Failing after 33s
|
2026-07-20 12:06:21 +08:00 |
|
Jeffery
|
91fff79f22
|
feat(建問題模式): 審查留言改發到 issue、跳過舊留言處理並回貼 PR 連結
|
2026-07-20 11:24:48 +08:00 |
|
Jeffery
|
8662e8ca80
|
docs(審查步驟編號): 依新順序重編步驟編號與說明
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Claude) (pull_request) Successful in 27s
CI / TEST (Codex) (pull_request) Successful in 31s
CI / TEST (Antigravity) (pull_request) Failing after 36s
|
2026-07-20 09:46:12 +08:00 |
|
Jeffery
|
d751cee69d
|
refactor(審查流程): 將舊留言標記移到偵測 AI 工具之前
|
2026-07-20 09:46:12 +08:00 |
|
Jeffery
|
c4c23d4531
|
fix(gitrepo): 補抓淺層 checkout 的 base 歷史
node-actions/template: CI / BUILD (pull_request) Successful in 4s
CI / TEST (Codex) (pull_request) Successful in 31s
CI / TEST (Claude) (pull_request) Successful in 30s
CI / TEST (Antigravity) (pull_request) Failing after 33s
|
2026-07-17 19:02:42 +08:00 |
|
Jeffery
|
3fe643c003
|
docs(doc-funcs): 補齊 action 與 workflow 文件
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Codex) (pull_request) Failing after 28s
CI / TEST (Claude) (pull_request) Failing after 27s
CI / TEST (Antigravity) (pull_request) Failing after 34s
|
2026-07-17 18:54:00 +08:00 |
|
 JefferyandClaude Fable 5
|
d08b97bd87
|
feat(ai-code-review): 新增 AI 多角色 code review action(攻防審查、findings 保存、建問題模式)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-17 16:53:27 +08:00 |
|
jiantw83
|
6a0573b7c0
|
Initial commit
|
2026-07-17 03:23:48 +00:00 |
|