#!/usr/bin/env python3
"""Crack fibonacci specifically"""
import subprocess
import sqlite3

DB = "/mnt/eden_ram/asi_memory.db"
PHI = 1.618033988749895

prompts = [
    "def fibonacci(n):\n    if n <= 1: return n\n    return fibonacci(n-1) + fibonacci(n-2)",
    "Write ONLY this function, no print statements:\ndef fibonacci(n):\n    # return nth fib number (0,1,1,2,3,5,8...)\n    # fibonacci(0)=0, fibonacci(1)=1, fibonacci(10)=55",
]

def test_fib(code):
    tests = [(0, 0), (1, 1), (5, 5), (10, 55)]
    try:
        if '```' in code:
            code = code.split('```')[1].replace('python', '')
        namespace = {}
        exec(code, namespace)
        func = namespace.get('fibonacci')
        if not func:
            for v in namespace.values():
                if callable(v): func = v; break
        
        passed = sum(1 for n, exp in tests if func(n) == exp)
        return passed, 4
    except:
        return 0, 4

# Try direct solution first
direct = """def fibonacci(n):
    if n <= 1:
        return n
    a, b = 0, 1
    for _ in range(2, n + 1):
        a, b = b, a + b
    return b"""

passed, total = test_fib(direct)
print(f"Direct solution: {passed}/{total}")

if passed == total:
    print("✅ Fibonacci SOLVED!")
    conn = sqlite3.connect(DB)
    conn.execute("INSERT OR REPLACE INTO caps VALUES (?,?,?,?)",
        ("verified_fibonacci", direct, 1000 * PHI, 100))
    conn.commit()
    conn.close()
    print("💾 Saved to Eden's brain!")
