In general I’m looking for technical detail/insight into how XGBoost implements the rank:map
learning objective (maximize mean average precision) in python. For example:

Does the predict method produce probabilities? Or scores? (as discussed in the "Evaluating XGBoost ranking" topic) In my implementation the predicted scores lie between 0 and 1.

Also looking for example implementations of hyperparameter optimization and cross validation for the python implementaton of xgboost pairwise ranking, as these don’t work in an obvious way with the standard
gridsearchCV
sklearn API, for example.