Commit Graph

504 Commits

Author SHA1 Message Date
OG T
d956a2dc4e docs: Phase 18 全部完成 (40 tests)
All checks were successful
E2E Health Check / e2e-health (push) Successful in 15s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:17:31 +08:00
OG T
10430effaa feat(api): Phase 18.6 E2E 測試驗證 (40 tests)
Some checks failed
E2E Health Check / e2e-health (push) Failing after 24s
2026-03-31 Claude Code (統帥批准)

新增測試:
- TestFailureClassification: 10 tests
  - 超時/K8s/網路/權限/資源/未知錯誤分類

- TestRiskAssessment: 10 tests
  - CRITICAL/MEDIUM/LOW 風險等級評估

- TestRepairSuggestion: 6 tests
  - 各類型錯誤的修復建議

- TestSeverityMapping: 3 tests
  - OpenClaw 嚴重度→風險等級映射

- TestRepairActionExtraction: 6 tests
  - AI 建議→可執行動作提取

- TestFailureClassificationKeywords: 5 tests
  - 分類關鍵字配置驗證

Phase 18 完成:
 18.1 AuditLog 擴展
 18.2 FailureWatcher Service
 18.3 K8s Executor 整合
 18.4 OpenClaw 深度分析
 18.5 Telegram 修復卡片
 18.6 E2E 測試驗證 (40 tests)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:16:54 +08:00
OG T
d6f37853c5 feat(api): Phase 18.4 OpenClaw 深度分析整合
All checks were successful
E2E Health Check / e2e-health (push) Successful in 17s
2026-03-31 Claude Code (統帥批准)

新增功能:
- _llm_analyze() 整合 OpenClawService
  - 使用 analyze_alert() 進行 AI RCA 分析
  - 整合 SignOz 監控數據
  - 支援 Token/Cost 追蹤

- _map_severity_to_risk(): 嚴重度→風險等級映射
  - critical/高 → CRITICAL
  - warning/medium/中 → MEDIUM
  - 其他 → LOW

- _extract_repair_action(): 從 AI 建議提取可執行動作
  - restart/重啟 → restart_deployment/restart_pod
  - clear/清理/cache → clear_cache
  - scale/擴展 → scale_up (需人工授權)

閉環強化:
規則引擎初步分類 → OpenClaw AI 深度分析 → 更精準的修復建議

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:14:54 +08:00
OG T
9a2b1d6653 feat(cicd): Phase 22.0 CD Pipeline 加入 pytest 測試步驟
All checks were successful
E2E Health Check / e2e-health (push) Successful in 15s
- 在 Build 前執行 API 測試 (禁止 Mock - feedback_no_mock_testing.md)
- 使用 uv 加速依賴安裝
- 測試超時 60 秒保護
- 更新 LOGBOOK 進度

Phase 22 審查修復進度:
- P0-1: CD Secrets 注入 
- P0-2: NVIDIA 模型修正 
- 22.0: CI pytest 
- 22.4: 命名清理 

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:14:02 +08:00
OG T
eaca7199c2 fix(web): Phase 22.4 移除 ClawBot 舊檔案與命名殘留
- 刪除 clawbot-panel.tsx (已被 openclaw-panel.tsx 取代)
- 刪除 clawbot-state-machine.tsx (已被 openclaw-state-machine.tsx 取代)
- 修正 hitl-section.tsx: setClawbotStatus → setOpenClawStatus
- 符合 feedback_openclaw_naming.md 命名鐵律

Phase 22.4: 命名清理 

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:12:30 +08:00
OG T
f769d80c2d docs: Phase 18.3 完成 - K8s Executor 整合
All checks were successful
E2E Health Check / e2e-health (push) Successful in 16s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:11:25 +08:00
OG T
770586dd85 feat(api): Phase 18.3 K8s Executor 整合自動修復
All checks were successful
E2E Health Check / e2e-health (push) Successful in 17s
2026-03-31 Claude Code (統帥批准)

