YouTube Board

ai.mayor_person

scheduler enabled local polling enabled active command ready local write not due now
Modern command
ai:mayor-person
Legacy command
new Laravel mayor candidate daily AI dashboard
Schedule
45 5,20 * * *
每日 05:45 產生早報,20:45 在資料更完整後覆寫同一日期報告;先由台北市候選人日報開始,可用 --city/--person 手動補跑
Evaluation time
2026-06-10 18:40:45 Asia/Taipei
External dependency
Local DB
Write targets
preview mode; explicit/scheduled --execute calls OpenCode-compatible chat completions and upserts urt_mayor_person_ai
Notes
本 job 讀 mayor candidate 固定清單、urt_show_tag_dateurt_show_video_tag_dateurt_video,產生每位候選人的每日 Dashboard prompt;execute mode 用 OpenCode-compatible chat completions 產生「今日發生什麼、調整事項、今日行動」JSON,idempotently upsert urt_mayor_person_ai。頁面 request 只讀 cache,不直接呼叫 AI。Production scheduled execute 仍受 scheduler/local-production polling/allowlist gates 控制;手動補跑可用 ai:mayor-person --execute --city=taipei --person=蔣萬安,沈伯洋 --date=YYYY-MM-DD --ai-call-limit=2

Execution Guardrail

此 job 目前不會執行;下面保留 guardrail 原始原因,方便對照 CLI/output。

  • Job declares write targets, so it is not allowed under the current controlled execution guardrail.

Scheduled Local Polling

此 job 已 allowlisted,可以由 scheduler-enabled polling 執行。當 ingestion:run --execute 評估為 due 時,scheduler 會使用下方 capped command。

ai:mayor-person --execute --city=taipei --limit=10 --ai-call-limit=10

Safe Commands

php artisan ingestion:run --job=ai.mayor_person --at="2026-06-10 18:40:45" INGESTION_SCHEDULER_ENABLED=true php artisan ingestion:run --execute --job=ai.mayor_person INGESTION_SCHEDULER_ENABLED=true INGESTION_LOCAL_POLLING_ENABLED=true php artisan ingestion:run --execute --job=ai.mayor_person

Next Runs

45 5,20 * * *

  • 2026-06-10 20:45:00 CST
  • 2026-06-11 05:45:00 CST
  • 2026-06-11 20:45:00 CST
  • 2026-06-12 05:45:00 CST
  • 2026-06-12 20:45:00 CST