Commit Graph

32 Commits

Author SHA1 Message Date
OG T
a9f8ad56c1 chore: 未提交變更整理 (API core + docs + scripts)
API 核心:
- constants.py: 系統常量定義
- unit_of_work.py: Unit of Work 模式
- incident_approval_service.py: Incident-Approval 同步服務

文檔更新:
- LOGBOOK.md: 進度更新
- AWOOOI_AGENTIC_WORKSPACE_ROADMAP.md: 路線圖
- 2026-03-26_llm_testing_evaluation.md: LLM 測試評估
- phase5_telemetry_architecture.md: 遙測架構
- SECRETS_REFERENCE.md: 密鑰參考

配置/腳本:
- Skill 02 v1.x: leWOOOgo 後端更新
- .dependency-cruiser.cjs: 依賴規則
- demo-multisig-flow.sh: 演示腳本

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 19:10:12 +08:00
OG T
c7be68f800 docs: LOGBOOK 更新 Phase 13.2 #84 完成狀態
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 18:56:24 +08:00
OG T
0a9d94d82b feat(k8s): CoreDNS GitOps 架構 (ADR-026)
問題: DNS 配置沒有版本控制,手動修改易遺失

架構:
- k8s/k3s-system/coredns-custom.yaml: HelmChartConfig
- CD workflow: k3s-system 路徑偵測 + 自動 apply
- ADR-026: CoreDNS GitOps 管控架構