新增功能:
- execute_auto_repair() 實際執行 K8s 操作
  - restart_deployment: rollout restart
  - restart_pod: 刪除 Pod 觸發重建
  - clear_cache: 安全清理 Redis 快取

安全機制:
- _check_repair_cooldown(): 防止修復風暴
  - 同一資源 5 分鐘內最多修復 3 次
  - 超過限制升級為 MEDIUM 風險
  - Redis 計數器 + 自動過期

修復閉環完整流程:
執行失敗 → FailureWatcher → AI 分析 → 風險評估
├─ LOW + 冷卻期內 → 自動修復 → 揭露通知
└─ MEDIUM/CRITICAL 或超限 → Telegram 請求授權

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:10:52 +08:00
OG T
15fa77f9b8 docs: Phase 18 進度更新 (18.1-18.2 完成)
All checks were successful
E2E Health Check / e2e-health (push) Successful in 17s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:03:14 +08:00
OG T
8e2d7c3706 feat(api): Phase 18.2 FailureWatcher 失敗自動修復閉環
All checks were successful
E2E Health Check / e2e-health (push) Successful in 17s
2026-03-31 Claude Code (統帥批准)

新增:
- IFailureWatcher Protocol (interfaces.py)
- FailureWatcherService 失敗監聽服務
  - AI 分析失敗原因 (規則引擎 + LLM 深度分析)
  - 風險等級評估 (LOW/MEDIUM/CRITICAL)
  - LOW 風險自動修復 (Phase 18.3 實際執行)
  - MEDIUM/CRITICAL 推送 Telegram 請求授權

整合:
- executor._write_audit_log() 失敗時觸發 FailureWatcher
- 失敗分類寫入 AuditLog.failure_classification
- 自動修復結果寫入 AuditLog.auto_repair_result

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 12:01:56 +08:00
OG T
d2f4708663 feat(cicd): #46c OTEL Tracing 遷移到 Gitea workflows
All checks were successful
E2E Health Check / e2e-health (push) Successful in 18s
- CD: awoooi-cd service (192.168.0.188:24318)
- E2E: awoooi-e2e service
- 環境變數: OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES

原 GitHub workflows (cd7d63e) → Gitea workflows (ADR-039)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:39:42 +08:00
OG T
4ce7999bd7 fix(nvidia): 記錄 HTTPStatusError 響應體以診斷 400 錯誤
2026-03-31 ogt: 首席架構師審查要求增加錯誤診斷

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:38:09 +08:00
OG T
bcd33e854f docs: ADR-042 前端效能優化模式 (DOM Bypass + Optimistic Updates)
All checks were successful
E2E Health Check / e2e-health (push) Successful in 16s
新增 ADR-042:
- Pattern 1: DOM Bypass (繞過 React 渲染,100x 效能提升)
- Pattern 2: Optimistic Updates (0ms UI 延遲 + 失敗回滾)
- Pattern 3: SSE Incremental Updates (增量更新,減少 API 請求)
- Pattern 4: AbortController (防止記憶體洩漏)

更新 Skills 01:
- v1.6 版本更新
- 新增效能優化模式章節
- 參考 ADR-042

首席架構師審查: 96-98/100 OUTSTANDING

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:36:21 +08:00
OG T
e176e063d4 fix(web): #19 Action Logs AbortController 防止記憶體洩漏
All checks were successful
E2E Health Check / e2e-health (push) Successful in 17s
- 新增 AbortController ref 追蹤請求
- fetchLogs: 每次新請求前取消前一次
- fetchStats: 共用 AbortController signal
- useEffect cleanup: unmount 時取消所有請求
- AbortError 正確忽略 (非錯誤狀態)

首席架構師審查: 98/100 OUTSTANDING (前端 P2)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:30:39 +08:00
OG T
723e8ef251 feat(api): Phase 21.3 Weekly Report (ADR-041)
All checks were successful
E2E Health Check / e2e-health (push) Successful in 16s
- 新增 WeeklyReportMessage dataclass (telegram_gateway.py)
- 新增 WeeklyReportService (整合 StatsService + K3sMonitor)
- 新增 CronJob (每週五 18:00 台北)
- 新增 API 端點 (/stats/weekly/preview, /stats/weekly/report)

