# Where failover sits relative to the tool loop A. failover below the advisor (this module) tool executions: 1 trail: [openai: ok, openai: failed with status 503, claude: ok] answer: Refunded as refund-A17-1 (from claude) what claude was sent: UserMessage, AssistantMessage, ToolResponseMessage B. retry above the advisor (one ChatClient per provider) tool executions: 2 answer: Refunded as refund-A17-2 C. usage across a two-call tool loop (calls reported 120+15 and 160+12) usage on the final ChatResponse: prompt=280 completion=27 usage summed per model call: prompt=280 completion=27 D. the same loop with the first call on a cheaper provider (0.75/3.75 then 2.00/10.00) priced per model call: 587 microdollars total usage at the last provider's price: 830 microdollars