Run a bounded agent loop that can dispatch multiple independent tool calls in one step and reconcile their observations before continuing.