1pub mod neuromorphic;
5pub mod quantum_stub;
6
7pub use neuromorphic::NeuromorphicBackend;
8pub use quantum_stub::QuantumStubBackend;
9
10pub trait SubstrateBackend: Send + Sync {
12 fn name(&self) -> &'static str;
14
15 fn similarity_search(&self, query: &[f32], k: usize) -> Vec<SearchResult>;
17
18 fn adapt(&mut self, pattern: &[f32], reward: f32) -> AdaptResult;
20
21 fn coherence(&self) -> f32;
23
24 fn reset(&mut self);
26}
27
28#[derive(Debug, Clone)]
29pub struct SearchResult {
30 pub id: u64,
31 pub score: f32,
32 pub embedding: Vec<f32>,
33}
34
35#[derive(Debug, Clone)]
36pub struct AdaptResult {
37 pub delta_norm: f32,
38 pub mode: &'static str,
39 pub latency_us: u64,
40}