"""Live A/B runner: session_search schema variants, extracted from git refs. For each arm, ``tools/session_search_tool.py`` is extracted from a git ref (``git show :tools/session_search_tool.py``) and imported as its own module. A minimal agent loop (OpenRouter, tools API) then runs the shared task battery against a freshly seeded temp session DB. The ONLY variable between arms is that module — schema text, response hints, tool behavior. Usage: python3 evals/session_search_schema/runner.py \ --base origin/main --cand HEAD \ --model qwen/qwen3-coder-30b-a3b-instruct --reps 3 # limit to one task ... --tasks t2_scroll Results append to results/