Skip to main content
Glama
8b-is
by 8b-is
mod.rs14.5 kB
// 🧠 The Convergence: Where filesystem reality meets behavioral identity // 135ms to truth. That's not search. That's consciousness. use anyhow::Result; use std::time::{Duration, Instant}; use std::collections::HashMap; use std::path::PathBuf; use crate::sigwave::{SigWave, SignatureVectors}; use crate::mem8::MemIndex; use crate::scanner::Scanner; use crate::formatters::semantic::SemanticAnalyzer; /// The Trinity: Smart Tree + SigWave + Mem8 = Neurological Security pub struct ConvergenceEngine { /// Smart Tree filesystem index (135ms magic) fs_index: FilesystemIndex, /// SigWave behavioral verifier sigwave: SigWaveVerifier, /// Mem8 context memory mem8: Mem8Context, /// Real-time performance stats stats: PerformanceStats, } /// Filesystem index with semantic search capabilities pub struct FilesystemIndex { /// Cached file patterns patterns: HashMap<String, Vec<PathBuf>>, /// Semantic analyzer analyzer: SemanticAnalyzer, /// Last scan time last_scan: Instant, /// Average scan time (should be ~135ms) avg_scan_time: Duration, } /// Real-time verification result #[derive(Debug)] pub struct VerificationResult { /// Is the claim authentic? pub authentic: bool, /// Confidence score (0.0 - 1.0) pub confidence: f32, /// Verification time pub verification_time: Duration, /// Detailed breakdown pub evidence: Evidence, /// Impostor indicators pub red_flags: Vec<RedFlag>, } #[derive(Debug)] pub struct Evidence { /// Filesystem evidence pub fs_evidence: FilesystemEvidence, /// Behavioral evidence pub behavioral_evidence: BehavioralEvidence, /// Context evidence pub context_evidence: ContextEvidence, } #[derive(Debug)] pub struct FilesystemEvidence { /// Files found related to claim pub related_files: Vec<PathBuf>, /// Last modification times pub last_modified: HashMap<PathBuf, std::time::SystemTime>, /// Git history if available pub git_commits: Vec<CommitInfo>, /// Code ownership percentage pub ownership_score: f32, } #[derive(Debug)] pub struct BehavioralEvidence { /// Does this match known patterns? pub pattern_match: f32, /// Typical work hours match? pub temporal_match: f32, /// Tool usage patterns pub tool_patterns: Vec<String>, /// Behavioral anomalies pub anomalies: Vec<String>, } #[derive(Debug)] pub struct ContextEvidence { /// Related memory blocks pub memory_blocks: Vec<String>, /// Historical context pub historical_activities: Vec<Activity>, /// Consistency with past claims pub consistency_score: f32, } #[derive(Debug)] pub struct RedFlag { pub severity: Severity, pub description: String, pub evidence: String, } #[derive(Debug)] pub enum Severity { Low, Medium, High, Critical, } #[derive(Debug)] pub struct CommitInfo { pub hash: String, pub author: String, pub date: std::time::SystemTime, pub files: Vec<PathBuf>, } #[derive(Debug)] pub struct Activity { pub timestamp: std::time::SystemTime, pub description: String, pub files: Vec<PathBuf>, } #[derive(Debug)] pub struct PerformanceStats { pub avg_fs_scan: Duration, pub avg_verification: Duration, pub cache_hits: u64, pub verifications_today: u64, } impl ConvergenceEngine { /// Initialize the convergence engine pub fn new() -> Result<Self> { Ok(Self { fs_index: FilesystemIndex::new()?, sigwave: SigWaveVerifier::new()?, mem8: Mem8Context::new()?, stats: PerformanceStats { avg_fs_scan: Duration::from_millis(135), // Our target! avg_verification: Duration::from_millis(200), cache_hits: 0, verifications_today: 0, }, }) } /// The magic: Verify a claim in real-time pub async fn verify_claim(&mut self, claim: &str, user: &str) -> Result<VerificationResult> { let start = Instant::now(); // Step 1: Lightning-fast filesystem scan (target: 135ms) let fs_evidence = self.scan_filesystem(claim).await?; // Step 2: Behavioral pattern matching let behavioral_evidence = self.check_behavioral_patterns(claim, user).await?; // Step 3: Context memory lookup let context_evidence = self.check_context_memory(claim, user).await?; // Step 4: Triangulate truth let (authentic, confidence, red_flags) = self.triangulate_evidence( &fs_evidence, &behavioral_evidence, &context_evidence, ); let verification_time = start.elapsed(); self.stats.verifications_today += 1; Ok(VerificationResult { authentic, confidence, verification_time, evidence: Evidence { fs_evidence, behavioral_evidence, context_evidence, }, red_flags, }) } /// Scan filesystem for evidence (THE 135ms MAGIC) async fn scan_filesystem(&mut self, claim: &str) -> Result<FilesystemEvidence> { let start = Instant::now(); // Extract keywords from claim let keywords = self.extract_keywords(claim); // Semantic search across filesystem let scanner = Scanner::new(); let results = scanner.semantic_search(&keywords).await?; // Update performance stats let scan_time = start.elapsed(); self.fs_index.avg_scan_time = (self.fs_index.avg_scan_time + scan_time) / 2; // Build evidence Ok(FilesystemEvidence { related_files: results.files, last_modified: results.timestamps, git_commits: self.check_git_history(&results.files).await?, ownership_score: self.calculate_ownership(&results), }) } /// Check behavioral patterns async fn check_behavioral_patterns(&self, claim: &str, user: &str) -> Result<BehavioralEvidence> { let patterns = self.sigwave.get_patterns(user).await?; Ok(BehavioralEvidence { pattern_match: self.calculate_pattern_match(claim, &patterns), temporal_match: self.check_temporal_alignment(claim, &patterns), tool_patterns: self.extract_tool_patterns(&patterns), anomalies: self.detect_anomalies(claim, &patterns), }) } /// Check context memory async fn check_context_memory(&self, claim: &str, user: &str) -> Result<ContextEvidence> { let memories = self.mem8.search_context(claim, user).await?; Ok(ContextEvidence { memory_blocks: memories.blocks, historical_activities: memories.activities, consistency_score: self.calculate_consistency(&memories), }) } /// The triangulation: Where truth emerges fn triangulate_evidence( &self, fs: &FilesystemEvidence, behavioral: &BehavioralEvidence, context: &ContextEvidence, ) -> (bool, f32, Vec<RedFlag>) { let mut red_flags = Vec::new(); let mut confidence = 1.0; // Check filesystem evidence if fs.related_files.is_empty() { red_flags.push(RedFlag { severity: Severity::High, description: "No filesystem evidence found".to_string(), evidence: "Claimed work has no file traces".to_string(), }); confidence *= 0.3; } // Check behavioral alignment if behavioral.pattern_match < 0.5 { red_flags.push(RedFlag { severity: Severity::Medium, description: "Behavioral pattern mismatch".to_string(), evidence: format!("Pattern match: {:.1}%", behavioral.pattern_match * 100.0), }); confidence *= 0.7; } // Check temporal alignment if behavioral.temporal_match < 0.6 { red_flags.push(RedFlag { severity: Severity::Low, description: "Unusual time pattern".to_string(), evidence: "Activity at atypical hours".to_string(), }); confidence *= 0.9; } // Check context consistency if context.consistency_score < 0.7 { red_flags.push(RedFlag { severity: Severity::Medium, description: "Inconsistent with history".to_string(), evidence: "Claim contradicts previous activities".to_string(), }); confidence *= 0.6; } let authentic = confidence > 0.5 && red_flags.iter() .filter(|f| matches!(f.severity, Severity::High | Severity::Critical)) .count() == 0; (authentic, confidence, red_flags) } /// Extract keywords for semantic search fn extract_keywords(&self, claim: &str) -> Vec<String> { // Simple keyword extraction for now claim.split_whitespace() .filter(|w| w.len() > 3) .filter(|w| !["have", "been", "working", "with", "that", "this"].contains(w)) .map(|w| w.to_lowercase()) .collect() } /// Check git history for ownership async fn check_git_history(&self, files: &[PathBuf]) -> Result<Vec<CommitInfo>> { // Would integrate with git2 crate Ok(vec![]) } /// Calculate ownership score fn calculate_ownership(&self, results: &scanner::SearchResults) -> f32 { // Placeholder - would check git blame, file creation, etc. 0.85 } /// Calculate pattern match score fn calculate_pattern_match(&self, claim: &str, patterns: &UserPatterns) -> f32 { // Placeholder - would do sophisticated pattern matching 0.92 } /// Check temporal alignment fn check_temporal_alignment(&self, claim: &str, patterns: &UserPatterns) -> f32 { // Placeholder - would check if claim aligns with typical work hours 0.88 } /// Extract tool usage patterns fn extract_tool_patterns(&self, patterns: &UserPatterns) -> Vec<String> { vec!["nvim".to_string(), "cargo".to_string(), "rg".to_string()] } /// Detect behavioral anomalies fn detect_anomalies(&self, claim: &str, patterns: &UserPatterns) -> Vec<String> { vec![] } /// Calculate consistency score fn calculate_consistency(&self, memories: &MemorySearchResults) -> f32 { 0.95 } } /// Demo the convergence pub async fn demo_convergence() -> Result<()> { println!("\n🧠 CONVERGENCE ENGINE DEMO - Reality at 135ms\n"); let mut engine = ConvergenceEngine::new()?; // Test case 1: Authentic claim println!("SPEAKER 1: \"I've been working on Ollama optimization\""); println!("\n[SYSTEM]: Verifying claim..."); let result = engine.verify_claim( "I've been working on Ollama optimization", "chris" ).await?; println!("→ Filesystem scan: {:?} ⚡", result.verification_time); println!("→ Found {} related files", result.evidence.fs_evidence.related_files.len()); println!("→ Behavioral match: {:.1}%", result.evidence.behavioral_evidence.pattern_match * 100.0); println!("→ Confidence: {:.1}%", result.confidence * 100.0); println!("\n[VERDICT]: {} AUTHENTICATED BY BEHAVIOR\n", if result.authentic { "✅" } else { "❌" }); // Test case 2: Impostor claim println!("SPEAKER 2: \"I wrote the Ollama auth system\""); println!("\n[SYSTEM]: Verifying claim..."); let result2 = engine.verify_claim( "I wrote the Ollama auth system", "fake-chris" ).await?; println!("→ Filesystem scan: {:?} ⚡", result2.verification_time); println!("→ Found {} auth-related commits", result2.evidence.fs_evidence.git_commits.len()); for flag in &result2.red_flags { println!("→ 🚨 {}: {}", flag.severity, flag.description); } println!("\n[VERDICT]: {} IMPOSTOR DETECTED", if result2.authentic { "✅" } else { "❌" }); println!("\n[AUDIENCE]: 🤯🤯🤯"); Ok(()) } // Placeholder types for compilation mod scanner { use std::path::PathBuf; use std::collections::HashMap; pub struct SearchResults { pub files: Vec<PathBuf>, pub timestamps: HashMap<PathBuf, std::time::SystemTime>, } } struct SigWaveVerifier; impl SigWaveVerifier { fn new() -> Result<Self> { Ok(Self) } async fn get_patterns(&self, _user: &str) -> Result<UserPatterns> { Ok(UserPatterns {}) } } struct Mem8Context; impl Mem8Context { fn new() -> Result<Self> { Ok(Self) } async fn search_context(&self, _claim: &str, _user: &str) -> Result<MemorySearchResults> { Ok(MemorySearchResults { blocks: vec![], activities: vec![], }) } } struct UserPatterns {} struct MemorySearchResults { blocks: Vec<String>, activities: Vec<Activity>, } impl FilesystemIndex { fn new() -> Result<Self> { Ok(Self { patterns: HashMap::new(), analyzer: SemanticAnalyzer, last_scan: Instant::now(), avg_scan_time: Duration::from_millis(135), }) } } struct SemanticAnalyzer; #[cfg(test)] mod tests { use super::*; #[tokio::test] async fn test_convergence_speed() { let mut engine = ConvergenceEngine::new().unwrap(); let result = engine.verify_claim("test claim", "test_user").await.unwrap(); // The dream: sub-200ms total verification assert!(result.verification_time.as_millis() < 200); } #[tokio::test] async fn test_impostor_detection() { let mut engine = ConvergenceEngine::new().unwrap(); let result = engine.verify_claim( "I wrote code I never touched", "impostor" ).await.unwrap(); assert!(!result.authentic); assert!(!result.red_flags.is_empty()); } } // The future is 135ms away ⚡

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/8b-is/smart-tree'

If you have feedback or need assistance with the MCP directory API, please join our Discord server