Files
awoooi/CLAUDE.md
OG T ce945fe89e rule(cost): 🔴🔴🔴 費用變更強制審批 — HARD_RULES v1.8 + CLAUDE.md
統帥指示 2026-04-03:
所有涉及費用產生的變更必須停下來等統帥明確批准後才可執行

新增:
- HARD_RULES.md v1.8: Cost Change Approval 章節
  - 定義涉費變更範圍
  - 強制流程: 識別→停→說明→等批准→執行
  - 今日違規教訓記錄
- CLAUDE.md 任務前必讀新增費用變更條目

Memory 已同步:
- feedback_cost_change_approval.md (新建)
- feedback_constitution_v2.md 第五章
- MEMORY.md 索引最高鐵律區

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 15:36:47 +08:00

239 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AWOOOI Project Configuration
> Claude Code 自動載入,定義核心原則
---
## 🚨🚨🚨 強制提醒 (每小時自我檢查)
**你有確實執行以下動作嗎?沒有就立刻執行!**
```
□ 讀過 MEMORY.md 索引?
□ 讀過 docs/LOGBOOK.md 最新進度?
□ 讀過 docs/HARD_RULES.md 絕對禁止規則?
□ 涉及特定主題時,讀過對應 feedback_*.md
□ 修改檔案前,讀過該檔案的所有註解? 🔴 NEW
```
**違反後果**: 重複犯錯、統帥需要反覆提醒、信任度下降
---
## 🔴 絕對禁止 (Hard Rules)
**做任何修改前,先讀對應的鐵律文件:**
→ [HARD_RULES.md](docs/HARD_RULES.md)
---
## ⚠️ Session 啟動第一步
**在做任何事之前,先讀:**
1. `MEMORY.md` - 記憶索引
2. `docs/LOGBOOK.md` - 最新進度
3. `docs/HARD_RULES.md` - 絕對禁止規則
4. 涉及主題的 `feedback_*.md`
**不要讓統帥說「你讀過 Memory 了嗎?」**
---
## 四大核心原則
1. **變更前 → 先讀註解** (理解設計意圖再動手) 🔴 NEW
2. **不可逆操作 → 人工確認** (刪除、logOut、DROP、force push)
3. **有疑問 → 先問統帥** (不確定就停下來)
4. **任務完成 → 更新 Memory** (不等被問)
---
## 🔴 紅區治理
**詳細文件:** [RED_ZONES.md](docs/RED_ZONES.md)
**簡述**: Tier 3 核心檔案 (decision_manager, trust_engine, config 等) 修改需首席架構師授權
## 專案架構
- `apps/api/` - FastAPI 後端
- `apps/web/` - Next.js 前端
- `k8s/` - Kubernetes 配置
## 🏗️ 基礎設施參考
→ [SERVICE-ENDPOINTS.md](docs/reference/SERVICE-ENDPOINTS.md) - 五主機架構與服務端點
→ [K3S-OPTIMIZATION-RUNBOOK.md](docs/runbooks/K3S-OPTIMIZATION-RUNBOOK.md) - K3s 維運手冊
## 🔴 Gitea CI/CD (ADR-039)
**從 2026-03-29 起,所有 CI/CD 從 Gitea 執行!**
**詳細文件:** [reference_gitea_mirror.md](~/.claude/projects/-Users-ogt-awoooi/memory/reference_gitea_mirror.md)
| 項目 | 值 |
|------|-----|
| Gitea URL | http://192.168.0.110:3001 |
| 推版方式 | `git push gitea main` |
| Workflows | `.gitea/workflows/` |
| GitHub | 只讀備份,已停用 Actions |
## 🎨 靈感實驗室
→ [INSPIRATION_LAB.md](docs/INSPIRATION_LAB.md) - 學習/模仿/發想/待定案內容
**用途**: 收集外部參考、突發奇想、待討論項目
**分類**: 視覺/UI/UX/風格/功能/工具/服務/突發奇想
**注意**: 內容皆為「待評估」,採用前需統帥批准
## 🛑 修改前
修改以下檔案前,**必須先讀** [HARD_RULES.md](docs/HARD_RULES.md)
- `.github/workflows/*` → GitHub Billing 章節
- `*telegram*` → Telegram Token 章節
- `apps/web/**` → i18n 章節
- Incident/Approval 流程 → 確認 Telegram + DB 鏈路
- **Alertmanager/NetworkPolicy** → ADR-025 告警鏈路 E2E 驗證 🔴🔴
- **AI Provider 路由/Fallback** → Phase 24 AI Router 規範 🔴🔴
---
## 任務前必讀
涉及以下主題時,**先讀取對應 Memory**
| 主題 | Memory 路徑 |
|------|-------------|
| **🔴🔴🔴 費用變更** | `feedback_cost_change_approval.md` — 必須停下來等統帥批准 |
| **變更前必讀** | `feedback_read_comments_first.md` 🔴 先讀註解 |
| **變更註解** | `feedback_change_annotation_standard.md` 🔴🔴 人事物+版本+時區 |
| **重大變更** | `feedback_product_survival_principles.md` |
| Telegram | `feedback_telegram_token_disaster.md` |
| OpenClaw | `feedback_architecture_openclaw_core.md` |
| 命名規範 | `feedback_openclaw_naming.md` |
| i18n | `feedback_i18n_zero_hardcode.md` |
| 防禦性工程 | `feedback_defensive_engineering.md` |
| 模組化 | `feedback_modular_architecture.md` |
| **🔴🔴 積木化強制** | `feedback_lewooogo_modular_enforcement.md` 🔴🔴 修改前 5 問 |
| API 整合 | `feedback_api_response_verification.md` |
| 構建部署 | `feedback_build_from_git_only.md` |
| **測試** | `feedback_no_mock_testing.md` 🔴🔴 禁止 Mock |
| **API 路徑** | `feedback_api_path_naming.md` 🔴 修改需同步前端 |
| **部署驗證** | `feedback_deployment_verification.md` 🔴🔴 必須驗證 Pod 版本 |
| **部署層級** | `feedback_deployment_layer_decision.md` 🔴🔴🔴 主機/容器/K3s 必須評估 |
| **告警鏈路** | `feedback_alertchain_e2e_validation.md` 🔴🔴🔴 Alertmanager→API→Telegram |
| **Telegram Secrets** | `feedback_telegram_secrets_injection.md` 🔴🔴🔴 CD 必須自動注入 K8s Secrets |
| **🔴🔴🔴 前端內網禁令** | `feedback_docker_nextjs_api_url.md` + `feedback_sentry_local_network.md` |
| **🔴🔴 AI Router 重構** | `project_phase24_ai_router.md` 🔴🔴 D1-D14 決策 + 絞殺者遷移 |
| **AI Fallback 順序** | `feedback_ai_fallback_order.md` 🔴 修改需讀 Phase 24 指引 |
---
## 🔴🔴 Phase 24 AI Provider Registry (2026-04-02)
**詳細文件:** `project_phase24_ai_router.md`
**ADR:** ADR-052 (已起草)
**HARD_RULES:** OpenClaw 章節 Phase 24 規範
**核心規則:**
- Router 只依賴 AIProvider Protocol禁止 import 具體 Provider
- DIAGNOSE/CODE_REVIEW 強制 local Provider (零信任)
- 絞殺者開關 `USE_AI_ROUTER` 新舊並存
- ConsensusEngine (P0/P1) 獨立路徑,不走 AIRouter
---
## 🔴🔴🔴 前端內網 IP 禁令 (2026-03-30)
**詳細文件:** `feedback_docker_nextjs_api_url.md` + `feedback_sentry_local_network.md`
**絕對禁止** 在 CD 建置時使用內網 IP
```yaml
# ❌ 觸發瀏覽器「存取區域網路」權限對話框
--build-arg NEXT_PUBLIC_API_URL=http://192.168.0.125:32334
--build-arg NEXT_PUBLIC_SENTRY_DSN=http://...@192.168.0.110:9000/2
# ✅ 必須使用公網域名
--build-arg NEXT_PUBLIC_API_URL=https://awoooi.wooo.work
```
**原因**: `NEXT_PUBLIC_*` 是 build-time 變數,會寫死到 JS Bundle
---
## 🔴 部署層級決策
**詳細文件:** [feedback_deployment_layer_decision.md](~/.claude/projects/-Users-ogt-awoooi/memory/feedback_deployment_layer_decision.md)
**簡述**: 部署新服務前必須評估 主機/容器/K3s 層級,禁止直接 `docker run``kubectl apply`
---
## 🔴🔴 leWOOOgo 積木化
**詳細文件:** [feedback_lewooogo_modular_enforcement.md](~/.claude/projects/-Users-ogt-awoooi/memory/feedback_lewooogo_modular_enforcement.md)
**簡述**: 修改 `apps/api/` 前必問 5 題Router 層禁止直接存取 Redis/DB
---
## 🔴🔴🔴 Telegram 告警鏈路 (ADR-035)
**ADR**: [ADR-035-telegram-alert-chain-enforcement.md](docs/adr/ADR-035-telegram-alert-chain-enforcement.md)
**Memory**: [feedback_telegram_secrets_injection.md](~/.claude/projects/-Users-ogt-awoooi/memory/feedback_telegram_secrets_injection.md)
### 強制規則
1. **CD 必須自動注入 K8s Secrets**
- 每次部署都 `kubectl patch secret`
- 禁止依賴 `03-secrets.yaml` 模板值
2. **Pre-flight 必須檢查 Telegram Secrets**
- `OPENCLAW_TG_BOT_TOKEN` 必須存在
- 缺少則 CI 失敗
3. **部署後必須 E2E 驗證**
- 發送測試告警驗證鏈路
- 失敗則繞過 API 直接告警
### 禁止事項
```yaml
# ❌ 禁止: secrets.yaml 使用 CHANGE_ME
OPENCLAW_TG_BOT_TOKEN: "CHANGE_ME"
# ❌ 禁止: CD 不處理 secrets
# (沒有 kubectl patch secret 步驟)
```
---
## Skills 載入
| 任務類型 | Skill 路徑 |
|---------|-----------|
| 前端 | `.agents/skills/01-awoooi-frontend-aesthetics.md` |
| 後端 | `.agents/skills/02-lewooogo-backend-core.md` |
| AI/決策 | `.agents/skills/03-openclaw-cognitive-expert.md` |
| DevOps | `.agents/skills/04-awoooi-devops-commander.md` |
| 測試 | `.agents/skills/05-awoooi-sre-qa.md` |
| Git | `.agents/skills/06-awoooi-monorepo-master.md` |
| Tool 整合 | `.agents/skills/07-tool-integration-expert.md` |
| 模型路由 | `.agents/skills/08-model-router-expert.md` 🔴 Phase 24 AIRouter |
| **絞殺者重構** | `.agents/skills/09-strangler-pattern-expert.md` 🔴 Phase 24 遷移 |
## Memory 系統
- 長期記憶:`~/.claude/projects/-Users-ogt-awoooi/memory/`
- 索引:`MEMORY.md`
- 進度:`docs/LOGBOOK.md`
## Session 協議
**啟動時**:讀 MEMORY.md → LOGBOOK.md → 確認當前任務
**結束前**:更新相關 Memory → 更新 LOGBOOK → 標記下一步