OG T
1ae9e9f389
CD Pipeline / build-and-deploy (push) Successful in 10m7s
fix(code-review): P0-1 action fallback 語意修正 + P1-2 reason enum + P2-2 secops 清洗
Code Review 發現 (2026-04-17 首席架構師審查):
P0-1 auto_approve.py 條件 1d 語意修正:
- 原:用 `action` 變數(已 fallback = action or kubectl_command)做 kubectl 判斷
→ action="" + kubectl_command="kubectl get pods" → action="kubectl get pods" → 1d 通過
→ _kubectl_cmd 與 action 同值(重複判斷同一來源),掩蓋 action 本身是自然語言的情況
- 修:改用 proposal_data.get("action", "") 原始值(_raw_action)
→ 直接檢查 action 欄位本身,邏輯語意明確
P1-2 auto_approve.py NO_EXECUTABLE_ACTION 新增:
- 新增 AutoApproveReason.NO_EXECUTABLE_ACTION enum 值
- 條件 1d 改用此 reason(原 NO_PLAYBOOK 語意為「無匹配 Playbook」,不適用此場景)
- 避免污染 KM 飛輪學習資料的根因分類(ADR-068)
P2-2 decision_manager.py secops 分支:
- threat_behavior 改用 _parse_debate_summary → 取 diagnosis 欄位
- 與 BUG-A/BUG-C 修復一致,不再傾倒完整 debate_summary 前 150 字
ADR-082: Phase 2 多 Agent 協作
2026-04-17 ogt + Claude Sonnet 4.6(亞太): Code Review 後修正
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 15:23:35 +08:00
..
2026-03-25 16:08:49 +08:00
2026-04-09 15:05:16 +08:00
2026-03-25 09:26:58 +08:00
2026-03-28 18:51:52 +08:00
2026-04-16 02:54:34 +08:00
2026-03-26 16:06:20 +08:00
2026-04-03 13:22:36 +08:00
2026-04-03 13:22:36 +08:00
2026-04-16 00:03:04 +08:00
2026-04-15 18:56:26 +08:00
2026-04-12 22:50:20 +08:00
2026-04-14 14:39:14 +08:00
2026-04-16 22:57:50 +08:00
2026-04-15 19:21:21 +08:00
2026-04-16 20:07:15 +08:00
2026-04-15 22:28:48 +08:00
2026-03-31 16:25:00 +08:00
2026-04-17 15:23:35 +08:00
2026-04-09 12:26:18 +08:00
2026-04-15 16:06:54 +08:00
2026-04-14 20:34:14 +08:00
2026-04-14 20:43:40 +08:00
2026-04-10 22:35:37 +08:00
2026-03-29 16:00:46 +08:00
2026-03-26 15:32:52 +08:00
2026-03-29 15:57:04 +08:00
2026-03-23 23:51:37 +08:00
2026-04-17 15:23:35 +08:00
2026-04-15 16:06:54 +08:00
2026-03-26 21:55:50 +08:00
2026-04-05 00:39:29 +08:00
2026-04-04 12:35:05 +08:00
2026-04-16 20:50:06 +08:00
2026-04-17 10:27:39 +08:00
2026-04-17 13:28:16 +08:00
2026-04-05 00:22:38 +08:00
2026-03-22 18:57:44 +08:00
2026-04-15 15:34:33 +08:00
2026-04-11 20:45:53 +08:00
2026-03-29 16:00:46 +08:00
2026-04-16 16:26:07 +08:00
2026-04-09 19:10:27 +08:00
2026-04-16 20:50:06 +08:00
2026-04-15 20:57:43 +08:00
2026-04-16 01:42:14 +08:00
2026-04-15 20:05:49 +08:00
2026-03-31 16:06:35 +08:00
2026-04-15 16:06:54 +08:00
2026-04-01 11:11:50 +08:00
2026-03-24 12:57:36 +08:00
2026-03-31 16:06:35 +08:00
2026-04-15 19:51:01 +08:00
2026-04-09 23:36:36 +08:00
2026-04-07 11:17:40 +08:00
2026-04-11 20:45:53 +08:00
2026-03-26 19:25:52 +08:00
2026-03-31 22:47:54 +08:00
2026-03-31 22:47:54 +08:00
2026-04-15 22:28:48 +08:00
2026-03-29 22:17:27 +08:00
2026-03-31 11:23:38 +08:00
2026-03-26 21:55:50 +08:00
2026-04-12 17:52:57 +08:00
2026-04-16 08:54:11 +08:00
2026-04-10 10:43:53 +08:00
2026-04-11 20:45:53 +08:00
2026-04-02 09:02:41 +08:00
2026-04-15 21:00:18 +08:00
2026-04-11 20:45:53 +08:00
2026-04-15 15:34:33 +08:00
2026-04-11 20:45:53 +08:00
2026-04-15 13:08:38 +08:00
2026-03-26 10:01:57 +08:00
2026-04-09 10:52:40 +08:00
2026-04-15 22:29:09 +08:00
2026-03-26 12:49:30 +08:00
2026-04-09 14:55:04 +08:00
2026-03-31 16:06:35 +08:00
2026-04-16 22:34:48 +08:00
2026-04-06 11:46:05 +08:00
2026-04-10 11:35:10 +08:00
2026-04-15 21:09:01 +08:00
2026-04-04 12:02:03 +08:00
2026-04-15 23:49:56 +08:00
2026-04-14 15:19:54 +08:00
2026-04-15 13:08:38 +08:00
2026-04-16 20:50:06 +08:00
2026-04-08 16:36:18 +08:00
2026-04-15 15:47:05 +08:00
2026-04-09 18:34:50 +08:00
2026-03-26 16:03:16 +08:00
2026-04-14 18:46:25 +08:00
2026-03-29 16:00:46 +08:00
2026-04-15 16:06:54 +08:00
2026-04-16 02:46:17 +08:00
2026-04-15 13:08:38 +08:00
2026-04-05 13:40:52 +08:00
2026-03-29 15:27:49 +08:00
2026-04-01 16:20:57 +08:00
2026-04-08 21:47:38 +08:00
2026-04-16 15:35:19 +08:00
2026-03-26 15:32:52 +08:00
2026-03-29 15:27:49 +08:00
2026-04-17 14:42:29 +08:00
2026-03-30 01:52:59 +08:00
2026-03-24 09:20:56 +08:00
2026-03-26 16:06:20 +08:00
2026-04-15 15:47:05 +08:00
2026-04-15 18:56:26 +08:00
2026-03-26 22:13:10 +08:00
2026-04-08 16:36:18 +08:00
2026-04-07 13:02:20 +08:00