nor how difficult it would be to automatically report why the contribution was rejected

For this GitHub and Gitlab have hooks so other services can tell whether something is failing. See checks for example here��https://github.com/hpi-swa/smalltalkCI/pull/311#partial-pull-merging (travis, appveyor, coveralls)
��
Peter