- _generate_openrouter: log request start, response time, timeout details with httpx.Timeout (connect=15s, rest=AI_REQUEST_TIMEOUT) - All AI functions: log error_type (exception class name) + truncated error - _retry_with_backoff: log each attempt with wait time - Clean rewrite of ai_vision.py