feat(lotto-evolver): LottoAgent.run_weekly_evolution_report + 토 22:15 cron

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-22 03:24:18 +09:00
parent d0047c2b9d
commit 92329f6fd5
2 changed files with 26 additions and 0 deletions

View File

@@ -147,6 +147,26 @@ class LottoAgent(BaseAgent):
add_log(self.agent_id, f"daily_digest 발송: 평가 {evaluated} / 발화 {len(sigs)}")
return {"ok": True, **digest}
async def run_weekly_evolution_report(self) -> dict:
"""토 22:15 — lotto-lab evaluate-now 트리거 후 텔레그램 리포트."""
from ..service_proxy import lotto_evolver_evaluate, lotto_evolver_status
from ..notifiers.telegram_lotto import send_evolution_report
from ..db import add_log
try:
eval_result = await lotto_evolver_evaluate()
status = await lotto_evolver_status()
current_base = status.get("current_base") or [0.2] * 5
await send_evolution_report(eval_result, current_base)
add_log(
self.agent_id,
f"weekly_evolution_report 발송: draw={eval_result.get('draw_no')} reason={eval_result.get('update_reason')}",
)
return {"ok": True, **eval_result}
except Exception as e:
add_log(self.agent_id, f"weekly_evolution_report 예외: {e}", level="error")
return {"ok": False, "message": f"{type(e).__name__}: {e}"}
async def _run(self, source: str) -> dict:
task_id = create_task(self.agent_id, "curate_weekly", {"source": source})
await self.transition("working", "후보 수집 및 AI 큐레이션 중...", task_id)