KeiSeiKit-1.0/_primitives/_rust/kei-machine-probe/tests/recommendations_intel_8gb.rs
Parfii-bot 0be354a920 KeiSeiKit-public — clean state
Single-commit clean baseline after security scrub of niche-tells,
project codenames, internal jargon, and contributor-email leaks.

Contents:
- 100 Rust crates (_primitives/_rust/)
- 37 agent manifests (_manifests/) + generated specs (_generated/)
- 67 user-invocable skills (skills/)
- 33 hooks (hooks/)
- Composition blocks (_blocks/)
- Documentation (docs/, README.md)
- TS adapter packages (_ts_packages/)
- Assembler (_assembler/)
- Roles (_roles/)
- Templates (_templates/)
- Forgejo CI (.forgejo/)

Author: Denis Parfionovich <info@greendragon.info>

License: see LICENSE.
2026-05-01 12:09:03 +08:00

53 lines
1.8 KiB
Rust

//! Recommendations on Intel Mac with 8 GB and on Linux (NotViable).
use kei_machine_probe::{
recommend, ArchInfo, BackendTier, Capability, CpuFamily, GpuInfo, Machine, MemoryInfo,
OsFamily, OsInfo, ToolingInfo,
};
fn machine_intel(gb: u64, family: OsFamily) -> Machine {
Machine {
os: OsInfo { family, version: "12.7".into(), build: "21H1015".into() },
arch: ArchInfo {
family: CpuFamily::IntelX86_64,
brand: "Intel(R) Core(TM) i7".into(),
model_id: "MacBookPro16,4".into(),
cores: 16,
},
memory: MemoryInfo {
total_bytes: gb * 1024 * 1024 * 1024,
available_bytes: 1_000_000_000,
pressure_pct: 60,
},
gpu: GpuInfo::IntelIntegrated { name: "Intel UHD".into() },
tooling: ToolingInfo::default(),
source_commands: vec![],
}
}
#[test]
fn intel_8gb_runs_small_models_only_via_ollama() {
let m = machine_intel(8, OsFamily::Macos);
let r = recommend(&m);
assert_eq!(r.capability, Capability::RunsSmallModelsOnly);
assert_eq!(r.viable_backends, vec![BackendTier::Ollama]);
assert!(r.max_model_b_params <= 3);
}
#[test]
fn intel_16gb_runs_mid_models_no_mlx() {
let m = machine_intel(16, OsFamily::Macos);
let r = recommend(&m);
assert_eq!(r.capability, Capability::RunsMidModels);
assert!(!r.viable_backends.contains(&BackendTier::MlxNative));
assert!(r.viable_backends.contains(&BackendTier::LlamaCpp));
}
#[test]
fn linux_marks_not_viable() {
let m = machine_intel(32, OsFamily::Linux);
let r = recommend(&m);
assert_eq!(r.capability, Capability::NoLocalInferenceViable);
assert_eq!(r.viable_backends, vec![BackendTier::NotViable]);
assert_eq!(r.max_model_b_params, 0);
}