Feature: LLM smart routing — agent routes messages to correct tools Background: Given user "user_abc123" is in smart mode And run_claude returns "I created the component for you." @vcr Scenario: Agent creates new session for project task Given vcr cassette "agent/routing_new_session.yaml" When user sends agent message "create a React app in todo_app folder" Then agent created a session for user "user_abc123" And reply is not empty @vcr Scenario: Agent answers general question without creating session Given vcr cassette "agent/routing_general_qa.yaml" When user sends agent message "what is a Python generator?" Then no session is created for user "user_abc123" And reply is not empty @vcr Scenario: Agent sends follow-up to existing session Given user has active session "sess01" in "/tmp/proj1" And vcr cassette "agent/routing_follow_up.yaml" When user sends agent message "now add tests for that" Then run_claude was called And reply is not empty @vcr Scenario: Agent answers direct QA without tools when no active session Given no active session for user "user_abc123" And vcr cassette "agent/routing_direct_qa.yaml" When user sends agent message "explain async/await in Python" Then reply is not empty And reply does not contain "Max iterations"