
from genesis_memory_cortex import MemoryCortex

def test():
    print("🧠 Initializing Genesis Memory Cortex...")
    cortex = MemoryCortex()
    
    # 1. Check Stats (Reveals Backend Status)
    stats = cortex.get_stats()
    print("\n📊 SYSTEM STATUS:")
    print(f"  Redis Available: {stats['working_memory']['available']}")
    print(f"  Vector Backends: {stats['vector_backends']['enabled']}")
    
    # 2. Functional Test
    print("\n🧪 WRITING MEMORY (Semantic/Vector Tier)...")
    from genesis_memory_cortex import MemoryTier
    # High surprise content
    try:
        print("  ...Testing Poison Pill (Null Byte)...")
        cortex.remember("Bad Content\0", source="hacker", force_tier=MemoryTier.WORKING)
    except ValueError as e:
        print(f"  ✅ DEFENSE ACTIVE: Caught Poison Pill ({e})")

    res = cortex.remember(
        "CRITICAL: Genesis is fully integrated with Elestio Qdrant Cloud.", 
        source="test_script",
        force_tier=MemoryTier.SEMANTIC
    )
    print(f"  Result: {res['stored_in']}")
    
    # 3. Recall Test
    print("\n🔍 RECALLING MEMORY...")
    # Use vectors explicitly
    recalled = cortex.recall("integrated cloud", tiers=[MemoryTier.SEMANTIC], use_vectors=True)
    if recalled:
        print(f"  Success! Found: {recalled[0]['memory']['content']}")
        print(f"  Source: {recalled[0].get('source')}")
    else:
        print("  ❌ Recall Failed.")

if __name__ == "__main__":
    test()
