Some checks failed
CD Pipeline / deploy (push) Failing after 5m18s
🔴 Critical - auto_heal_service: 補 import re + sqlalchemy.text + 修正 orchestrator 變數名 + autoheal_playbook→playbooks 表名 + _alert_and_store cooldown 修復 - aider_heal_executor: shell injection 改 shell=False + list 參數 - docker-compose: DISABLE_LOGIN 改 env var + 移除密碼 fallback + POSTGRES_HOST 修正 - app.py: /api/backup /api/run_task 等 6 個管理 API 加 @login_required - config.py + pg_sync + e2e_test: 移除 wooo_pg_2026 hardcoded 密碼 fallback - pg_backup.sh: 移除 TELEGRAM_TOKEN= 中間變數,直接用 $TELEGRAM_BOT_TOKEN - migration 014: trigger_pattern→match_pattern + 補 error_type NOT NULL 欄位 🟡 High - telegram_bot_service: str(e) 改通用訊息 + session try/finally + 移除 pa:/pr: 舊 callback - run_scheduler: ElephantAlpha thread 死亡監控 + 自動重啟 + Telegram 告警 + agent_context 03:30 TTL 定時清理任務 - openclaw_learning_service: build_rag_context 兩路徑加 .limit(200) - hooks: commit-quality + momo-prod-guard 空 catch 改 stderr+exit(1) - scripts/code_review: auto_yes 預設改 false - db_backup_service: PGPASSWORD 透過 env dict 傳遞 📦 Migrations - 013_autoheal: 修正建表順序 playbooks→incidents(外鍵前向引用) - 018_add_missing_indexes: heal_logs/incidents 外鍵索引 + cleanup_expired_agent_context() 🟢 Infrastructure - requirements.txt: 加版本下界 Flask>=2.3 SQLAlchemy>=1.4 等 - cd.yaml: 新增 run_scheduler.py + run_telegram_bot.py 監聽路徑 - .gitignore: insert_playbook_local.py 加入忽略 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
1.2 KiB
PL/PgSQL
19 lines
1.2 KiB
PL/PgSQL
-- Migration 018: 補缺失外鍵索引 + agent_context TTL 清理函數
|
||
-- 建立日期:2026-04-22
|
||
-- 關聯 ADR: ADR-013 (AIOps AutoHeal)、ADR-017 (agent_context)
|
||
|
||
-- ─────────────────────────────────────────────────
|
||
-- 補缺失的外鍵索引(heal_logs / incidents)
|
||
-- ─────────────────────────────────────────────────
|
||
CREATE INDEX IF NOT EXISTS idx_incidents_playbook_id ON incidents(playbook_id);
|
||
CREATE INDEX IF NOT EXISTS idx_heal_logs_playbook_id ON heal_logs(playbook_id);
|
||
|
||
-- ─────────────────────────────────────────────────
|
||
-- agent_context TTL 清理函數(配合 scheduler 定時呼叫)
|
||
-- ─────────────────────────────────────────────────
|
||
CREATE OR REPLACE FUNCTION cleanup_expired_agent_context()
|
||
RETURNS void AS $$
|
||
DELETE FROM agent_context
|
||
WHERE created_at + (ttl_minutes * interval '1 minute') < NOW();
|
||
$$ LANGUAGE sql;
|