Step through the agent tool-use cycle: model emits tool_calls → runtime executes locally → tool results append → final answer. All mock — no API, no network.