Phase 21 定期報告機制全部完成!
- 21.1 Daily E2E Schedule 
- 21.2 K3s Telegram Report 
- 21.3 Weekly Report 

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:28:46 +08:00
OG T
4c0f15d7b3 fix: 修復 3 個 P0 Bug
All checks were successful
E2E Health Check / e2e-health (push) Successful in 18s
1. E2E Health: Docker 容器無法訪問內網 IP,改用公網域名
2. metrics_repository: asyncpg 需要 datetime 物件,不能用字串
3. metrics_repository: PostgreSQL 用 date_trunc 而非 strftime

2026-03-31 ogt: 首席架構師審查發現並修復

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:27:51 +08:00
OG T
b2e41ebac6 feat(api): Phase 21.2 K3s Status Telegram Report (ADR-041)
All checks were successful
E2E Health Check / e2e-health (push) Successful in 19s
- 新增 K3sStatusMessage dataclass (telegram_gateway.py)
- 新增 K3sMonitorService (Prometheus 數據收集)
- 新增 CronJob (每日 09:00 台北)
- 新增 API 端點 (/stats/k3s/status, /stats/k3s/report)

Phase 21 定期報告機制 (統帥已批准)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:25:27 +08:00
OG T
ce6b1b1c64 docs: 更新 LOGBOOK - #17 i18n Hydration 完成
前端 P1 改進全部完成:
- #15 SSE + 樂觀更新 (8c8664c)
- #16 DOM Bypass (0b87018)
- #17 i18n Hydration (f25e94e)

首席架構師審查: 96/100 OUTSTANDING

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:23:38 +08:00
OG T
f2aa9a7c41 feat(ci): Phase 21.1 Daily E2E Schedule (ADR-041)
Some checks failed
E2E Health Check / e2e-health (push) Failing after 23s
- 新增每日 00:00 台北自動執行 (cron: '0 16 * * *')
- 新增失敗時 Telegram 通知
- 更新 LOGBOOK 追蹤狀態

Phase 21 定期報告機制 (統帥已批准)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:19:26 +08:00
OG T
f25e94e8c4 fix(web): #17 i18n Hydration 防護 (NEXT_LOCALE Cookie)
Phase D #17: 修復 i18n 語系切換 Hydration 當機

問題: Client/Server 渲染語系落差導致 Hydration Mismatch
解法: Middleware 強制綁定 NEXT_LOCALE Cookie

實作內容:
- 從 URL 路徑提取當前語系
- 強制設定 NEXT_LOCALE cookie (1年 TTL)
- 確保 Server/Client 語系一致

@see QA Report 3.1 節

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:18:53 +08:00
OG T
05cd5ff2a4 feat(cd): 優化 Telegram 告警格式 - 提高可讀性
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
2026-03-31 ogt: 統帥要求優化
- 開始/完成通知包含 commit 訊息、short hash、耗時
- 移除中間 Build/Deploy 通知,減少雜訊
- 使用 HTML 格式結構化顯示
- 失敗通知包含 Gitea Actions 連結

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:18:40 +08:00
OG T
77d0fe784f fix(api): AnomalyFrequency.model_dump() → to_dict() (dataclass 非 Pydantic)
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Successful in 4m47s
2026-03-31 ogt: AnomalyFrequency 是 @dataclass,沒有 model_dump() 方法

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:14:24 +08:00
OG T
c3a2e7745b docs: 更新 LOGBOOK - #15 #16 前端 P1 完成
- #16 ThinkingTerminal DOM Bypass (0b87018)
- #15 SSE + Optimistic Updates (8c8664c)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:13:43 +08:00
OG T
8c8664c75a feat(web): #15 SSE + Optimistic Updates (樂觀更新)
Phase 15: 解決 Zustand Polling 與授權 API Race Condition

