feat: time-aware model routing for cron jobs (#317)
Some checks failed
Forge CI / smoke-and-build (pull_request) Failing after 1m5s
Some checks failed
Forge CI / smoke-and-build (pull_request) Failing after 1m5s
Route cron jobs to different models based on time of day. - Peak hours (user active): cheaper model, user catches errors - Off-peak hours (user absent): stronger model, errors go uncorrected Config under smart_model_routing.cron_time_routing: enabled, timezone, peak_hours (start/end), peak_model, offpeak_model Integrates into cron/scheduler.py via resolve_cron_turn_route(), which checks time-aware routing first, then falls back to normal smart routing. 12 tests added (test_cron_time_routing.py). All 18 routing tests pass. Closes #317
This commit is contained in:
@@ -87,6 +87,21 @@ model:
|
||||
# cheap_model:
|
||||
# provider: openrouter
|
||||
# model: google/gemini-2.5-flash
|
||||
# # Time-aware cron routing: pick model based on hour of day.
|
||||
# # Peak hours = user present, cheaper model OK (they catch errors).
|
||||
# # Off-peak = user absent, stronger model (errors go uncorrected).
|
||||
# cron_time_routing:
|
||||
# enabled: true
|
||||
# timezone: "America/New_York" # IANA timezone (default: UTC)
|
||||
# peak_hours:
|
||||
# start: 9 # inclusive, 0-23
|
||||
# end: 18 # exclusive, 0-23
|
||||
# peak_model: # model during peak hours (user active)
|
||||
# provider: openrouter
|
||||
# model: xiaomi/mimo-v2-pro
|
||||
# offpeak_model: # model during off-peak (user absent)
|
||||
# provider: openrouter
|
||||
# model: anthropic/claude-sonnet-4
|
||||
|
||||
# =============================================================================
|
||||
# Git Worktree Isolation
|
||||
|
||||
Reference in New Issue
Block a user