Skip to content
This repository was archived by the owner on Aug 20, 2026. It is now read-only.

Commit 1256213

Browse files
Roberdanclaude
andcommitted
fix(kernel): make escalation tests hardware-independent
Tests for write-intent classification were using inference_level_for() which depends on AppleFmBridge availability (Apple Silicon + mlx_lm). This caused failures on any machine without the MLX bridge. Now tests call is_write_intent() directly, testing the classification logic without hardware dependency. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ab81a81 commit 1256213

1 file changed

Lines changed: 14 additions & 23 deletions

File tree

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// Tests for cloud escalation and inference level logic.
1+
// Tests for cloud escalation and write-intent classification.
22

33
use crate::kernel::cloud_escalation::CLOUD_MODEL;
4-
use crate::kernel::engine::{InferenceLevel, KernelConfig, KernelEngine};
4+
use crate::kernel::voice_router_helpers::is_write_intent;
55

66
#[test]
77
fn test_cloud_model_is_opus() {
@@ -15,42 +15,33 @@ fn test_cloud_model_routes_to_claude() {
1515
}
1616

1717
#[test]
18-
fn test_inference_level_write_italian() {
19-
let mut eng = KernelEngine::new(KernelConfig::default());
20-
eng.load_model("test-model");
21-
assert_eq!(eng.inference_level_for("crea un piano"), InferenceLevel::Cloud);
18+
fn test_write_intent_italian() {
19+
assert!(is_write_intent("crea un piano"));
2220
}
2321

2422
#[test]
25-
fn test_inference_level_write_english() {
26-
let mut eng = KernelEngine::new(KernelConfig::default());
27-
eng.load_model("test-model");
28-
assert_eq!(eng.inference_level_for("create a new org"), InferenceLevel::Cloud);
23+
fn test_write_intent_english() {
24+
assert!(is_write_intent("create a new org"));
2925
}
3026

3127
#[test]
32-
fn test_inference_level_read_italian() {
33-
let mut eng = KernelEngine::new(KernelConfig::default());
34-
eng.load_model("test-model");
35-
assert_eq!(eng.inference_level_for("stato dei piani"), InferenceLevel::Local);
28+
fn test_read_intent_italian() {
29+
assert!(!is_write_intent("stato dei piani"));
3630
}
3731

3832
#[test]
39-
fn test_inference_level_ali_escalation() {
40-
let mut eng = KernelEngine::new(KernelConfig::default());
41-
eng.load_model("test-model");
42-
assert_eq!(eng.inference_level_for("parla con ali"), InferenceLevel::Cloud);
33+
fn test_write_intent_ali_escalation() {
34+
assert!(is_write_intent("parla con ali"));
4335
}
4436

4537
#[test]
46-
fn test_inference_level_no_model() {
38+
fn test_no_model_returns_cloud() {
39+
use crate::kernel::engine::{InferenceLevel, KernelConfig, KernelEngine};
4740
let eng = KernelEngine::new(KernelConfig::default());
4841
assert_eq!(eng.inference_level_for("qualsiasi cosa"), InferenceLevel::Cloud);
4942
}
5043

5144
#[test]
52-
fn test_inference_level_cost_query() {
53-
let mut eng = KernelEngine::new(KernelConfig::default());
54-
eng.load_model("test-model");
55-
assert_eq!(eng.inference_level_for("quanto costa"), InferenceLevel::Local);
45+
fn test_read_intent_cost_query() {
46+
assert!(!is_write_intent("quanto costa"));
5647
}

0 commit comments

Comments
 (0)