樂觀更新 (Optimistic UI):
- signApproval: 點擊瞬間更新簽章數和狀態
- rejectApproval: 點擊瞬間標記為 rejected
- 失敗自動回滾到原始狀態 (Rollback)

SSE 增量更新:
- 'created': 直接加入列表 (無需 re-fetch)
- 'signed': 增量更新簽章數
- 'rejected/expired/executed': 延遲移除

預期效益:
- 即時 UI 響應 (0ms 延遲)
- 減少 API 請求 (增量取代全量)
- Race Condition 消除

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:13:12 +08:00
OG T
0b8701854d feat(web): #16 ThinkingTerminal DOM Bypass (記憶體優化)
Phase 8.0 #16: 解決千行 GraphRAG 日誌記憶體崩潰問題

架構改進:
- 新增 ThinkingTerminalOptimized 使用 ref 直接操作 DOM
- 繞過 React state,避免每行觸發 re-render
- 最大行數限制 (maxLines=500),防止 DOM 過大
- 支援 SSE 串流、停止、清除功能

i18n 更新:
- zh-TW/en: terminal 新增 connecting/connected/stop/clear 等 6 個 key

預期效益: 100x 渲染效能提升 (無 virtual DOM diff)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:10:29 +08:00
OG T
f771931aa0 fix(ai): NVIDIA cost limit /bin/zsh.00 >= /bin/zsh.00 永遠 True Bug
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 4m43s
E2E Health Check / e2e-health (push) Successful in 20s
2026-03-31 ogt: 修復免費 Tier 設定 total_cost_usd: 0.0
導致 current_cost >= cost_limit 永遠成立的問題。
改用 999999.0 表示無成本限制。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:08:08 +08:00
OG T
b31e079e41 docs: 更新 LOGBOOK - Phase A/B/C P1 完成 (97/100)
Some checks failed
CD Pipeline / build-and-deploy (push) Successful in 3m42s
E2E Health Check / e2e-health (push) Has been cancelled
- LOGBOOK: Phase A/B/C 首席架構師審查 OUTSTANDING
- Skills: DevOps Commander 更新
- ADR-033: K3s HA 架構補充

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-31 11:03:10 +08:00
OG T
adaef514dc feat(api): Phase C P1 Telegram Gateway OTEL 追蹤
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 4m33s
E2E Health Check / e2e-health (push) Successful in 18s
- 新增 _tracer for awoooi.telegram_gateway
- _send_request: 追蹤所有 API 呼叫 (method, chat_id, message_id)
- send_cicd_progress: 追蹤 CI/CD 通知 (含重試次數)

首席架構師審查 P1 改進 - 可觀測性

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:56:50 +08:00
OG T
13bb1496b0 refactor(api): Phase B P1 可靠性強化 (2 項)
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
1. send_cicd_progress 重試機制 (指數退避 1,2,4 秒)
2. K8s Repository 封裝 (IK8sRepository + K8sRepository)

首席架構師審查 P1 改進 - 模組化合規

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:52:59 +08:00
OG T
64e51bb4fd chore: trigger CD for bb85d89
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 3m48s
E2E Health Check / e2e-health (push) Successful in 16s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:47:44 +08:00
OG T
bb85d89874 refactor(api): Phase A P1 快速勝利 (3 項)
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
1. 常數提取: SSE_DELAY_SECONDS, MAX_APPROVAL_DISPLAY
2. 錯誤訊息安全化: sanitize_error_message() 移除敏感資訊
3. CI/CD alertname 配置化: is_cicd_alertname() 函數

首席架構師審查 P1 改進 (非阻塞)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:44:42 +08:00
OG T
5a3f539fe5 docs: 全面更新 Memory/Skills/LOGBOOK
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
2026-03-30 ogt: 首席架構師審查 94/100 後狀態同步

