fix(auto_repair): playbook_seed_service — 從 alert_rules.yaml 初始化 APPROVED Playbook
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
根本原因: playbooks 表空 → NO_MATCH → 永遠走審批,從不自動修復 修復: startup 時從 alert_rules.yaml seed APPROVED Playbook(冪等) 確保自動修復鏈路有規則可用 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -286,6 +286,15 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
|
||||
# 2026-04-10 Claude Sonnet 4.6 Asia/Taipei
|
||||
# 目的: 確保 playbook_embeddings 表有最新向量,供語義相似度查詢
|
||||
# 使用 asyncio.create_task 非阻塞 — 不影響 API 啟動速度
|
||||
# Phase ADR-068 2026-04-10: 從 alert_rules.yaml seed Playbook(冪等)
|
||||
# 必須在 embedding indexing 之前,確保 playbook 表有資料
|
||||
try:
|
||||
from src.services.playbook_seed_service import seed_playbooks_from_rules
|
||||
asyncio.create_task(seed_playbooks_from_rules())
|
||||
logger.info("playbook_seed_scheduled")
|
||||
except Exception as e:
|
||||
logger.warning("playbook_seed_schedule_failed", error=str(e))
|
||||
|
||||
try:
|
||||
from src.services.playbook_embedding_service import ensure_playbook_embeddings_indexed
|
||||
asyncio.create_task(ensure_playbook_embeddings_indexed())
|
||||
|
||||
Reference in New Issue
Block a user