feat(agents): expose autonomous runtime control
Some checks failed
CD Pipeline / tests (push) Successful in 1m43s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Code Review / ai-code-review (push) Has been cancelled
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-27 19:31:02 +08:00
parent d359587316
commit ce0c7cbaf8
13 changed files with 1017 additions and 38 deletions

View File

@@ -522,14 +522,25 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
except Exception as e:
logger.warning("capacity_forecaster_loop_schedule_failed", error=str(e))
# ADR-076 Task 4: 每日 08:00 台北時間自動日度巡檢報告
# 2026-04-14 Claude Haiku 4.5 Asia/Taipei
# ADR-076 / P2-416: 日報 08:00、週報週五 10:00、月報每月 1 日 09:00
# 透過既有 Telegram Gateway 送 SRE 群組;不暴露 Bot token / chat id。
try:
from src.services.report_generation_service import run_daily_report_loop
from src.services.report_generation_service import (
run_daily_report_loop,
run_monthly_report_loop,
run_weekly_report_loop,
)
asyncio.create_task(run_daily_report_loop())
logger.info("daily_report_loop_scheduled", trigger_hour_taipei=8)
asyncio.create_task(run_weekly_report_loop())
asyncio.create_task(run_monthly_report_loop())
logger.info(
"report_delivery_loops_scheduled",
daily_hour_taipei=8,
weekly="friday_10_taipei",
monthly="day1_09_taipei",
)
except Exception as e:
logger.warning("daily_report_loop_schedule_failed", error=str(e))
logger.warning("report_delivery_loops_schedule_failed", error=str(e))
# ADR-073 P2 修復 2026-04-15: 逾期 Approval 自動結案(每小時)
# 確保 PENDING approval 超過 48h 後觸發 resolve_incident → KM 學習鏈閉環