//! Desktop-owned orchestration: managed model setup and persistent hybrid queries.
use crate::{measured_outcome, model_download, AppState, Filters, MeasuredFailure};
use searchi_core::metrics::{MetricsMode, SearchResponse, TraceCollector};
use searchi_core::SearchResult;
use searchi_service::{
EmbeddingReport, HybridSearch, InferenceBudget, InferenceRole, SemanticCoverage,
};
use serde::Serialize;
use std::{
path::PathBuf,
sync::{
atomic::{AtomicBool, AtomicU64, Ordering},
Mutex,
},
};
use tauri::State;
pub struct SemanticState {
pub model_directory: PathBuf,
pub worker: PathBuf,
verified: AtomicBool,
text_verified: AtomicBool,
media_verified: AtomicBool,
media_error: Mutex