DNS 上游:
- 使用 8.8.8.8 + 1.1.1.1
- 禁止 /etc/resolv.conf (systemd-resolved)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 18:43:28 +08:00
OG T
6e3a7fca20 docs: ADR-006 v1.2 Rate Limiter + LOGBOOK 更新
- ADR-006: 新增 Rate Limiter 實作章節 (v1.2)
- LOGBOOK: 記錄 Gemini 切換 + Rate Limiter 上線

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 18:16:45 +08:00
OG T
579da38b8b feat(api): Phase 13 智能路由 + CI/CD 整合 (#74-88)
Phase 13.1 CI/CD Integration:
- #76 workflow_run handler for CI failure diagnosis
- #77 SignOz log query (query_logs, error_logs_summary MCP)
- #78 CIAutoRepairService with risk-based execution decisions

Phase 13.3 Smart Routing:
- #85 Intent Classifier v2.0 (rule engine + LLM fallback)
- #86 Complexity Scorer (9-dimension scoring)
- #87 AI Router v3.0 (routing decision matrix)
- #88 Token Counter (OTEL + Langfuse integration)

New files:
- services/ci_auto_repair.py (risk stratification)
- services/model_registry.py (centralized model config)
- services/token_counter.py (677 lines)
- Skill 08: Model Router Expert
- Skill 09: Strangler Pattern Expert
- ADR-023: Smart Routing Architecture
- ADR-024: API Layer Architecture

Tests:
- phase11-conversational.spec.ts (E2E tests)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 15:32:52 +08:00
OG T
505ff7a809 docs: LLM 測試評估 + Ollama GPU 問題發現
評估結果:
- Ollama 使用 CPU 推理 (VRAM=0GB)
- 生成速度 0.45 tok/s (正常 10-20x)
- 這是 CI LLM 測試失敗的根因

決策:
- ADR-018 三層框架暫緩整合
- 優先修復 Ollama GPU 問題
- 再實施方案 A (seed 參數)

新增:
- docs/evaluations/2026-03-26_llm_testing_evaluation.md
- feedback_solution_adoption_checklist.md (7問評估清單)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 11:47:49 +08:00
OG T
281175921c docs: 更新 LOGBOOK - Phase 7.5-7.6 完成
- 新增 Phase 7.5-7.6 進度紀錄
- 更新當前狀態

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 11:09:55 +08:00
OG T
6f99113888 docs: 更新 LOGBOOK - #7 Playbook + ADR 審計 + Phase 13 審查 2026-03-26 10:54:46 +08:00
OG T
9ea246c7c2 docs(logbook): Phase 12.4 取消 + 狀態更新
統帥裁定: 現有 Ollama→Gemini→Claude fallback 已足夠

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 09:55:09 +08:00
OG T
60f8d770dd docs: Phase 15 首席架構師審查通過 + Phase 17 技術債規劃
審查結果:
- 架構分層:  通過
- leWOOOgo 5 問:  通過
- 依賴注入:  通過
- 測試: 46/46 通過

Phase 17 技術債 (統帥批准):
- agents.py: Router 直接存取 Redis
- metrics.py: Router 直接存取 DB

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 00:54:40 +08:00
OG T
1ac8965a7a feat(api): Phase 15.1 Langfuse LLMOps 整合 + 模型升級
## 新功能
- Langfuse 自建部署 (192.168.0.110:3100)
- langfuse_client.py - LLM 呼叫追蹤包裝
- OpenClaw 整合 Langfuse trace

## 模型升級 (統帥批准)
- 生產預設: llama3.2:3b → qwen2.5:7b-instruct
- 摘要任務: llama3.2:3b (速度優先)

## 配置更新
- requirements.txt: +langfuse>=2.0.0
- config.py: +LANGFUSE_* 設定
- models.json: 更新 Ollama 模型配置
- K8s: Secret + ConfigMap 更新

## 審查通過
- 模組化檢查 
- 核心測試 31/31 

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 00:32:19 +08:00
OG T
2fb011470e refactor(api): Phase 16 R3.4 完整 Repository 層整合
- incident_repository: 新增 get_status(), update_status() 方法
- incidents.py: feedback + debug 端點全面改用 Repository
- 消除所有 Router 層直接 DB 存取 (符合積木化鐵律)
- trust_engine.py: 修復 import 順序 lint 警告
- pre-commit hook: 修正誤判問題 (排除刪除行+註解行)
- LOGBOOK: 更新 Phase 16 完成狀態

驗證結果: 31/31 測試通過

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 23:47:01 +08:00
OG T
0afaea63f8 fix(api): Phase 16 R4 測試修復 - ParsedOperation 向後兼容
問題:
- test_action_parsing.py 導入路徑未更新 (舊: approvals.py)
- ParsedOperation dataclass 不支援 tuple 解包

修復:
- 更新測試導入至 src.services.operation_parser
- 新增 ParsedOperation.__iter__() 支援 tuple 解包

測試: 24/24 passed (100%)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 23:00:03 +08:00
OG T
aefd351e20 docs: 更新 LOGBOOK Phase 16 R4.1 進度
- OperationParser 抽取完成
- approvals.py 瘦身 1097 → 988 行
- Runner diag log 衝突問題記錄

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 21:57:38 +08:00
OG T
ef12228cc7 docs: Phase 16 絞殺者模式啟用 - 48hr 驗證開始
- USE_NEW_ENGINE=true 已在 Production 啟用
- 驗證期: 2026-03-26 16:04 → 2026-03-27 16:04
- 所有組件 healthy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 16:06:32 +08:00
OG T
485cce8c01 docs: 更新 Phase 16 R1.2-R1.3 完成狀態
- LOGBOOK: 記錄絞殺者模式完成 + 架構圖
- 下一步: 部署驗證 → USE_NEW_ENGINE=true → 48hr 監控

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 15:55:48 +08:00
OG T
0a1787e934 feat(ci): Phase 12.3 Ollama 自動化測試 (#67-68)
新增:
- CI Ollama Model Test job (連線測試 + 冒煙測試)
- test_model_regression.py (4 個回歸案例 + 準確度報告)
- Skills 03 更新模型選擇規則

Phase 12.1-12.2 完成記錄更新

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 11:26:10 +08:00
OG T
b13b063282 feat(web): Phase 11 對話式 AI UI/UX (#47-59)
Phase 11.1 對話式容器:
- ConversationalView 雙欄佈局 (左側列表 + 右側詳情)
- ApprovalThreadItem 風險等級 + 相對時間顯示
- SSE 即時更新整合

Phase 11.2 批次處理:
- BatchModeSelector 組件 (全部接受/逐一審核/CRITICAL Only)
- POST /api/v1/approvals/bulk-approve API 端點
- CRITICAL + DESTRUCTIVE 安全過濾 (禁止批次核准)

Phase 11.4 鍵盤快捷鍵:
- useKeyboardShortcuts hook (Y/N/方向鍵/Esc)
- Y 鍵長按 2 秒核准 + 頂部進度指示器
- 快捷鍵說明 Modal (Y/N 高亮顯示)

i18n: 100% next-intl 覆蓋

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 10:31:35 +08:00
OG T
749b8bc554 fix(api): 修復時區 import 排序與未使用變數 lint 錯誤
- 修正 import 順序 (standard → third-party → local)
- 修復 datetime/timedelta 未定義錯誤
- 移除未使用的 imports

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 09:26:58 +08:00
OG T
1ab3f15816 fix(api): Lint fixes for sentry_webhook.py 2026-03-25 00:26:24 +08:00
OG T
3b8638b350 feat(api): Add sync-from-approvals endpoint for incident backfill
Fixes existing approvals created before b645981 that lack
corresponding incidents. Ensures "活躍事件" count matches
"待簽核" count.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 00:09:44 +08:00
OG T
7bd4cf30e3 fix(i18n): Add missing translations for agent, metrics, and language strategy
New translations:
- agent.state, agent.idle, agent.patrolling, etc.
- metrics.title, metrics.rps, metrics.errorRate, etc.

Updated docs:
- HARD_RULES.md: Added language strategy table
- Skills 01: Added language selection standards
- LOGBOOK.md: Updated progress

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 16:22:44 +08:00
OG T
9bff46a1b0 feat: integrate Sentry + fix CI/CD issues
Sentry Integration (補強 SignOz):
- Add @sentry/nextjs for frontend error tracking + session replay
- Add sentry-sdk[fastapi] for backend error tracking
- Create sentry.client/server/edge.config.ts
- Integrate with next.config.js + instrumentation.ts
- Add Sentry exception capture in FastAPI error handler
- Create deployment scripts for Self-Hosted @ 192.168.0.110

CI/CD Fixes:
- Fix F821 Undefined name 'Field' in incidents.py
- Add NEXT_PUBLIC_API_URL env var to CI build step
- Add build-arg to Docker build verification

E2E Test Improvements:
- Fix strict mode violations in dashboard-acceptance tests
- Add timeout increase for Phase 4 demo tests
- Make tests more resilient to UI variations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 15:19:52 +08:00
OG T
181d62a29e fix(cd): 新增 kubeconfig 驗證步驟 + 修正 PATH
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 13:15:17 +08:00
OG T
8159d22db9 refactor: ClawBot → OpenClaw 全域更名
- 刪除舊版 clawbot.py (已有新版 openclaw.py)
- 更新 models/ai.py 類型定義 (ClawBotAnalysisRequest/Response)
- 更新 api/v1/ai.py import 與註解
- 更新 Discord username
- 更新所有註解與文檔

依據: feedback_openclaw_naming.md (統帥 2026-03-20 正式命名決議)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 12:57:36 +08:00
OG T
6e644d4fd0 docs: 禁止 Mock 測試規則整合至 HARD_RULES + CLAUDE.md
統帥鐵律 (2026-03-24):
- HARD_RULES.md 新增 No Mock Testing 章節
- CLAUDE.md 新增測試主題引用
- Skill 05 新增禁止 Mock 詳細規範
- LOGBOOK.md 更新當前狀態

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 10:28:46 +08:00
OG T
7478dc0254 feat(phase6-9): Complete modular architecture and Agent Teams
Phase 6.4 - Modular Architecture:
- Add lewooogo-brain adapters for LLM providers
- Add lewooogo-data dual memory (Redis + PostgreSQL)
- Implement consensus engine for multi-agent decisions
- Add incident memory service for historical context

Phase 9 - Agent Teams (Claude Agent SDK):
- Add base agent class with Claude Sonnet 4 integration
- Implement action planner, blast radius, and security agents
- Add agent API endpoints and proposal workflow
- Integrate ADR-009 OpenClaw Agent Teams architecture

DevOps & CI/CD:
- Add GitHub Actions CI/CD workflows (ci.yaml, cd.yaml)
- Add pre-commit hooks and secrets baseline
- Add docker-compose for local development
- Update Kubernetes network policies

Frontend Improvements:
- Add auto-healing error boundary component
- Update i18n messages for agent features
- Enhance dual-state incident card with execution feedback

Documentation:
- Add 7 ADRs covering MCP, design system, architecture decisions
- Update ARCHITECTURE_MEMORY.md with modular design
- Add GLOBAL_RULES.md and SOUL.md for project identity

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-23 18:40:36 +08:00
OG T
cb5d0ecfe4 feat(phase-6.4g-6.5b): API Synaptic Integration + Dual-State WarRoom UI
Phase 6.4g (API 突觸對接):
- lewooogo-brain dependency binding in apps/api/pyproject.toml
- POST /api/v1/incidents/{id}/propose route (proposals.py)
- Guardrails integration (8/8 tests passed)

Phase 6.5a (視覺皮層建置):
- DualStateIncidentCard.tsx with Nothing.tech visual compliance
- Ping radar animation for alert state
- Tier-based decision layer UI (AI 執行中 / 等待親核)

Phase 6.5b (神經網路串接):
- Main warroom page integration (page.tsx)
- IncidentResponse → DualState mapper function
- Empty state: "系統穩定。0 活躍異常。"

Tests:
- test_guardrails.py (8/8)
- test_incident_engine.py (6/6)
- test_skill_loader.py (6/6)
- Frontend build: 0 errors

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-23 11:58:28 +08:00
OG T
80d0ef4a8f feat(packages): Phase 6.4a-c leWOOOgo modular architecture
New packages:
- packages/lewooogo-brain: AI reasoning & decision engine
  - IProposalEngine interface (ABC)
  - IIncidentProcessor interface (ABC)
  - Pydantic models: Proposal, Guardrails, Incident, Signal

- packages/lewooogo-data: Memory provider abstraction
  - IMemoryProvider interface (ABC)
  - IDualMemoryProvider for Working + Episodic memory
  - Generic type support for flexible data models

Documentation:
- ADR-008: Python modular packages architecture decision
- ARCHITECTURE_MEMORY.md: Module map index for AI developers
- LOGBOOK.md: Updated milestones and Phase 6.4 status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-23 09:32:07 +08:00
OG T
1c66a05335 feat(qa): add Playwright frontend visual verification script
- Create apps/web/scripts/verify-frontend.js (無頭偵察兵)
- Detects Console errors (zero-error policy)
- Verifies DOM content (INC-*, RPS, Latency)
- Takes full-page screenshot for evidence
- Update SRE Skill with mandatory verification step

Constitutional Law 14/15: No curl-only verification allowed!

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-23 01:19:08 +08:00
OG T
7c1480186f docs: update LOGBOOK with Phase 8 fixes and Claude Skills
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-23 00:21:17 +08:00
OG T
ccdf757edd chore: initial commit for AWOOOI project
Phase 0 Day 1 - Project initialization:
- Independent repository (Option A)
- .awoooi-agent-rules.md (AI development contract)
- Project skeleton (apps/web, apps/api, packages, docs)
- ADR template for architecture decisions
- LOGBOOK for progress tracking

Strategic decision: 2026-03-19 Operation Cyber-Shell
Reference: /wooo-aiops/docs/meetings/2026-03-19_FRONTEND_RESTRUCTURE_STRATEGY.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-03-19 19:16:12 +08:00