internal/models/models.go:42-89 has a hardcoded RunnerModels map with 35 model entries across 5 runners (claude_code, gemini, codex, copilot, opencode). Every new model or runner requires editing this map.
Used by IsValidModelForRunner() for CLI validation and scheduler.go for runtime checks.
Proposal:
- Load model lists from config or embed file rather than hardcoding
- Alternatively, make each runner own its model list so additions are scoped to the runner package
internal/models/models.go:42-89has a hardcodedRunnerModelsmap with 35 model entries across 5 runners (claude_code, gemini, codex, copilot, opencode). Every new model or runner requires editing this map.Used by
IsValidModelForRunner()for CLI validation andscheduler.gofor runtime checks.Proposal: