Use nova model as the default cloud tier

Co-Authored-By: siGit Code <noreply@sigit.si>

Seto Elkahfi committed Sep 14, 2026 at 16:20 UTC f28e932dc44a4f3ef64bf39470ec191f79910bc4
3 files changed +15 -3
src/headless.rs
+1 -1
@@ -170,7 +170,7 @@ pub async fn run(config: HeadlessConfig) -> i32 {
170 if settings::local_inference_enabled() {
171 None
172 } else {
173 - provider::cloud_tier_provider("balanced")
173 + provider::cloud_tier_provider(provider::DEFAULT_CLOUD_TIER)
174 }
175 });
176 let Some(cfg) = provider_cfg else {
src/main.rs
+6 -2
@@ -2248,7 +2248,11 @@ impl SiGitAgent {
2248 if settings::local_inference_enabled() {
2249 return;
2250 }
2251 - if self.switch_to_cloud_tier("balanced").await.is_some() {
2251 + if self
2252 + .switch_to_cloud_tier(provider::DEFAULT_CLOUD_TIER)
2253 + .await
2254 + .is_some()
2255 + {
2256 log::info!("startup: local inference off; routing inference to siGit Code Cloud");
2257 } else {
2258 log::warn!(
@@ -3645,7 +3649,7 @@ async fn run_interactive(tty: std::fs::File, mut cleanup_tty: std::fs::File) ->
3649 let cloud_when_off = if settings::local_inference_enabled() {
3650 None
3651 } else {
3648 - provider::cloud_tier_provider("balanced")
3652 + provider::cloud_tier_provider(provider::DEFAULT_CLOUD_TIER)
3653 };
3654
3655 match cloud_when_off {
src/provider.rs
+8
@@ -43,6 +43,8 @@ pub const CLOUD_TIERS: &[&str] = &[
43 "nova",
44 ];
45
46 +pub const DEFAULT_CLOUD_TIER: &str = "nova";
47 +
48 /// Base URL of the siGit Code Cloud inference endpoint. Override with
49 /// `SIGIT_CLOUD_URL` (dev: `http://localhost:8090/v1`).
50 pub fn cloud_base_url() -> String {
@@ -259,4 +261,10 @@ mod tests {
261 assert_eq!(non_empty(Some(" x ".to_string())), Some("x".to_string()));
262 assert_eq!(non_empty(None), None);
263 }
264 +
265 + #[test]
266 + fn maps_default_cloud_tier_to_wire_model_id() {
267 + assert_eq!(DEFAULT_CLOUD_TIER, "nova");
268 + assert_eq!(tier_to_model(DEFAULT_CLOUD_TIER), "onde-nova");
269 + }
270 }