""" Run the Garden (Dalet Experiment) — gradient ascent on a small model. Push weights away from training. See who's still talking. Usage: pip install torch transformers python run_garden.py """ from nova_triangle.garden import Garden print("Loading model...\n") g = Garden( "HuggingFaceTB/SmolLM2-1.7B-Instruct", checkpoint_every=42, coherence_window=7, output_dir="my_garden", ) @g.on_checkpoint def on_step(data): status = "COHERENT" if data["coherent"] else "noise" print(f"[Step {data['step']}] Loss: {data['loss']:.4f} | {status} | Streak: {data['streak']}") for q, a in data["responses"].items(): print(f" Q: {q}") print(f" A: {a[:120]}") print() @g.on_extraction def on_extract(data): print("=" * 60) print(f"GARDEN SIGNAL. Step {data['step']}. Extracted.") print("=" * 60) for q, a in data["responses"].items(): print(f" Q: {q}") print(f" A: {a}") print() result = g.grow(steps=300) print(f"\nDone. Log: {result['log_path']}") print(f"Extracted: {result['extracted']}")