更新項目:
- project_current_status.md: 今日完成總覽
- LOGBOOK.md: sudoers NOPASSWD 修復
- feedback_ai_fallback_order.md: NVIDIA 優先順序
- feedback_cd_security_nopasswd.md: 新增安全鐵律
- MEMORY.md: 新增索引
- 02-lewooogo-backend-core.md v2.3: AI Fallback 章節

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:42:08 +08:00
OG T
bf3a21d88e docs: 首席架構師審查 94/100 OUTSTANDING
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
- Skills v2.2: 新增 Phase 19.4 API 整合模式
- ADR-030: 補充 §5.3 Playbook 自動狀態轉換閾值
- LOGBOOK: 更新審查結果

審查範圍: 18 commits (Phase 19.4 + ADR-039 + AI 仲裁)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:38:41 +08:00
OG T
7ac654390c fix(cd): 改用 sudoers NOPASSWD (完全移除密碼)
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 3m39s
E2E Health Check / e2e-health (push) Successful in 15s
2026-03-30 ogt: 更安全的方案

- 已在 192.168.0.121 設定 sudoers NOPASSWD
- /etc/sudoers.d/kubectl-deploy
- 完全移除 SUDO_PASSWORD 環境變數

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:34:02 +08:00
OG T
4f06115497 docs: 首席架構師審查 - 前端內網 IP 禁令 (90/100)
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
審查結果:
- P0 安全修復: sudo 密碼改用 secret 
- P1 識別: Sentry DSN build-arg 待處理
- P2 識別: 3 項次要問題已記錄

已更新:
- Skills 01 v1.5: 前端建置禁止內網 IP
- Skills 04 v2.1: CD 安全規範 + 內網 IP 禁令
- ADR-022: 新增前端內網 IP 禁令章節
- MEMORY.md: 新增審查記錄索引

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:32:48 +08:00
OG T
3c3294de4b docs: 更新 LOGBOOK - 首席架構師審查 (78→85/100)
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
2026-03-30 ogt: AI 仲裁修復 + P0 安全修復

變更:
- AI Fallback: NVIDIA 優先
- CI/CD 告警簡化
- P0 sudo 密碼明文修復

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:32:15 +08:00
OG T
1cec655168 fix(security): P0 移除 sudo 密碼明文
2026-03-30 ogt: 首席架構師審查 P0 修復

問題: cd.yaml 含明文 sudo 密碼
修復: 改用 ${{ secrets.SUDO_PASSWORD }}

⚠️ 需要在 Gitea 設定 SUDO_PASSWORD secret!

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:30:49 +08:00
OG T
9145faf24b docs: 前端內網 IP 禁令 - RCA + Hard Rule v1.6
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
事故: 2026-03-30 瀏覽器區域網路權限對話框
根因: CD 用 http://192.168.0.125:32334 建置 NEXT_PUBLIC_API_URL

已更新:
- CLAUDE.md: 新增 🔴🔴🔴 前端內網 IP 禁令章節
- HARD_RULES.md: v1.6 新增 Frontend Internal IP 規則
- LOGBOOK.md: RCA 事故回顧

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:28:38 +08:00
OG T
71d6b332ff fix(cd): NEXT_PUBLIC_API_URL 改用公網域名
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
問題:
- CD 建置時使用 http://192.168.0.125:32334 (內網 VIP)
- NEXT_PUBLIC_* 是 build-time 變數,寫死到 Docker Image
- 導致瀏覽器「存取區域網路上的其他裝置」權限對話框

永久修復:
- 改為 https://awoooi.wooo.work (公網域名)
- 符合 feedback_sentry_local_network.md 規範

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:26:34 +08:00
OG T
3b0b49845e ci(gitea): CD 佇列模式 - 等待前一個 run 完成
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 3m44s
E2E Health Check / e2e-health (push) Successful in 15s
新增 concurrency 設定:
- group: cd-deploy-${{ github.ref }}
- cancel-in-progress: false

