feat(Phase 3): Evolver loop 排程 + 手動觸發端點 — 合併演練閘道完工
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled

- playbook_evolver.py: 新增 run_evolver_loop()(24h 無限迴圈)
- main.py: 掛載 run_evolver_loop asyncio.create_task
- api/v1/learning.py: POST /api/v1/learning/evolver/run(Phase 3 exit #6 演練端點)
- MASTER §8: 補錄 66c4eda AgentSession + 本次 Evolver 完整退出條件清單

ADR-083 Phase 3 — 2026-04-15 ogt + Claude Sonnet 4.6(亞太)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-04-15 21:07:56 +08:00
parent 66c4eda27a
commit 4718c7667c
4 changed files with 125 additions and 1 deletions

View File

@@ -354,3 +354,23 @@ async def schedule_daily_evolver() -> None:
)
except Exception:
logger.exception("evolver_daily_failed")
DAILY_INTERVAL_SEC = 86_400 # 24h
async def run_evolver_loop() -> None:
"""
無限迴圈:每 24 小時執行一次 Evolver Agent。
在 main.py startup 以 asyncio.create_task 掛載。
ADR-083 Phase 3: Evolver 每日掃描L4×D3 + L5×D2
2026-04-15 ogt + Claude Sonnet 4.6(亞太): Phase 3 初始建立
"""
while True:
try:
await schedule_daily_evolver()
except Exception as e:
logger.error("evolver_loop_error", error=str(e))
await asyncio.sleep(DAILY_INTERVAL_SEC)