lethe-core-rust 0.1.1

High-performance hybrid retrieval engine combining BM25 lexical search with vector similarity using z-score fusion. Features hero configuration for optimal parity with splade baseline, gamma boosting for code/error contexts, and comprehensive chunking pipeline.
Documentation
#!/usr/bin/env python3
"""
Fix SQLx query! macros by converting them to regular query calls
"""
import os
import re
from pathlib import Path

def fix_query_macros(file_path):
    """Replace sqlx::query! with sqlx::query and fix field access"""
    with open(file_path, 'r') as f:
        content = f.read()
    
    original_content = content
    
    # Replace query! with query
    content = re.sub(r'sqlx::query!\s*\(', 'sqlx::query(', content)
    
    # Fix field access patterns - replace r.field with row.get("field")
    # This is a simple pattern that works for most cases
    content = re.sub(r'\br\.([a-zA-Z_][a-zA-Z0-9_]*)\b', r'row.get("\1")', content)
    
    # Fix some common patterns that might be incorrectly replaced
    content = content.replace('row.get("get")', 'row.get')
    content = content.replace('row.get("try_get")', 'row.try_get')
    
    if content != original_content:
        print(f"Fixed: {file_path}")
        with open(file_path, 'w') as f:
            f.write(content)
        return True
    return False

def main():
    print("🔧 Fixing SQLx query! macros...")
    
    # Find all Rust files in infrastructure crate
    rust_files = []
    for crate_dir in ['crates/infrastructure', 'crates/api', 'crates/cli']:
        if os.path.exists(crate_dir):
            for root, dirs, files in os.walk(crate_dir):
                for file in files:
                    if file.endswith('.rs'):
                        rust_files.append(os.path.join(root, file))
    
    fixed_count = 0
    for file_path in rust_files:
        if 'query!' in open(file_path, 'r').read():
            if fix_query_macros(file_path):
                fixed_count += 1
    
    print(f"✅ Fixed {fixed_count} files with query! macros")

if __name__ == "__main__":
    main()