🔴 事故根因: K8s Secrets 未注入,Telegram 告警長時間失效 - kustomization.yaml 說「由 CI/CD 處理」但 CD 從未執行 🛡️ 三層防護機制: - Layer 1: Pre-flight 檢查 GitHub Secrets 存在 - Layer 2: Deploy 時 kubectl patch secret 自動注入 - Layer 3: Post-Deploy E2E 測試告警驗證 📄 文件更新: - ADR-035: docs/adr/ADR-035-telegram-alert-chain-enforcement.md - DevOps Skill v1.9: 新增 Secrets 注入鐵律 - CLAUDE.md: 新增告警鏈路章節 - LOGBOOK: 事故記錄 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.8 KiB
AWOOOI Project Configuration
Claude Code 自動載入,定義核心原則
🚨🚨🚨 強制提醒 (每小時自我檢查)
你有確實執行以下動作嗎?沒有就立刻執行!
□ 讀過 MEMORY.md 索引?
□ 讀過 docs/LOGBOOK.md 最新進度?
□ 讀過 docs/HARD_RULES.md 絕對禁止規則?
□ 涉及特定主題時,讀過對應 feedback_*.md?
□ 修改檔案前,讀過該檔案的所有註解? 🔴 NEW
違反後果: 重複犯錯、統帥需要反覆提醒、信任度下降
🔴 絕對禁止 (Hard Rules)
做任何修改前,先讀對應的鐵律文件:
⚠️ Session 啟動第一步
在做任何事之前,先讀:
MEMORY.md- 記憶索引docs/LOGBOOK.md- 最新進度docs/HARD_RULES.md- 絕對禁止規則- 涉及主題的
feedback_*.md
不要讓統帥說「你讀過 Memory 了嗎?」
四大核心原則
- 變更前 → 先讀註解 (理解設計意圖再動手) 🔴 NEW
- 不可逆操作 → 人工確認 (刪除、logOut、DROP、force push)
- 有疑問 → 先問統帥 (不確定就停下來)
- 任務完成 → 更新 Memory (不等被問)
🔴 紅區治理
→ 詳細文件: RED_ZONES.md
簡述: Tier 3 核心檔案 (decision_manager, trust_engine, config 等) 修改需首席架構師授權
專案架構
apps/api/- FastAPI 後端apps/web/- Next.js 前端k8s/- Kubernetes 配置
🏗️ 基礎設施參考
→ SERVICE-ENDPOINTS.md - 五主機架構與服務端點 → K3S-OPTIMIZATION-RUNBOOK.md - K3s 維運手冊
🛑 修改前
修改以下檔案前,必須先讀 HARD_RULES.md:
.github/workflows/*→ GitHub Billing 章節*telegram*→ Telegram Token 章節apps/web/**→ i18n 章節- Incident/Approval 流程 → 確認 Telegram + DB 鏈路
- Alertmanager/NetworkPolicy → ADR-025 告警鏈路 E2E 驗證 🔴🔴
任務前必讀
涉及以下主題時,先讀取對應 Memory:
| 主題 | Memory 路徑 |
|---|---|
| 變更前必讀 | 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_deployment_layer_decision.md
簡述: 部署新服務前必須評估 主機/容器/K3s 層級,禁止直接 docker run 或 kubectl apply
🔴🔴 leWOOOgo 積木化
→ 詳細文件: feedback_lewooogo_modular_enforcement.md
簡述: 修改 apps/api/ 前必問 5 題,Router 層禁止直接存取 Redis/DB
🔴🔴🔴 Telegram 告警鏈路 (ADR-035)
→ ADR: ADR-035-telegram-alert-chain-enforcement.md → Memory: feedback_telegram_secrets_injection.md
強制規則
-
CD 必須自動注入 K8s Secrets
- 每次部署都
kubectl patch secret - 禁止依賴
03-secrets.yaml模板值
- 每次部署都
-
Pre-flight 必須檢查 Telegram Secrets
OPENCLAW_TG_BOT_TOKEN必須存在- 缺少則 CI 失敗
-
部署後必須 E2E 驗證
- 發送測試告警驗證鏈路
- 失敗則繞過 API 直接告警
禁止事項
# ❌ 禁止: 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 |
| 絞殺者重構 | .agents/skills/09-strangler-pattern-expert.md 🆕 |
Memory 系統
- 長期記憶:
~/.claude/projects/-Users-ogt-awoooi/memory/ - 索引:
MEMORY.md - 進度:
docs/LOGBOOK.md
Session 協議
啟動時:讀 MEMORY.md → LOGBOOK.md → 確認當前任務
結束前:更新相關 Memory → 更新 LOGBOOK → 標記下一步