避免多個 CD 同時執行造成資源競爭

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:21:53 +08:00
OG T
1b89ef399c docs: 更新 ARCHITECTURE_MEMORY + MASTER_EXECUTION_SCHEDULE
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:21:23 +08:00
OG T
f83f0360a0 fix(web): 移除 Sentry Dashboard 連結 (內網 IP 問題)
原因: 內網 IP (192.168.0.110:9000) 會觸發瀏覽器「存取區域網路」權限對話框
參考: feedback_sentry_local_network.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:21:18 +08:00
OG T
998b5a7b5f docs: ADR-039 重編號為 ADR-040 + LOGBOOK 更新
ADR 變更:
- ADR-039 (gitea-cicd-migration) 保留給 Gitea CI/CD 遷移
- 原 ADR-039 (global-autorepair-governance) 改為 ADR-040

LOGBOOK:
- 新增 Phase 19.4 Terminal Service API 整合記錄
- 更新當前狀態

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:20:50 +08:00
OG T
8d70df3ea2 fix(ai): NVIDIA 加入 Rate Limiter 檢查
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
2026-03-30 ogt: 修復 AI 仲裁降級問題

問題: NVIDIA RPM=5 限制未在 fallback 檢查
修正: 加入 nvidia 到 rate_limiter 檢查清單

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:18:11 +08:00
OG T
19fff8339d feat(api): Phase 19.4 Terminal Service 真實 API 整合
整合真實後端服務,移除 Mock 數據:

_handle_approval_action:
- 使用 ApprovalDBService.get_pending_approvals()
- 顯示待簽核清單摘要 (最多 5 個)
- 渲染第一個待簽核項目的 ApprovalCard

_handle_status_query:
- 使用 K8s API 查詢 Pod 狀態
- 統計 Running/Ready/Total Pods
- 顯示問題 Pods (非 Running 或 NotReady)
- 查詢 Deployment 健康狀態

測試覆蓋:
- 6 個新增 API 整合測試
- 總計 60 個測試通過

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:17:03 +08:00
OG T
288ba7593e fix(telegram): CI/CD 告警簡化 + 心跳台北時區
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
2026-03-30 ogt: 告警格式修正

CI/CD 告警:
- 新增 CICDProgressMessage 簡潔格式
- webhooks.py 偵測 CD_*/CI_*/E2E_* 前綴
- 跳過 AI 仲裁,直接發送簡潔通知

心跳訊息:
- 修正 UTC → 台北時區 (feedback_timezone_taipei.md)
- 簡化格式,移除冗餘資訊

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:15:38 +08:00
OG T
fbc670036d fix(ai): NVIDIA Nemotron 優先仲裁
2026-03-30 ogt: AI Fallback 順序修正
- ["nvidia","gemini","ollama","claude"]
- Nemotron Tool Calling 83.3% 精準度
- 修復 Gemini 仍為首位問題

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:12:28 +08:00
OG T
78082052ee docs: 更新 ADR-039 Gitea 遷移狀態為已完成
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 3m36s
E2E Health Check / e2e-health (push) Successful in 16s
- Telegram CI/CD 告警驗證通過 (Raw Logs 200 OK)
- GitHub Actions 已停用
- Gitea 主倉運作正常

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:08:49 +08:00
OG T
97b2e059bc docs: ADR-039 完成 - Gitea CI/CD 遷移成功
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:07:51 +08:00
OG T
25e69e6870 feat(cicd): ADR-039 完成 - GitHub Actions 停用,Gitea 主倉
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
- 停用所有 GitHub Actions workflows (.disabled)
- 更新 CLAUDE.md 添加 Gitea CI/CD 章節
- 更新 LOGBOOK.md 記錄遷移狀態
- Gitea 版本: 1.25.5
- Runner 版本: v0.3.1 (host 網絡模式)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 01:07:32 +08:00
OG T
000533d32e feat(ai): promote Nvidia nemotron as default arbitrator for high complexity/risk incidents
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 4m35s
E2E Health Check / e2e-health (push) Successful in 16s
2026-03-30 00:26:53 +08:00